Ir para o conteúdo

Por que minha tarefa do Amazon ECS foi interrompida?

7 minuto de leitura
0

Quero solucionar minha tarefa do Amazon Elastic Container Service (Amazon ECS) que foi interrompida.

Resolução

Use a API DescribeTasks para ver os detalhes de uma tarefa interrompida. Para solucionar problemas de sua tarefa, verifique o motivo da interrupção e o código de saída. Os detalhes da tarefa interrompida aparecem somente por uma hora nos resultados da API. Para permitir mais tempo para visualizar os detalhes da tarefa interrompida, use o modelo amazon-ecs-stopped-tasks-cwlogs no site do GitHub.

Motivos para uma tarefa interrompida

O contêiner essencial na tarefa foi encerrado

Se o contêiner essencial tiver saído, use um dos seguintes códigos de saída para solucionar o problema:

  • O código de saída 0 ocorre quando o ponto de entrada, sucesso ou CMD é concluído e o contêiner é interrompido.
  • O código de saída 1 ocorre quando há um erro na aplicação. Para solucionar esse código de saída, revise os logs da aplicação.
  • O código de saída 137 ocorre quando você não responde a um SIGTERM dentro do período padrão de 30 segundos e o Amazon ECS força a saída da tarefa para o contêiner (SIGKILL). Para alterar o período padrão de 30 segundos, atualize o agente do contêiner do ECS com o parâmetro ECS_CONTAINER_STOP_TIMEOUT.
    Observação: esse código de saída também pode ocorrer devido a um erro de falta de memória (OOM). Para verificar seu uso de recursos, revise suas métricas do Amazon CloudWatch para o Amazon ECS.
  • O código de saída 139 ocorre quando a aplicação tenta acessar uma região da AWS de memória que não está disponível. Esse código de saída também ocorre quando um espaço reservado não definido ou de ambiente que não é válido causa uma falha de segmentação. Para solucionar esse problema, revise os logs do Amazon ECS CloudWatch para sua função do Lambda.
  • O código de saída 143 ocorre quando o contêiner recebe um aviso de desligamento normal e o Amazon ECS desligou o contêiner.
  • O código de saída 255 ocorre quando o comando ENTRYPOINT CMD em seu contêiner falha devido a um erro. Para confirmar que seu contêiner falhou devido a um erro, revise seus CloudWatch Logs.

Para solucionar esse problema, consulte Como faço para solucionar problemas de tarefas do Amazon ECS que são interrompidas ou não iniciam quando meu contêiner é encerrado?

CannotPullContainerError

Esse erro ocorre quando a tarefa falhou ao iniciar porque o Amazon ECS não consegue recuperar a imagem do contêiner especificada.

Para resolver esse problema em uma tarefa do tipo de inicialização do Amazon Elastic Compute Cloud (Amazon EC2), consulte Como resolvo os erros “CannotPullContainerError” ao iniciar uma tarefa do EC2 no Amazon ECS?

Para resolver esse problema em uma tarefa do Amazon ECS que usa o tipo de inicialização do Fargate, consulte Como resolvo o erro “cannotpullcontainererror” para minhas tarefas do Amazon ECS no Fargate?

A tarefa falhou nas verificações de integridade do Elastic Load Balancer

Para resolver esse problema em tarefas que usam o tipo de inicialização do EC2, consulte Como faço para que minhas tarefas do Amazon ECS que usam o tipo de inicialização do Amazon EC2 passem pela verificação de integridade do Application Load Balancer?

Para resolver esse problema em tarefas que usam o tipo de inicialização do Fargate, consulte Como soluciono falhas de verificação de integridade para tarefas do Amazon ECS no Fargate?

Verificações de integridade do contêiner falharam

Você define verificações de integridade na API HealthCheck ou no Dockerfile. Para obter mais informações, consulte Verificação de integridade no site do Docker.

Para solucionar erros de verificação de integridade do contêiner, consulte Como solucionar problemas na verificação de integridade de contêiner em tarefas do Amazon ECS?

(instância i-##) (porta #) não está íntegra em (motivo pelo qual as verificações de integridade falharam)

Esse erro ocorre quando uma instância não íntegra do Amazon EC2 não responde às verificações de saúde na porta especificada.

Para solucionar esse problema, realize as seguintes ações:

  • Verifique se o grupo de segurança anexado à instância de contêiner permite o tráfego necessário.
  • Execute o comando a seguir para confirmar se o back-end responde sem demora:
    curl -iv localhost:container-port/path
    Observação: substitua container-port pela porta do contêiner e o caminho pelo caminho da verificação de integridade.
  • Aumente o valor do tempo limite de resposta dos 30 segundos padrão. Atualize o agente de contêiner do ECS com o parâmetro ECS_CONTAINER_STOP_TIMEOUT.

Para obter mais informações sobre essa mensagem de erro, consulte Logs de acesso do seu Network Load Balancer.

Serviço ABCService: O ECS está realizando a manutenção na infraestrutura subjacente que hospeda a tarefa

Esse erro ocorre quando o Amazon ECS executa a manutenção nos servidores AWS Fargate que executam seus contêineres de aplicações. Como resultado, seu serviço Amazon ECS está temporariamente indisponível.

Para obter mais informações, consulte Retirada e manutenção de tarefas para o AWS Fargate no Amazon ECS.

Para tarefas autônomas, consulte Como faço para agir em relação a um aviso de retirada de tarefas do Amazon ECS para uma tarefa executada no Fargate?

Evento de escalabilidade de serviços Amazon ECS ativado

Durante um evento de escalabilidade de serviços Amazon ECS, as tarefas são interrompidas porque a política de escalabilidade reduz o número de tarefas executadas no serviço. Em seguida, o Amazon ECS interrompe as tarefas para alcançar o novo número especificado. Essa ação normalmente ocorre quando a demanda diminui e o Amazon ECS exige menos tarefas para lidar com o workload.

Para resolver esse problema, execute as seguintes ações:

  • Crie alarmes do CloudWatch para mudanças em seu serviço ou tarefas.
  • Analise as implantações programadas que podem afetar suas tarefas.

Para proteger suas tarefas do encerramento de eventos de redução da escala horizontalmente devido ao ajuste de escala automático ou às implantações de serviços, use a Proteção de tarefa na redução de escala horizontalmente do Amazon ECS.

Para obter mais informações, consulte Como faço para visualizar e gerenciar ações de escalabilidade programadas para os serviços do Amazon ECS?

Tarefa interrompida pelo usuário

A tarefa recebeu uma API StopTask. Para identificar quem iniciou a chamada, consulte StopTask no AWS CloudTrail para obter informações de userIdentity.

Erros: ResourceInitializationError

Para diferentes mensagens de erro ResourceInitialization e etapas de resolução, consulte Solução de problemas dos erros ResourceInitializatioError do Amazon ECS.

Para solucionar o erro “ResourceInitializationError: unable to pull secrets or registry auth”, consulte Como resolvo um “ResourceInitializationError” quando tento extrair segredos ou recuperar a autenticação do Amazon ECR para tarefas do ECS?

Para solucionar o erro “ResourceInitializationError: failed to validate logger args”, consulte Como resolvo o erro “ResourceInitializationError: failed to validate logger args” no Amazon ECS?

SpotInterruptionError

Para obter mais informações sobre o SpotInterruptionError, consulte Solução de problemas de erros de SpotInterruption do Amazon ECS.

Para solucionar esse erro, consulte Como faço para lidar com avisos de encerramento do spot em tarefas do AWS Fargate Spot?

OutOfMemoryError

Esse erro ocorre quando um contêiner sai porque os processos no contêiner usam mais memória do que você alocou na definição da tarefa.

Para solucionar esse erro, consulte How do I troubleshoot OutOfMemory errors in Amazon ECS? (Como soluciono erros de falta de memória no Amazon ECS?)

Mensagens de erro

Se você receber uma mensagem de erro quando sua tarefa for interrompida, execute as seguintes ações de solução de problemas com base no erro.

Nenhuma instância de contêiner foi encontrada em seu cluster

Para resolver esse problema, execute uma instância de contêiner.

Para analisar as instâncias de contêiner do seu cluster, conclua as seguintes etapas:

  1. Abra o console do Amazon ECS.
  2. No painel de navegação, escolha Clusters.
  3. Selecione o cluster.
  4. Escolha a guia Infraestrutura.
  5. Consulte a seção Instâncias do contêiner.

Se não houver instâncias de contêiner, consulte Por que minha instância do Amazon EC2 não pode se juntar ao cluster do Amazon ECS?

InvalidParameterException

Para resolver essa mensagem de erro, verifique se os parâmetros em sua TaskDefinition existem e se têm os ARNs corretos. Verifique se a função da tarefa e o perfil de execução da tarefa têm as permissões necessárias.

Você atingiu o limite do número de tarefas que é possível executar simultaneamente

Esse erro ocorre quando você excede uma cota de serviço do Amazon ECS. Para solucionar esse problema, consulte Como resolvo problemas de cota de serviço do Amazon ECS?

Informações relacionadas

Resolver erros de tarefas interrompidas do Amazon ECS

Visualizar erros de tarefas interrompidas do Amazon ECS

AWS OFICIALAtualizada há 9 meses