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

7 minutos de lectura
0

Cuando monto mis volúmenes de Amazon Elastic File System (Amazon EFS) en mis tareas de AWS Fargate, aparecen errores.

Breve descripción

Amazon EFS proporciona una solución de almacenamiento persistente para que sus tareas de Fargate compartan archivos y datos entre diferentes tareas.

Los siguientes problemas pueden impedirle montar los volúmenes de Amazon EFS en sus tareas de Fargate:

  • El sistema de archivos Amazon EFS no está configurado correctamente.
  • El rol de AWS Identity and Access Management (IAM) para la tarea de Amazon Elastic Container Service (Amazon ECS) no tiene los permisos necesarios.
  • Hay problemas relacionados con la configuración de la red y de Amazon Virtual Private Cloud (Amazon VPC).

Para solucionar los errores de las tareas de Amazon Elastic Container Service (Amazon ECS) que no se inician, utilice el runbook AWSSupport-TroubleshootECSTaskFailedToStart. A continuación, consulte los pasos de solución de problemas pertinentes para su problema.

Resolución

Búsqueda de la tarea que no se ha podido iniciar

Importante:

  • Utilice el runbook AWSSupport-TroubleshootECSTaskFailedToStart en la misma región de AWS en la que se encuentran los recursos del clúster de ECS.
  • Cuando utilice el runbook, debe usar el ID de la tarea que ha fallado más recientemente. Si la tarea que ha fallado forma parte de un servicio de Amazon ECS, utilice la tarea del servicio que haya fallado más recientemente. La tarea que ha fallado debe estar visible en ECS:DescribeTasks durante la ejecución de la automatización. De forma predeterminada, las tareas de ECS detenidas están visibles durante 1 hora después de entrar en el estado Detenido. El uso del identificador de la tarea que ha fallado más recientemente evita que la limpieza del estado de la tarea interrumpa el análisis durante la automatización.

Para obtener instrucciones sobre cómo iniciar el runbook, consulte AWSSupport-TroubleshootECSTaskFailedToStart. Dependiendo del resultado de la automatización, use uno de los siguientes pasos manuales de solución de problemas.

Solución de los problemas de la tarea en función del mensaje de error

Al intentar montar el volumen de EFS en la tarea de Fargate, es posible que aparezca uno de los errores siguientes:

«ResourceInitializationError: no se han podido invocar los comandos utils de EFS para configurar los volúmenes de EFS: stderr: b'mount.nfs4: Se ha agotado el tiempo de espera de la conexión': ejecución fallida del comando utils de EFS; código: 32»

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

  1. Abra la consola de Amazon EFS.
  2. En el panel de navegación, seleccione Sistemas de archivos.
  3. Elija el sistema de archivos que desee comprobar mediante la selección de su nombre o el ID del sistema de archivos.
  4. Seleccione Red para mostrar la lista de los destinos de montaje existentes.
  5. Seleccione Administrar.

Puede ver el grupo de seguridad y las reglas de entrada del grupo de seguridad de los destinos de montaje.

Asegúrese de que la regla de entrada del grupo de seguridad permita el tráfico desde el grupo de seguridad de tareas de Fargate en el puerto 2049. Confirme que el tráfico de red está permitido en el nivel de subred. Para ello, compruebe 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 Seguridad en Amazon Virtual Private Cloud.

«ResourceInitializationError: no se han podido invocar los comandos utils de EFS para configurar los volúmenes de EFS: stderr: mount.nfs4: Conexión restablecida por el interlocutor: ejecución fallida del comando utils de EFS; código: 32»

Aparece este error por uno de los motivos siguientes:

  • Montó el sistema de archivos EFS inmediatamente después de crearlo.
  • El grupo de seguridad del destino de montaje no permite el tráfico de entrada de las tareas de Fargate en el puerto 2049.
  • Utiliza AWS App Mesh y la salida al puerto 2049 está bloqueada debido a las reglas de proxy.

Para solucionar este error, siga estos pasos:

  • Tras crear un destino de montaje, los registros de DNS pueden tardar hasta 90 segundos en propagarse por completo en una región de AWS. Si crea y monta los sistemas de archivos mediante programación con, por ejemplo, una plantilla de AWS CloudFormation, implemente una condición de espera.
  • Confirme que la regla del grupo de seguridad de entrada que se vincula a los destinos de montaje del sistema de archivos EFS permite el tráfico en el puerto 2049 desde las tareas de Fargate.
  • Si utiliza App Mesh, asegúrese de que la configuración de proxy que se especifica en TaskDefinition incluya 2049 como EgressIgnoredPorts.

«ResourceInitializationError: no se han podido invocar los comandos utils de EFS para configurar los volúmenes de EFS: stderr: No se ha podido resolver “fs-xxxxxxxxxxx.efs.us-east-1.amazonaws.com”: compruebe que el ID de su sistema de archivos sea correcto»

Aparece este error por uno de los motivos siguientes:

  • El destino de montaje del sistema de archivos EFS no se ha creado o no está disponible en una zona de disponibilidad en la que se inician las tareas de Fargate.
  • Está utilizando un servidor DNS personalizado para la VPC.
  • Los nombres de host de DNS de la VPC están desactivados. Los nombres de host de DNS están desactivados de forma predeterminada.

Para resolver este error, siga estos pasos:

«ResourceInitializationError: no se han podido invocar los comandos utils de EFS para configurar los volúmenes de EFS: stderr: b'mount.nfs4: acceso denegado por el servidor durante el montaje de 127.0.0.1:/': ejecución fallida del comando utils de EFS; código: 32»

Aparece este error cuando las siguientes políticas y permisos deniegan el acceso al sistema de archivos:

  • La política del sistema de archivos
  • La política de roles de la tarea
  • Los permisos de nivel del sistema de archivos POSIX

El acceso a un sistema de archivos EFS puede controlarse mediante los permisos que se definen en los recursos siguientes:

  • La lista de control de acceso a la red
  • Grupos de seguridad
  • Políticas del sistema de archivos EFS
  • Política de IAM del rol de tarea de ECS
  • Un archivo POSIX

Para obtener más información, consulte la guía para desarrolladores sobre el uso de Amazon EFS con Amazon ECS y AWS Fargate, parte 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 todas las entidades principales durante la creación.

Información relacionada

Creación de sistemas de archivos Amazon EFS

Creación y administración de destinos de montaje y grupos de seguridad

¿Cómo puedo montar un sistema de archivos de Amazon EFS en un contenedor o tarea de Amazon ECS que se ejecuta en Fargate?

El montaje del sistema de archivos falla inmediatamente después de la creación del sistema de archivos

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años