Salta al contenuto

Come posso risolvere i problemi relativi a un'attività ECS che non si avvia a causa di problemi con un nome DNS del file system EFS?

3 minuti di lettura
0

Desidero risolvere i problemi relativi alla mia attività Amazon Elastic Container Service (Amazon ECS) che non si avvia. L'attività non si avvia a causa di problemi con il nome DNS del mio file system Amazon Elastic File System (Amazon EFS).

Breve descrizione

Quando fai riferimento al file system EFS e al punto di montaggio del container nella definizione di un'attività ECS, ECS monta il file system nel container. Quando utilizzi la definizione dell'attività ECS con un montaggio di volume EFS per eseguire un'attività ECS, l'attività ha esito negativo con il seguente errore:

"ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: Failed to resolve "fs-<id>.efs.<region>.amazonaws.com" - check that your file system ID is correct, and ensure that the VPC has an EFS mount target for this file system ID. See https://docs.aws.amazon.com/console/efs/mount-dns-name for more detail. Attempting to lookup mount target ip address using botocore. Failed to import necessary dependency botocore, please install botocore first."

L'errore si verifica per i seguenti motivi:

  • Utilizzi un nome di dominio e server personalizzati nel cloud privato virtuale (VPC) anziché AmazonProvidedDNS.
  • I nomi host DNS del VPC sono disattivati.
  • Il file system EFS non ha destinazioni di montaggio o le destinazioni non si trovano nella stessa zona di disponibilità delle attività ECS.

Quando il nome DNS non risolve un file system EFS, ECS utilizza gli strumenti efs-util per installare botocore e recuperare l'indirizzo IP della destinazione di montaggio. Poiché per impostazione predefinita botocore non è installato sulle AMI ottimizzate per ECS, l'operazione ha esito negativo.

Risoluzione

Hai un nome di dominio e server personalizzati nel VPC

Per attività eseguite su Amazon EC2

Nota: questi passaggi si applicano solo a istanze Amazon EC2.

1.    Utilizza SSH per connetterti all'istanza di container. Per installare botocore, esegui questo comando:

 sudo pip3 install botocore --upgrade

Installa botocore durante l'avvio dell'istanza come parte degli UserData che configuri nel gruppo Auto Scaling per le istanze di container.

2.    Aggiungi le seguenti autorizzazioni al ruolo AWS Identity and Access Management (AWS IAM) per l'istanza di container:

 elasticfilesystem:DescribeMountTargets
 ec2:DescribeAvailabilityZones

Per le attività eseguite su Fargate

Per consentire ai server dei nomi di dominio personalizzati di risolvere le risorse AWS, configura l'inoltro DNS condizionale.

Nota: nel caso delle istanze AWS Fargate, non puoi accedere all'istanza per installare botocore e devi utilizzare la risoluzione dei nomi DNS.

I nomi host DNS del VPC sono disattivati

Per esaminare gli attributi DNS, completa i passaggi in Attributi DNS per il VPC. Se i nomi host DNS sono disattivati, attivali e controlla se le attività ECS sono in esecuzione.

Il file system EFS non ha destinazioni di montaggio o le destinazioni non si trovano nella stessa zona di disponibilità delle attività ECS

Il file system EFS deve avere destinazioni di montaggio e le destinazioni devono trovarsi nella stessa zona di disponibilità delle attività ECS. Per ulteriori informazioni, consulta Creazione e gestione delle destinazioni di montaggio e dei gruppi di sicurezza.

Informazioni correlate

Using botocore to retrieve the mount target IP address when the DNS name cannot be resolved (Utilizzo di botocore per recuperare l'indirizzo IP della destinazione di montaggio quando il nome DNS non può essere risolto) sul sito web GitHub

AWS UFFICIALEAggiornata 2 anni fa