Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Como soluciono problemas em minhas implantações com falha do Amazon ECS?
Quero solucionar o problema por trás da falha na implantação do Amazon Elastic Container Service (Amazon ECS).
Breve descrição
Quando você tenta implantar uma nova aplicação, o Amazon ECS pode encontrar um impasse de implantação. As tarefas mais antigas continuam sendo implantadas, mas as novas não conseguem atingir um estado estável. Suas implantações do Amazon ECS podem falhar devido aos seguintes problemas:
- Restrições de recursos
- Problemas com a imagem de contêiner
- Problemas de rede
- Problemas de definição de tarefas
- Amazon CloudWatch Logs
- Configuração da verificação de integridade
Resolução
Observação: Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Restrições de recursos
Sua implantação do serviço Amazon ECS pode falhar quando não há capacidade suficiente de CPU ou memória disponível onde você implanta sua tarefa. Uma restrição de recursos ocorre quando o erro RESOURCE:* está em seus eventos de serviço e as tarefas do Amazon ECS não passam para o estado Em execução.
Para resolver esse problema, execute as seguintes ações:
- Use as métricas do Amazon CloudWatch para monitorar a capacidade de recursos do seu cluster do Amazon ECS.
- Configure o Container Insights para obter métricas detalhadas sobre o uso de recursos a nível de tarefa e contêiner.
- Certifique-se de que suas configurações de grupo do Auto Scaling estejam alinhadas com seus requisitos de workload para seus clusters do tipo de inicialização do Amazon Elastic Compute Cloud (Amazon EC2). Monitore a capacidade da instância e configure políticas de escalabilidade com base no uso da CPU, uso da memória ou métricas personalizadas.
- Analise a capacidade de interface de rede elástica da sua tarefa do Amazon ECS para seu modo de rede awsvpc. Use tipos de instância com limites mais altos de interface de rede elástica para implantações densas. Cada tarefa exige sua própria interface de rede elástica. Use o planejamento CIDR e monitore sua interface de rede elástica para garantir que endereços IP suficientes estejam disponíveis quando você iniciar sua tarefa do Amazon ECS.
Para verificar os recursos disponíveis em instâncias de contêiner, execute o comando list-container-instances da AWS CLI:
aws ecs list-container-instances --cluster your-cluster-name
Observação: substitua your-cluster-name pelo nome do cluster.
Em seguida, execute o comando describe-container-instances:
aws ecs describe-container-instances --cluster your-cluster-name --container-instances container-instance-id
Observação: substitua your-cluster-name pelo nome do cluster e container-instance-id pelo ID da instância do contêiner.
Problemas com a imagem de contêiner
Quando o Amazon ECS não consegue extrair imagens de um repositório de recursos, as tarefas falham com um erro CannotPullContainerError em seus eventos de serviço. É possível ver tarefas relacionadas nos logs do agente da sua instância de contêiner.
Para resolver esse erro, confirme as seguintes configurações de definição de tarefa em sua tarefa do Amazon ECS e a configuração de rede do serviço:
-
Configure o URI da imagem de contêiner.
No Amazon Elastic Container Registry (Amazon ECR), confirme se a imagem corresponde ao seguinte formato de nome de arquivo:account-id.dkr.ecr.region.amazonaws.com/repository-name:tag
Observação: substitua account-id pelo ID da sua conta, region pela sua região da AWS e repository-name pelo nome do seu repositório.
No Docker Hub, confirme se a imagem corresponde ao seguinte formato de nome de arquivo:
repository/image:tag
Observação: substitua repository pelo nome do seu repositório.
-
Verifique se o perfil do IAM de execução de tarefas do Amazon ECS tem a permissão AmazonECSTaskExecutionRolePolicy anexada.
-
Confirme se não há espaços reservados de ambiente ausentes ou incorretos em sua definição de tarefa.
-
Ao implantar o serviço do Amazon ECS em uma sub-rede privada, associe os endpoints da VPC à mesma sub-rede e grupo de segurança.
Em endpoints de interface:
No Amazon ECS, use com.amazonaws.region.ecs.
No CloudWatch Logs, use com.amazonaws.us-east-1.logs.
No Amazon ECR (Docker), use com.amazonaws.us-east-1.ecr.dkr.
Na API do Amazon ECR, use com.amazonaws.us-east-1.ecr.api.
Em endpoints do Gateway:
No Amazon S3, use com.amazonaws.us-east-1.s3.
Problemas de rede
Os problemas de rede ocorrem quando os contêineres não conseguem se comunicar com serviços externos, a descoberta de serviços falha ou as tarefas não conseguem alcançar os endpoints necessários. Você pode receber erros de tempo limite nos logs da aplicação, falhas na resolução de DNS ou problemas de conectividade entre contêineres e outros serviços da AWS. Para resolver esse problema, execute as seguintes ações.
- Verifique se as regras de entrada do seu serviço do Amazon ECS permitem o tráfego para seus contêineres.
- Confirme se as regras do grupo de segurança estão configuradas corretamente entre os serviços.
- Confirme se as sub-redes públicas têm rotas para a internet por meio de um gateway da internet.
- Verifique as configurações do gateway NAT para sub-redes privadas.
- Verifique se os intervalos CIDR têm endereços IP suficientes disponíveis nas sub-redes.
- Nos Application Load Balancers configurados, certifique-se de que o grupo de segurança do Application Load Balancer permita uma regra de entrada no grupo de segurança.
CloudWatch Logs
Para revisar os CloudWatch Logs para solucionar uma falha na tarefa do Amazon ECS, conclua as seguintes etapas:
- Abra o console do Amazon ECS.
- No painel de navegação, escolha Clusters.
- Selecione o cluster.
- Escolha a guia Tarefas.
- Selecione o ID da tarefa que falhou.
- Verifique o status de Parado para determinar por que o contêiner falhou.
Observação: os logs da tarefa interrompida estão disponíveis somente por uma hora após a interrupção da tarefa do ECS. - Solucione a falha do seu contêiner.
Configuração da verificação de integridade
Revise as seguintes configurações de verificação de integridade em seu Application Load Balancer ou Network Load Balancer:
- Confirme se a configuração HealthCheckTimeoutSeconds é longa o suficiente para que seu contêiner funcione corretamente. Se a tarefa do ECS falhar na verificação de integridade do balanceador de carga em um curto período de tempo, modifique esse valor.
- Certifique-se de que a configuração HealthCheckGracePeriodSeconds seja longa o suficiente para que seu contêiner seja iniciado.
- Verifique se o contêiner da aplicação responde com o código de status 200 no HealthCheckPath configurado no balanceador de carga. Para mais informações, consulte a configuração HealthCheckPath em Verificações de integridade para grupos-alvo do Application Load Balancer.
Para encontrar falhas nas verificações de integridade, conclua as seguintes etapas:
- Abra o console do Amazon EC2.
- No painel de navegação, expanda Balanceamento de carga e selecione Grupos de destino.
- Selecione o Nome do grupo de destino.
- Analise os Detalhes do seu grupo-alvo para ver se há instâncias íntegras e não íntegras.
Para solucionar problemas de instâncias não íntegras, consulte Solucionar problemas com os Application Load Balancers.
Informações relacionadas

Conteúdo relevante
- feita há 4 meseslg...
- feita há 2 meseslg...
- Resposta aceitafeita há 3 meseslg...
- feita há 2 meseslg...
- AWS OFICIALAtualizada há 2 meses