Como verificar tarefas interrompidas em busca de erros - Serviço Amazon Elastic Container

Como verificar tarefas interrompidas em busca de erros

Se você tiver problemas ao iniciar uma tarefa, sua tarefa poderá ser interrompida devido a um erro. Por exemplo, você executa a tarefa, ela exibe um status PENDING e, em seguida, desaparece. Você pode visualizar erros de interrupção de tarefas como esse no console do Amazon ECS visualizando a tarefa interrompida e a inspecionando em busca de mensagens de erro. 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 na guia Logs do console do Amazon ECS, desde que a tarefa interrompida seja exibida.

Importante

As tarefas interrompidas só serão exibidas no console do Amazon ECS, na AWS CLI e nos SDKs da AWS por pelo menos uma hora após a interrupção da tarefa. Depois disso, os detalhes da tarefa interrompida expiram e não ficam disponíveis no 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. Você pode usar o armazenamento para visualizar os detalhes da tarefa interrompida depois que a visualização dela expirar no console do Amazon ECS. Para mais informações, consulte Eventos de alteração no estado da tarefa.

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.

New console

Novo 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 do Amazon ECS em https://console.aws.amazon.com/ecs/.

  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. Escolha a tarefa interrompida para inspecionar.

  6. Na seção Status, inspecione o campo Stopped reason (Motivo da interrupção) para ver o motivo pelo qual a tarefa foi interrompida.

Classic console
  1. Abra o console do Amazon ECS em https://console.aws.amazon.com/ecs/.

  2. Na página Clusters, selecione o cluster no qual a tarefa interrompida reside.

  3. Na página Cluster: clustername, escolha Tasks (Tarefas).

  4. No cabeçalho da tabela Desired task status (Status da tarefa desejada), escolha Stopped (Interrompida) e, em seguida, selecione a tarefa interrompida a ser inspecionada. As tarefas interrompidas mais recentes são listadas primeiro.

  5. Na seção Details (Detalhes), inspecione o campo Stopped reason (Motivo da interrupção) para ver o motivo pelo qual a tarefa foi interrompida.

    
                                    Motivo da tarefa interrompida

    Alguns motivos possíveis e suas explicações são listados abaixo:

    Falha de tarefas nas verificações de integridade no (elb elb-name)

    A tarefa atual falhou na verificação de integridade do Elastic Load Balancing para o balanceador de carga associado ao serviço da tarefa. Para mais informações, consulte Como solucionar problemas de load balancers de serviço.

    Ação de escalabilidade iniciada por (ID de implantação)

    Quando você reduzir a contagem desejada de um serviço estável, algumas tarefas deverão ser interrompidas para que seja atingido o número desejado. Tarefas que são interrompidas por serviços de redução têm esse motivo de interrupção.

    EC2 de host (id da instância) interrompido/encerrado

    Se você interromper ou encerrar uma instância de contêiner com tarefas em execução, as tarefas receberão esse motivo de interrupção.

    O cancelamento do registro de instâncias de contêiner forçado pelo usuário

    Se você forçar o cancelamento do registro de uma instância de contêiner com tarefas em execução, as tarefas receberão esse motivo de interrupção.

    Contêiner essencial na tarefa encerrado

    Se um contêiner marcado como essential nas definições de tarefa for fechado ou desativado, isso pode fazer com que uma tarefa pare. Quando a saída de um contêiner essencial é a causa de uma tarefa interrompida, o Passo 6 pode fornecer mais informações de diagnóstico sobre a causa da interrupção do contêiner.

  6. Se você tiver um contêiner que foi interrompido, expanda-o e inspecione a linha Status reason (Motivo do status) para ver o que causou a mudança no estado da tarefa.

    
                                    Erro de contêiner interrompido

    No exemplo anterior, não foi possível encontrar o nome da imagem do contêiner. Isso pode acontecer se você digitar incorretamente o nome da imagem.

    Se essa inspeção não fornecer informações suficientes, conecte-se à instância de contêiner com SSH e inspecione o contêiner do Docker localmente. Para mais informações, consulte Inspecionar contêineres do Docker.

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 adicionais

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