¿Por qué no puedo montar mis volúmenes de Amazon EFS en mis tareas de AWS Fargate?

Última actualización: 21-03-2022

Recibo errores al montar mis volúmenes de Amazon Elastic File System (Amazon EFS) en mis tareas de AWS Fargate.

Resolución

Amazon EFS ofrece una solución de almacenamiento persistente para sus tareas de Fargate para compartir archivos y datos en diferentes tareas.

Es posible que no pueda montar los volúmenes de Amazon EFS en sus tareas de Fargate debido a uno o más de los siguientes motivos:

  • El sistema de archivos de Amazon EFS no se configuró de forma correcta.
  • El rol de IAM de tareas de Amazon Elastic Container Service (Amazon ECS) no cuenta con los permisos requeridos.
  • Hay problemas relacionados con las configuraciones de red y de Amazon Virtual Private Cloud (Amazon VPC).

Es posible que reciba uno de los siguientes errores al intentar montar el volumen EFS en la tarea de Fargate.

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

Aparece este error cuando la tarea de Fargate no puede conectarse al sistema de archivos EFS debido al tiempo de conexión. Para resolver este error, pruebe los siguientes pasos de solución de problemas:

  1. Abra la consola de Amazon EFS.
  2. En el panel de navegación, elija File systems (Sistemas de archivos).
  3. Elija el sistema de archivos que desea comprobar al seleccionar su Nombre o el ID del sistema de archivos.
  4. Elija Network (Red) para mostrar la lista de objetivos de montaje existentes.
  5. Elija Manage (Administrar).
    Podrá ver el grupo de seguridad y las reglas de entrada del grupo de seguridad para los objetivos de montaje.

Asegúrese de que la regla de entrada del grupo de seguridad permita el tráfico del grupo de seguridad de tareas de Fargate en el puerto 2049. Además, compruebe si el tráfico de red está permitido en el nivel de subred al verificar que la lista de control de acceso a la red permita el tráfico entre el sistema de archivos y la tarea. Si el tráfico no está permitido, modifique las reglas en consecuencia. Para obtener más información, consulte VPC con subredes públicas y privadas (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

Aparece este error en las siguientes condiciones:

  • Montó el sistema de archivos EFS inmediatamente después de crear el sistema de archivos.
  • El grupo de seguridad para el objetivo de montaje no permite el tráfico entrante de las tareas de Fargate en el puerto 2049.

Para solucionar este error, haga lo siguiente:

  • Después de crear un objetivo de montaje, los registros DNS pueden tardar hasta 90 segundos en propagarse por completo por una región. Por lo tanto, si va a crear y montar los sistemas de archivos mediante la programación, por ejemplo, con una plantilla de AWS CloudFormation, una práctica recomendada consiste en implementar una condición de espera para evitar este problema.
  • Asegúrese de que la regla de entrada para el grupo de seguridad adjunto a los objetivos de montaje del sistema de archivos EFS permita el tráfico en el puerto 2049 desde las tareas de Fargate.

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

Por lo general, este error se produce en una de las siguientes condiciones:

  • El objetivo de montaje del sistema de archivos EFS no se crea ni está disponible en una zona de disponibilidad en la que se lanzan las tareas de Fargate.
  • Está usando un servidor DNS personalizado para la VPC.

Para resolver este error, intente lo siguiente:

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

Aparece este error cuando la política del sistema de archivos, la política del rol de las tareas o los permisos de nivel del sistema de archivos POSIX deniegan el acceso al sistema de archivos.

El acceso a un sistema de archivos EFS puede controlarse mediante los permisos definidos en la lista de control de acceso a la red, el grupo de seguridad, las políticas del sistema de archivos EFS, la política de IAM del rol de tareas de ECS y el archivo POSIX. Para obtener más información, consulte Developers guide to using Amazon EFS with Amazon ECS and AWS Fargate – Part 2.

Para solucionar este error, compruebe si la política del sistema de archivos o la política de IAM del rol de tareas de ECS deniegan el acceso al sistema de archivos. Si estas políticas deniegan los permisos, modifíquelas para conceder permisos de acceso al sistema de archivos. Si la política del sistema de archivos no existe, el acceso al sistema de archivos se concede de forma predeterminada a todos las entidades principales durante la creación del sistema de archivos.