Como soluciono problemas de tarefas do Amazon ECS para o Fargate que estão presas no estado PENDENTE?

4 minuto de leitura
0

Minha tarefa do Amazon Elastic Container Service (Amazon ECS) que está sendo executada no AWS Fargate está presa no estado PENDENTE.

Resolução

Verifique quais rotas para a Internet suas sub-redes estão usando

Para tarefas do Fargate em uma sub-rede pública:

Verifique se sua tarefa do Fargate tem um endereço IP público atribuído e uma rota padrão (0.0.0.0/0) para um gateway da Internet. Para fazer isso, marque a caixa de seleção Ativar atribuição automática de endereço IPv4 público ao iniciar sua tarefa ou criar um novo serviço. Para obter mais informações, consulte Endereços IPv4 públicos.

Observação: Você não pode marcar a caixa de seleção Ativar atribuição automática de endereço IPv4 público para tarefas ou serviços existentes.

Para tarefas do Fargate em uma sub-rede privada:

Verifique se sua tarefa do Fargate tem uma rota padrão (0.0.0.0/0) para um gateway NAT, AWS PrivateLink ou outra fonte de conectividade com a Internet.

  • Se você estiver usando um gateway NAT, coloque-o em uma sub-rede pública. Para obter mais informações, consulte Arquitetura com um gateway da Internet e um gateway NAT.
  • Se você estiver usando o AWS PrivateLink, confirme se sua infraestrutura do Fargate tem permissão para usar grupos de segurança para seus endpoints da Amazon Virtual Private Cloud (Amazon VPC).

Verifique a lista de controle de acesso à rede e as configurações do grupo de segurança

Verifique se a lista de controle de acesso à rede (ACL da rede) e os grupos de segurança não bloqueiam o acesso de saída à porta 443 a partir da sub-rede. Para obter mais informações, consulte Controlar o tráfego para recursos usando grupos de segurança.

Observação: As tarefas do Fargate devem ter acesso de saída à porta 443 para ativar o tráfego de saída e alcançar os endpoints do Amazon ECS.

Verificar endpoints da VPC

Se você estiver usando o AWS PrivateLink, confirme se tem os endpoints necessários.

Endpoints necessários para as versões 1.3.0 ou anteriores da plataforma Fargate:

  • com.amazonaws.region.ecr.dkr
  • Endpoint do gateway S3

Endpoints necessários para as versões 1.4.0 ou posteriores da plataforma Fargate:

  • com.amazonaws.region.ecr.dkr
  • com.amazonaws.region.ecr.api
  • Endpoint do gateway S3

Observação: Se sua definição de tarefa usa o AWS Secrets Manager, parâmetros SSM ou Amazon CloudWatch Logs, talvez seja necessário definir endpoints. Para obter mais informações, consulte Uso de um endpoint da VPC do AWS Secrets Manager e Uso do CloudWatch Logs com endpoints da VPC de interface.

Ao usar o PrivateLink, confirme se os grupos de segurança de seus endpoints da VPC permitem que a infraestrutura do Fargate use esses grupos de segurança.

Verificar perfis e permissões do AWS Identity and Access Management (IAM)

O perfil de execução da tarefa concede ao contêiner do Amazon ECS e aos agentes do Fargate permissão para fazer chamadas de API da AWS em seu nome. Esse perfil é exigido pelo Fargate quando você:

  • Extrai uma imagem de contêiner do Amazon Elastic Container Registry (Amazon ECR)
  • Usa o driver de log awslogs
  • Usa a autenticação de registro privado
  • Faça referência a dados confidenciais usando segredos do Secrets Manager ou parâmetros do AWS Systems Manager Parameter Store

Se seu caso de uso envolver qualquer um dos cenários anteriores, confirme se você tem as permissões corretas definidas em seu perfil de execução de tarefas. Para obter uma lista completa das permissões necessárias, consulte o perfil do IAM de execução de tarefas do Amazon ECS.

Verificar se há problemas ao extrair a imagem

Se você receber um erro cannotpullcontainer para sua tarefa do Fargate, conclua as etapas em Como resolvo o erro “cannotpullcontainererror” para minhas tarefas do Amazon ECS no Fargate?

VPC no modo de pilha dupla

Ao usar uma VPC no modo de pilha dupla com o Fargate, você pode configurar sua VPC com um gateway da Internet ou um gateway da Internet somente de saída para tarefas às quais um endereço IPv6 é atribuído para acessar a Internet. Para obter mais informações, consulte Como usar uma VPC no modo de pilha dupla.

Observação: Para solucionar seu problema, você também pode usar o Amazon ECS Exec para recuperar os logs da instância de contêiner da sua tarefa ou serviço.

A dependência do contêiner é definida

Uma dependência de contêiner na Definição da tarefa pode fazer com que a tarefa do Fargate fique no estado PENDENTE indefinidamente. Exemplo: Se o containerA depender de determinado estado do containerB, espera-se que o containerA permaneça no estado PENDENTE até que o containerB atinja esse estado. Mas se o containerB nunca atingir o estado desejado, a tarefa permanecerá no estado PENDENTE indefinidamente. Certifique-se de ter as dependências adequadamente ou avalie-as.

Para obter mais informações, consulte Dependência de contêineres.


AWS OFICIAL
AWS OFICIALAtualizada há um ano