Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Perché non riesco montare i miei volumi Amazon EFS sulle mie attività Amazon ECS?
Quando monto volumi Amazon Elastic File System (Amazon EFS) sulle mie attività Amazon Elastic Container Service (Amazon ECS), ricevo errori.
Breve descrizione
Quando monti volumi Amazon EFS su attività Amazon ECS, configurazioni non corrette delle seguenti impostazioni possono causare errori:
- File system EFS
- Gruppi di sicurezza e liste di controllo degli accessi alla rete (ACL)
- Impostazioni dell'Amazon Virtual Private Cloud (Amazon VPC)
- Impostazioni di Cross VPC quando il volume Amazon EFS si trova in un VPC diverso da quello delle attività
- Policy e autorizzazioni dei ruoli AWS Identity and Access Management (IAM)
Risoluzione
Determina la causa del problema
Utilizza il runbook AWSSupport-TroubleshootECSTaskFailedToStart per individuare il problema. È necessario eseguire il runbook nella stessa regione AWS in cui si trovano le risorse del cluster Amazon ECS. Inoltre, utilizza l'ID dell'attività non riuscita più recente. Se l'attività non riuscita fa parte di un servizio Amazon ECS, utilizza l'ultima attività non riuscita del servizio. L'attività non riuscita deve essere visibile in ECS:DescribeTasks durante l'automazione. Per impostazione predefinita, le attività ECS interrotte sono visibili per 1 ora dopo il passaggio allo stato Interrotta.
In base all'output dell'automazione, utilizza una delle seguenti procedure manuali per la risoluzione dei problemi.
Controlla la configurazione del file system EFS, del gruppo di sicurezza e dell'ACL di rete
Se hai configurato in modo errato il file system EFS, i gruppi di sicurezza o l'ACL di rete, ricevi un errore simile ai seguenti esempi:
"ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: b'mount.nfs4: Connection timed out' : unsuccessful EFS utils command execution; code: 32"
-oppure-
"ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: mount.nfs4: Connection reset by peer : unsuccessful EFS utils command execution; code: 32"
File system EFS
Assicurati di aver creato i target di montaggio del file system EFS e che siano disponibili nella stessa zona di disponibilità e sottorete delle attività.
Per verificare la zona di disponibilità del target di montaggio, completa i seguenti passaggi:
- Apri la console Amazon EFS.
- Nel pannello di navigazione scegli File system.
- Seleziona il file system.
- Scegli Rete per visualizzare l'elenco dei target di montaggio esistenti e la relativa configurazione di rete.
- Annota le zone di disponibilità per la sottorete in cui il file system Amazon EFS ha montato i volumi.
- Apri la console Amazon ECS.
- Nel pannello di navigazione, scegliCluster.
- Seleziona il cluster.
- Seleziona la scheda Attività.
- Scegli l'ID dell'attività.
- In Configurazione, scegli l'ID della sottorete.
Nota: questa azione apre una nuova scheda nel browser sulla console Amazon VPC. - Controlla la zona di disponibilità della sottorete per verificare che corrisponda alla zona di disponibilità del file system Amazon EFS. Se la zona di disponibilità del file system Amazon EFS non corrisponde, crea un target di montaggio nella zona di disponibilità corretta.
Gruppi di sicurezza e ACL di rete
Il gruppo di sicurezza del target di montaggio del file system EFS deve consentire il traffico NFS proveniente dalle attività tramite TCP sulla porta 2049.
Per controllare la porta, completa i seguenti passaggi:
- Apri la console Amazon EFS.
- Nel pannello di navigazione scegli File system.
- Seleziona il file system che desideri controllare.
- Scegli Rete per visualizzare l'elenco dei target di montaggio esistenti e dei gruppi di sicurezza associati. Controlla le regole in entrata per assicurarti che consentano il traffico TCP dagli indirizzi IP delle attività sulla porta 2049.
- (Facoltativo) Per modificare i gruppi di sicurezza associati, scegli Gestisci.
È consigliabile limitare l'accesso alla porta 2049 in base alla provenienza della connessione. Se tutti i client si trovano all'interno di una sottorete specifica, utilizza l'intervallo di indirizzi IP della sottorete. Se tutti i client si trovano all'interno del VPC associato ad Amazon EFS, utilizza il CIDR VPC. Se i client provengono da reti remote, utilizza un intervallo di indirizzi IP che corrisponda a tali reti.
Le sottoreti devono consentire il traffico di rete tra il file system Amazon EFS e le attività Amazon ECS.
Per verificare la configurazione del traffico di rete, completa i seguenti passaggi:
- Apri la console Amazon VPC.
- Nel pannello di navigazione, scegli VPC.
- Seleziona il VPC.
- In Dettagli, per ACL della rete principale, scegli l'ID.
- Assicurati che le regole in entrata e in uscita del VPC consentano il traffico NFS su TCP dagli indirizzi IP delle attività sulla porta 2049.
Verifica la configurazione di Amazon VPC
Se non hai configurato correttamente Amazon VPC, ricevi un errore simile al seguente esempio:
"ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: Failed to resolve "fs-abcdefgxyz.efs.us-east-1.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."
Attiva la risoluzione DNS e i nomi host
Devi attivare la risoluzione DNS e i nomi host DNS nel set di opzioni DHCP (Dynamic Host Configuration Protocol) del VPC.
Nota: per impostazione predefinita, i nomi host DNS sono disattivati.
Assicurati che il server DNS personalizzato sia in grado di risolvere il nome DNS del volume
È consigliabile utilizzare AmazonProvidedDNS per i set di opzioni DHCP del VPC. Se invece utilizzi un server DNS personalizzato, devi configurare un server d'inoltro DNS condizionale nel file di configurazione del server DNS.
Includi le seguenti impostazioni:
- Tutte le richieste DNS alle risorse AWS (\ *.amazonaws.com) devono essere inviate al server DNS predefinito del VPC.
- L'indirizzo IP deve essere l'intervallo CIDR IPV4 privato primario fornito al VPC più due (x.y.z.2) o 169.254.169.253. Ad esempio, per il CIDR 10.0.0.0/16, l'indirizzo IP del server DNS predefinito del VPC è 10.0.0.2.
Configura le impostazioni per un volume Amazon EFS che si trova in un VPC diverso da quello dell'istanza di container
Per montare un volume Amazon EFS da un VPC diverso da quello dell'istanza di container, devi creare una connessione peering VPC tra i VPC.Oppure crea un gateway di transito. Quindi utilizza la seguente soluzione alternativa in base a dove vengono eseguite le attività.
Istanze Amazon EC2
Per le attività eseguite su Amazon Elastic Compute Cloud (Amazon EC2), accedi all'istanza EC2 e installa botocore.
Nota: efs-utils utilizza botocore per interagire con altri servizi AWS. Per i passaggi di installazione, consulta Install botocore (Installazione di botocore) sul sito web di GitHub.
Solo un servizio DNS fornito da Amazon nello stesso VPC del file system EFS può risolvere il nome DNS di Amazon EFS. Per codificare l'indirizzo IP del montaggio Amazon EFS nel file /etc/hosts del computer, esegui il seguente comando:
echo "mount-target-IP-address fs-id.efs.region.amazonaws.com" | sudo tee -a /etc/hosts
Nota: sostituisci mount-target-IP-address con l'indirizzo IP del target di montaggio, fs-id con l'ID del file system EFS e region con la tua Regione. Le risorse esterne al VPC non riescono ancora a risolvere il nome DNS.
Attività Fargate
Nella soluzione alternativa seguente, VPC A è il VPC in cui sono in esecuzione le attività Amazon ECS e in cui si trova il client Amazon EFS. VPC B è il VPC per il volume Amazon EFS. La soluzione alternativa utilizza il Risolutore Amazon Route 53 per non codificare i dati. Per informazioni sui prezzi, consulta Prezzi di Amazon Route 53.
Prerequisiti:
- I VPC A e B utilizzano il servizio DNS fornito da Amazon. Oppure il server DNS personalizzato utilizza un server d'inoltro DNS condizionale nel file di configurazione del server DNS.
- Le regole in entrata del gruppo di sicurezza Amazon EFS consentono il traffico NFS su TCP sulla porta 2049 per il CIDR VPC A.
Se le attività vengono eseguite su AWS Fargate, completa i seguenti passaggi:
- Crea un endpoint in entrata Route 53 nel VPC B e configura le seguenti impostazioni:
In VPC nella Regione region-name, seleziona VPC B.
In Gruppo di sicurezza per questo endpoint, seleziona un gruppo di sicurezza che consenta il traffico TCP e UDP in entrata dal VPC A sulla porta 53.
Per Indirizzi IP, crea due indirizzi IP.
Nota: quando il server risolve il nome DNS, in genere restituisce l'indirizzo IP del punto di montaggio che si trova nella stessa zona di disponibilità del client. Quando utilizzi questa soluzione alternativa, le query DNS provengono dall'endpoint in entrata. Di conseguenza, la zona di disponibilità dell'endpoint in entrata determina l'indirizzo IP restituito.
Per restituire un solo indirizzo IP per il file system EFS, configura un solo punto di montaggio. Oppure inserisci entrambi gli indirizzi IP nella stessa zona di disponibilità. Se selezioni zone di disponibilità diverse, il nome DNS restituisce un indirizzo IP diverso in base all'endpoint in entrata che ha inoltrato la richiesta. - Crea un endpoint in uscita Route 53 nel VPC A e configura le seguenti impostazioni:
In VPC nella Regione region-name, seleziona VPC A.
In Gruppo di sicurezza per questo endpoint, seleziona un gruppo di sicurezza che consenta il traffico TCP e UDP in uscita verso il VPC B sulla porta 53. - Crea una regola del risolutore Route 53 per inoltrare le query DNS per il nome DNS di Amazon EFS all'Amazon DNS nel VPC B.
Configura le seguenti impostazioni:
In Nome del dominio, inserisci il nome DNS completo del file system EFS, ad esempio fs-abcdef.efs.eu-west-1.amazonaws.com.
In VPC che utilizzano questa regola, seleziona VPC A.
Per Endpoint in uscita, seleziona l'endpoint in uscita nel VPC A.
Per Indirizzi IP come target, inserisci i due indirizzi IP per l'endpoint in entrata Route 53 nel VPC B. - Per verificare di poter montare il volume Amazon EFS con il nome DNS, esegui i seguenti comandi dal client:
sudo mount.efs fs-abcdefxyz /mnt
Nota: sostituisci region con la tua Regione e fs-abdcexzy con l'ID del volume del file system.dig fs-abcdefxyz.efs.region.amazonaws.com
Controlla le policy e le autorizzazioni del ruolo IAM
Se hai problemi con le policy e le autorizzazioni del ruolo IAM, ricevi un errore simile ai seguenti esempi:
"ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: b'mount.nfs4: access denied by server while mounting 127.0.0.1:/' : unsuccessful EFS utils command execution; code: 32"
-oppure-
"ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: b'mount.nfs4: mounting fs-xxx.efs.us-east-1.amazonaws.com:/dir failed, reason given by server: No such file or directory' : unsuccessful EFS utils command execution; code: 32"
Le autorizzazioni definite nelle seguenti risorse potrebbero controllare l'accesso al file system EFS:
- Policy IAM del ruolo dell'attività Amazon ECS
- Policy del file system EFS
- Autorizzazioni POSIX assegnate al punto di accesso
- ACL di rete e gruppi di sicurezza
Nota: per controllare le ACL di rete e i gruppi di sicurezza, consulta la sezione Gruppi di sicurezza e ACL di rete.
Verifica le autorizzazioni delle attività Amazon ECS
Nota: per identificare l'ID del ruolo di esecuzione dell'attività, controlla il valore executionRoleARN nel file JSON della definizione dell'attività. Per ulteriori informazioni sull'accesso al file JSON, consulta Fase 5: creazione di una definizione di attività.
Assicurati che il ruolo di esecuzione delle attività Amazon ECS disponga delle autorizzazioni necessarie per individuare e montare un file system Amazon EFS nell'attività.
Completa i seguenti passaggi:
- Apri la console IAM.
- Dal pannello di navigazione, scegli Ruoli.
- Nella barra di ricerca, inserisci il nome del ruolo di esecuzione dell'attività, quindi scegli il ruolo di esecuzione dell'attività.
- Scegli Policy di autorizzazione per espandere tutte le policy collegate. Assicurati che l'elenco includa le seguenti autorizzazioni:
elasticfilesystem:ClientMount
elasticfilesystem:ClientWrite
elasticfilesystem:DescribeMountTargets
elasticfilesystem:DescribeFileSystems
Per aggiungere le autorizzazioni al ruolo di esecuzione dell'attività, completa i seguenti passaggi:
- Apri la console IAM.
- Nel pannello di navigazione, scegli Policy.
- Scegli Crea policy.
- In Servizio, scegli EFS.
- Espandi la sezione Actions allowed (Azioni consentite).
- Seleziona le autorizzazioni ClientMount, ClientWrite, DescribeMountTargets e DescribeFileSystems.
- Seleziona le risorse su cui il ruolo può eseguire queste azioni, quindi scegli Avanti.
- Inserisci il nome e la descrizione della policy, quindi scegli Crea policy.
- Dal pannello di navigazione, scegli Ruoli.
- Nella barra di ricerca, inserisci il nome del ruolo di esecuzione dell'attività, quindi scegli il ruolo di esecuzione dell'attività.
- Scegli Aggiungi autorizzazioni, quindi scegli Collega policy.
- Seleziona la nuova policy.
- Scegli Aggiungi autorizzazioni.
Controlla la policy del file system EFS
Completa i seguenti passaggi:
-
Apri la console Amazon EFS.
-
Scegli File system, quindi seleziona il file system.
-
Assicurati che la policy del file system consenta al ruolo di esecuzione dell'attività di montare il volume EFS.
Esempio di policy:{ "Version": "2012-10-17", "Statement": [ { "Sid": "ECS Tasks - EFS Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/ecs-task-execution-role-name" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite", "elasticfilesystem:DescribeMountTargets", "elasticfilesystem:DescribeFileSystems", ] } ] }
-
Per aggiungere altre autorizzazioni IAM alla policy, aggiungi una nuova policy del file system. Oppure aggiungi istruzioni per consentire ai client di modificare la policy esistente utilizzando il volume Amazon EFS.
Controlla le autorizzazioni POSIX
Se utilizzi punti di accesso con un percorso di directory root personalizzato, assicurati di disporre delle autorizzazioni per creare la directory root e l'utente POSIX. Per ulteriori informazioni sulla risoluzione dei problemi, consulta Montaggio con punti di accesso non riuscito.
Informazioni correlate
Gestione dei target di montaggio
Il montaggio del file system ha esito negativo immediatamente dopo la creazione del file system
Developers guide to using Amazon EFS with Amazon ECS and AWS Fargate – part 2 (Guida per sviluppatori all'uso di Amazon EFS con Amazon ECS e AWS Fargate – parte 2)

Contenuto pertinente
- AWS UFFICIALEAggiornata un anno fa