Por que não consigo montar meus volumes do Amazon EFS em minhas tarefas do AWS Fargate?

Data da última atualização: 21/03/2022

Estou recebendo erros quando monto meus volumes do Amazon Elastic File System (Amazon EFS) em minhas tarefas do AWS Fargate.

Resolução

O Amazon EFS oferece uma solução de armazenamento persistente para que suas tarefas do Fargate compartilhem arquivos e dados entre diferentes tarefas.

Talvez você não consiga montar os volumes do Amazon EFS nas tarefas do Fargate devido a um ou mais dos seguintes motivos:

  • O sistema de arquivos do Amazon EFS não está configurado corretamente.
  • A função do IAM da tarefa do Amazon Elastic Container Service (Amazon ECS) não tem as permissões necessárias.
  • Há problemas relacionados às configurações de rede e Amazon Virtual Private Cloud (Amazon VPC)

Você pode receber um dos seguintes erros ao tentar montar o volume do EFS na tarefa do 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

Você recebe esse erro quando a tarefa do Fargate não consegue se conectar ao sistema de arquivos EFS devido ao tempo de conexão. Para resolver esse erro, tente as seguintes etapas de solução de problemas:

  1. Abra o console do Amazon EFS.
  2. No painel de navegação, escolha Sistemas de arquivos.
  3. Escolha o sistema de arquivos que você deseja verificar escolhendo seu Nome ou o ID do sistema de arquivos.
  4. Escolha Rede para exibir a lista de destinos de montagem existentes.
  5. Escolha Gerenciar.
    Você pode visualizar o grupo de segurança e as regras de entrada do grupo de segurança para os destinos de montagem.

Certifique-se de que a regra de entrada para o grupo de segurança permite o tráfego do grupo de segurança de tarefas Fargate na porta 2049. Além disso, verifique se o tráfego de rede é permitido no nível da sub-rede, verificando se a lista de controle de acesso à rede permite o tráfego entre o sistema de arquivos e a tarefa. Se o tráfego não for permitido, modifique as regras de acordo. Para obter mais informações, consulte VPC com sub-redes públicas e 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

Você recebe esse erro nas seguintes condições:

  • Você montou o sistema de arquivos EFS imediatamente após criar o sistema de arquivos.
  • O grupo de segurança para o destino de montagem não permite tráfego de entrada de tarefas do Fargate na porta 2049.

Para solucionar esse erro, siga estas etapas:

  • Depois de criar um destino de montagem, pode levar até 90 segundos para que os registros DNS se propaguem completamente em uma região. Portanto, se você estiver criando e montando programaticamente os sistemas de arquivos, por exemplo, com um modelo do AWS CloudFormation, é uma prática recomendada implementar uma condição de espera para evitar esse problema.
  • Certifique-se de que a regra de entrada do grupo de segurança anexado aos destinos de montagem do sistema de arquivos EFS permita o tráfego na porta 2049 das tarefas do 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

Esse erro geralmente ocorre em uma das seguintes condições:

  • O destino de montagem do sistema de arquivos EFS não é criado ou está disponível em uma zona de disponibilidade onde as tarefas do Fargate são iniciadas.
  • Você está usando um servidor DNS personalizado para a VPC.

Para resolver esse erro, tente o seguinte:

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

Você recebe esse erro quando o acesso ao sistema de arquivos é negado pela política do sistema de arquivos, política de função de tarefa ou permissões no nível do sistema de arquivos POSIX.

O acesso a um sistema de arquivos EFS pode ser controlado por permissões definidas na lista de controle de acesso à rede, grupo de segurança, políticas do sistema de arquivos EFS, função de tarefa do ECS, política do IAM e arquivo POSIX. Para obter mais informações, consulte o Guia do desenvolvedor para usar o Amazon EFS com o Amazon ECS e o AWS Fargate — Parte 2.

Para solucionar esse erro, verifique se a política do sistema de arquivos ou a política do IAM da função de tarefa do ECS nega acesso ao sistema de arquivos. Se essas políticas negarem permissões, modifique-as para conceder permissões para acessar o sistema de arquivos. Se a política do sistema de arquivos não existir, o acesso ao sistema de arquivos será concedido por padrão a todos os principais durante a criação do sistema de arquivos.