Visualizar erros de tarefas interrompidas do Amazon ECS - Amazon Elastic Container Service

Visualizar erros de tarefas interrompidas do Amazon ECS

Se você tiver problemas ao iniciar uma tarefa, sua tarefa poderá ser interrompida devido a erros na aplicação ou na configuração. Por exemplo, você executa a tarefa, ela exibe um status PENDING e, em seguida, desaparece.

Quando uma tarefa é interrompida, os seguintes campos ficam disponíveis:

  • stopCode: essa string indica a categoria da tarefa interrompida. Estes são valores válidos:

    • TaskFailedToStart: a tarefa falhou ao mudar para o estado RUNNING.

    • EssentialContainerExited: um processo de contêiner foi encerrado.

    • UserInitiated: um usuário interrompeu a tarefa.

    • ServiceSchedulerInitiated: o programador de serviços interrompeu a tarefa.

    • SpotInterruption: uma instância spot do EC2 foi encerrada ou interrompida.

    • TerminationNotice: o programador de serviços recebeu um aviso de encerramento do Fargate.

  • stoppedReason: isso fornece informações adicionais que podem ser usadas para resolver o problema. Por exemplo, “ResourceInitializationError: failed to initialize logging driver”.

Você pode visualizar os erros de tarefas interrompidas usando qualquer um dos seguintes métodos:

  • Console do Amazon ECS

  • AWS CLI

  • API do Amazon ECS

  • SDKs da AWS

  • Amazon CloudWatch Logs

    Se a definição de tarefa usar o driver de log awslogs, os logs da aplicação que estão gravados no Amazon CloudWatch Logs serão exibidos, desde que as tarefas interrompidas sejam exibidas. As tarefas interrompidas também são exibidas na guia Logs no console do Amazon ECS.

  • O Amazon ECS também envia eventos de alteração do estado da tarefa ao Amazon EventBridge. Não é possível visualizar eventos no EventBridge. Em vez disso, crie regras para enviar os eventos a outro armazenamento persistente, como o Amazon CloudWatch Logs. É possível usar o armazenamento para visualizar os detalhes da tarefa interrompida depois que a visualização dela expirar no console do Amazon ECS. Para ter mais informações, consulte Eventos de alteração de estado de tarefa do Amazon ECS.

    Para obter um exemplo de configuração do EventBridge para arquivar eventos do Amazon ECS no Amazon CloudWatch Logs, consulte ECS Stopped Tasks in CloudWatch Logs (Tarefas interrompidas do ECS no CloudWatch Logs) no site do GitHub.

Se sua tarefa tiver sido criada por um serviço do Amazon ECS, as ações que o Amazon ECS executará para manter o serviço serão publicadas nos eventos do serviço. É possível visualizar os eventos no AWS Management Console, na AWS CLI, em AWS SDKs, na API do Amazon ECS ou nas ferramentas que usam os SDKs e a API. Esses eventos incluem a interrupção e a substituição de uma tarefa pelo Amazon ECS porque os contêineres da tarefa interromperam a execução ou apresentaram falha em muitas verificações de integridade do Elastic Load Balancing.

Caso a tarefa tenha sido executada em uma instância de contêiner no Amazon EC2 ou em computadores externos, você também pode verificar os logs do runtime do contêiner e do agente do Amazon ECS. Esses logs estão na instância do Amazon EC2 do host ou no computador externo. Para ter mais informações, consulte Visualização de logs do agente de contêiner do Amazon ECS.

Visualizar erros de tarefas interrompidas

Console
AWS Management Console

As etapas a seguir podem ser usadas para verificar se há erros nas tarefas interrompidas usando o novo AWS Management Console.

  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. No painel de navegação, escolha Clusters.

  3. Na página Clusters, escolha o cluster.

  4. Na página Cluster : name, escolha a guia Tasks (Tarefas).

  5. Configure o filtro para exibir tarefas interrompidas. Em Filtrar o status desejado, escolha Interrompida ou Qualquer status desejado.

    A opção Interrompida exibe suas tarefas interrompidas e Qualquer status desejado exibe todas as suas tarefas.

  6. Escolha a tarefa interrompida para inspecionar.

  7. Na linha das suas tarefas interrompidas, na coluna Último status, escolha Interrompida.

    Uma janela pop-up exibe o motivo da interrupção.

AWS CLI
  1. Liste as tarefas interrompidas no cluster. A saída contém o nome do recurso da Amazon (ARN) da tarefa, necessário para a descrição da tarefa.

    aws ecs list-tasks \ --cluster cluster_name \ --desired-status STOPPED \ --region us-west-2
  2. Descreva a tarefa interrompida para recuperar o stoppedReason na resposta.

    aws ecs describe-tasks \ --cluster cluster_name \ --tasks arn:aws:ecs:us-west-2:account_id:task/cluster_name/task_ID \ --region us-west-2

Recursos de código de erro para o Amazon ECS

As seguintes páginas fornecem informações sobre códigos de erro: