Perché non posso montare i volumi di Amazon EFS nelle mie attività AWS Fargate?

Ultimo aggiornamento: 22/12/2022

Ricevo errori quando monto i volumi di Amazon Elastic File System (Amazon EFS) nelle mie attività AWS Fargate.

Risoluzione

Amazon EFS fornisce una soluzione di archiviazione persistente per le attività Fargate per condividere file e dati tra diverse attività.

Potresti non essere in grado di montare i volumi Amazon EFS sulle attività Fargate per uno o più dei seguenti motivi:

  • Il file system Amazon EFS non è configurato correttamente.
  • Il ruolo IAM delle attività Amazon Elastic Container Service (Amazon ECS) non dispone delle autorizzazioni necessarie.
  • Si sono verificati problemi relativi alle rete e alle configurazioni di Amazon Virtual Private Cloud (Amazon VPC).

Quando provi a montare il volume EFS sull'attività Fargate, potresti ricevere uno dei seguenti errori.

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 (ResourceInitializationError: impossibile richiamare i comandi EFS utils per impostare i volumi EFS: stderr: b'mount.nfs4: connessione scaduta': esecuzione del comando EFS utils non riuscita; codice: 32)

Il precedente errore viene visualizzato quando l'attività Fargate non riesce a connettersi al file system EFS a causa dei tempi di connessione. Per risolvere l'errore, prova le seguenti fasi di risoluzione dei problemi:

1.    Apri la console Amazon EFS.

2.    Nel pannello di navigazione, scegli File systems.

3.    Scegli il file system che desideri controllare scegliendo il Nome o l'ID del file system.

4.    Scegli Network (Rete) per visualizzare l'elenco delle destinazioni di montaggio esistenti.

5.    Scegli Manage (Gestisci).
Puoi visualizzare il gruppo di sicurezza e le sue regole in entrata per le destinazioni di montaggio.

Assicurati che la regola in entrata del gruppo di sicurezza permetta il traffico dal gruppo di sicurezza delle attività Fargate sulla porta 2049. Verifica che il traffico di rete sia consentito a livello di sottorete. Per farlo, controlla che la lista di controllo degli accessi alla rete consenta il traffico tra il file system e l'attività. Se il traffico non è consentito, modifica le regole di conseguenza. Per ulteriori informazioni, consulta la sezione Sicurezza nella documentazione sui VPC con sottoreti pubbliche e private (NAT).

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 (ResourceInitializationError: impossibile richiamare i comandi EFS utils per impostare i volumi EFS: stderr: mount.nfs4: ripristino della connessione tramite peer: esecuzione del comando EFS utils non riuscita; codice: 32)

Il precedente errore viene visualizzato per uno dei seguenti motivi:

  • Il file system EFS è stato montato subito dopo la sua creazione.
  • Il gruppo di sicurezza per la destinazione di montaggio non permette il traffico in entrata dalle attività Fargate sulla porta 2049.
  • Stai utilizzando AWS App Mesh e l'uscita verso la porta 2049 è bloccata a causa delle regole proxy.

Per risolvere questo errore, completa le seguenti fasi:

  • Dopo aver creato una destinazione di montaggio, potrebbero essere necessari fino a 90 secondi prima che i record DNS si propaghino completamente in una Regione AWS. Se stai creando e montando a livello di programmazione i file system, ad esempio con un modello di AWS CloudFormation, è consigliabile implementare una condizione di attesa.
  • Verifica che la regola del gruppo di sicurezza in entrata collegata alle destinazioni di montaggio del file system EFS permetta il traffico sulla porta 2049 dalle attività Fargate.
  • Se utilizzi AppMesh, assicurati che la configurazione del proxy specificata in TaskDefinition includa 2049 come EgressIgnoredPorts.

ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: Failed to resolve "fs-xxxxxxxxxxx.efs.us-east-1.amazonaws.com" - check that your file system ID is correct (ResourceInitializationError: impossibile richiamare i comandi EFS utils per impostare i volumi EFS: stderr: Impossibile risolvere "fs-xxxxxxxxxxx.efs.us-east-1.amazonaws.com" - verifica che l'ID del file system sia corretto)

Il precedente errore viene visualizzato per uno dei seguenti motivi:

  • La destinazione di montaggio del file system EFS non è stata creata o non è disponibile in una zona di disponibilità in cui vengono avviate le attività Fargate.
  • Stai utilizzando un server DNS personalizzato per il VPC.
  • Gli hostname DNS VPC sono disattivati. Gli hostname DNS sono disattivati per impostazione predefinita.

Per risolvere l'errore, prova le seguenti fasi:

  • Assicurati che la destinazione di montaggio del file system EFS si trovi nella stessa zona di disponibilità dell'attività Fargate. È possibile visualizzare la zona di disponibilità, la sottorete ed il gruppo di sicurezza della destinazione di montaggio nella console di Amazon EFS. Quindi, verifica che la destinazione di montaggio utilizzi la stessa zona di disponibilità e la stessa sottorete dell'attività Fargate.
  • Se hai specificato un server DNS personalizzato per le opzioni DHCP del VPC anziché AmazonProvidedDNS, assicurati di configurare server di inoltro DNS condizionali. I server di inoltro DNS devono inviare le query DNS delle risorse AWS (*.amazonaws.com) al server DNS predefinito del VPC all'indirizzo VPC CIDR .2 o 169.254.169.253. Per ulteriori informazioni, consulta How to Set Up DNS Resolution Between On-Premises Networks and AWS Using AWS Directory Service and Microsoft Active Directory (Come impostare la risoluzione DNS tra le reti on-premise e AWS utilizzando il Servizio di directory AWS e Microsoft Active Directory).

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 (ResourceInitializationError: impossibile richiamare i comandi EFS utils per impostare i volumi EFS: stderr: b'mount.nfs4: accesso negato dal server durante il montaggio 127.0.0.1: /': esecuzione del comando EFS utils non riuscita; codice: 32)

Il precedente errore viene visualizzato quando l'accesso al file system è negato dalle seguenti policy e autorizzazioni:

  • La policy del file system
  • La policy del ruolo dell'attività
  • Le autorizzazioni a livello di file system POSIX

L'accesso a un file system EFS potrebbe essere controllato da autorizzazioni definite nelle seguenti risorse:

  • Lista di controllo degli accessi alla rete
  • Gruppi di sicurezza
  • Policy del file system EFS
  • Policy IAM del ruolo dell'attività ECS
  • Un file POSIX

Per ulteriori informazioni, consulta Developers guide to using Amazon EFS with Amazon ECS and AWS Fargate – Part 2 (Guida per sviluppatori all'utilizzo di Amazon EFS con Amazon ECS e AWS Fargate - Parte 2).

Per risolvere questo errore, controlla che la policy del file system o la policy IAM del ruolo dell'attività ECS neghi l'accesso al file system. Se queste policy negano le autorizzazioni, modificale affinché concedano le autorizzazioni per accedere al file system. Se la policy del file system non esiste, l'accesso al file system viene concesso per impostazione predefinita a tutti i principali durante la creazione.