Eventos de alteração de estado de tarefa do Amazon ECS - Amazon Elastic Container Service

Eventos de alteração de estado de tarefa do Amazon ECS

Os seguintes cenários causam eventos de alteração do estado da tarefa:

As operações de API StartTask, RunTask ou StopTask são chamadas diretamente ou com o AWS Management Console,AWS CLI ou os SDKs.

A inicialização ou a parada de tarefas cria novos recursos de tarefa ou modifica o estado de recursos da tarefa existente.

O programador de serviços do Amazon ECS inicia ou interrompe uma tarefa.

A inicialização ou a parada de tarefas cria novos recursos de tarefa ou modifica o estado de recursos da tarefa existente.

O agente de contêiner do Amazon ECS chama a operação da API SubmitTaskStateChange.

Para o tipo de execução do Amazon EC2, o agente de contêiner do Amazon ECS monitora o estado das tarefas nas instâncias de contêiner. O agente de contêiner do Amazon ECS relata todas as alterações de estado. Alterações de estado podem incluir mudanças de PENDING para RUNNING ou de RUNNING para STOPPED.

O cancelamento do registro de instância de contêiner subjacente é cancelado com a operação de API DeregisterContainerInstance e o sinalizador force, seja diretamente ou com o AWS Management Console ou os SDKs.

O cancelamento do registro de uma instância de contêiner altera o status da instância de contêiner e o status de conexão do agente de contêiner do Amazon ECS. Caso as tarefas estejam em execução na instância de contêiner, o sinalizador force deve ser definido para permitir o cancelamento do registro. Isso para todas as tarefas na instância.

A instância de contêiner subjacente é parada ou encerrada.

Quando você para ou encerra uma instância de contêiner, as tarefas em execução nela são transicionadas para o status STOPPED.

Um contêiner na tarefa muda de estado.

O agente de contêiner do Amazon ECS monitora o estado dos contêineres dentro das tarefas. Por exemplo, caso um contêiner em execução dentro de uma tarefa seja interrompido, essa alteração no estado do contêiner gera um evento.

Uma tarefa que utiliza o fornecedor de capacidade do Fargate Spot recebe um aviso de término.

Quando uma tarefa está usando o provedor de capacidade do FARGATE_SPOT e é interrompida devido a uma interrupção do Spot, um evento de alteração de estado da tarefa é gerado.

exemplo Evento de alteração no estado da tarefa

Os eventos de alteração do estado da tarefa são entregues no formato a seguir. A seção detail a seguir se assemelha ao objeto da tarefa retornado de uma operação de API DescribeTasks na operação da API na Referência da API do Amazon Elastic Container Service. Se os contêineres estiverem usando uma imagem hospedada com o Amazon ECR, será retornado o campo imageDigest.

nota

Os valores para os campos createdAt, connectivityAt, pullStartedAt, startedAt, pullStoppedAt e updatedAt são time stamps UNIX na resposta de uma ação DescribeTasks, enquanto no evento de alteração de estado da tarefa, eles são time stamps de string ISO.

Para obter mais informações, parâmetros do CloudWatch Events, consulte Eventos e padrões de eventos no Guia do usuário do Amazon EventBridge.

Para obter informações sobre como configurar uma regra de evento do Amazon EventBridge que captura apenas eventos de tarefa em que a execução da tarefa foi interrompida porque um de seus contêineres essenciais foi encerrado, consulte Enviar alertas do Amazon Simple Notification Service de eventos de tarefa interrompida do Amazon ECS

{ "version": "0", "id": "3317b2af-7005-947d-b652-f55e762e571a", "detail-type": "ECS Task State Change", "source": "aws.ecs", "account": "111122223333", "time": "2020-01-23T17:57:58Z", "region": "us-west-2", "resources": [ "arn:aws:ecs:us-west-2:111122223333:task/FargateCluster/c13b4cb40f1f4fe4a2971f76ae5a47ad" ], "detail": { "attachments": [ { "id": "1789bcae-ddfb-4d10-8ebe-8ac87ddba5b8", "type": "eni", "status": "ATTACHED", "details": [ { "name": "subnetId", "value": "subnet-abcd1234" }, { "name": "networkInterfaceId", "value": "eni-abcd1234" }, { "name": "macAddress", "value": "0a:98:eb:a7:29:ba" }, { "name": "privateIPv4Address", "value": "10.0.0.139" } ] } ], "availabilityZone": "us-west-2c", "clusterArn": "arn:aws:ecs:us-west-2:111122223333:cluster/FargateCluster", "containers": [ { "containerArn": "arn:aws:ecs:us-west-2:111122223333:container/cf159fd6-3e3f-4a9e-84f9-66cbe726af01", "lastStatus": "RUNNING", "name": "FargateApp", "image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/hello-repository:latest", "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6", "runtimeId": "ad64cbc71c7fb31c55507ec24c9f77947132b03d48d9961115cf24f3b7307e1e", "taskArn": "arn:aws:ecs:us-west-2:111122223333:task/FargateCluster/c13b4cb40f1f4fe4a2971f76ae5a47ad", "networkInterfaces": [ { "attachmentId": "1789bcae-ddfb-4d10-8ebe-8ac87ddba5b8", "privateIpv4Address": "10.0.0.139" } ], "cpu": "0" } ], "createdAt": "2020-01-23T17:57:34.402Z", "launchType": "FARGATE", "cpu": "256", "memory": "512", "desiredStatus": "RUNNING", "group": "family:sample-fargate", "lastStatus": "RUNNING", "overrides": { "containerOverrides": [ { "name": "FargateApp" } ] }, "connectivity": "CONNECTED", "connectivityAt": "2020-01-23T17:57:38.453Z", "pullStartedAt": "2020-01-23T17:57:52.103Z", "startedAt": "2020-01-23T17:57:58.103Z", "pullStoppedAt": "2020-01-23T17:57:55.103Z", "updatedAt": "2020-01-23T17:57:58.103Z", "taskArn": "arn:aws:ecs:us-west-2:111122223333:task/FargateCluster/c13b4cb40f1f4fe4a2971f76ae5a47ad", "taskDefinitionArn": "arn:aws:ecs:us-west-2:111122223333:task-definition/sample-fargate:1", "version": 4, "platformVersion": "1.3.0" } }