Eventos de alteração no estado da instância de contêiner do Amazon ECS
Os seguintes cenários causam eventos de alteração de estado da instância de contêiner:
- As operações de API
StartTask
,RunTask
ouStopTask
são chamadas diretamente ou com o AWS Management Console ou os SDKs. -
A realização ou a parada de tarefas em uma instância de contêiner modifica os recursos disponíveis na instância de contêiner, como CPU, memória e portas disponíveis.
- O programador de serviços do Amazon ECS inicia ou interrompe uma tarefa.
-
A realização ou a parada de tarefas em uma instância de contêiner modifica os recursos disponíveis na instância de contêiner, como CPU, memória e portas disponíveis.
- O agente de contêiner do Amazon ECS chama a operação da API
SubmitTaskStateChange
com um statusSTOPPED
para uma tarefa com um status desejado deRUNNING
. -
O agente de contêiner do Amazon ECS monitora o estado de tarefas nas instâncias de contêiner e relata todas as alterações ocorridas no estado. Caso uma tarefa que deveria ser
RUNNING
seja transicionada paraSTOPPED
, o agente libera os recursos que foram alocados para a tarefa parada, como CPU, memória e portas disponíveis. - O registro da instância de contêiner é cancelado com a operação da API
DeregisterContainerInstance
diretamente, 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.
- Uma tarefa foi parada quando a instância do EC2 tiver sido interrompida.
-
Quando você para uma instância de contêiner, as tarefas em execução nela são transicionadas para o status
STOPPED
. - O agente de contêiner do Amazon ECS registra uma instância de contêiner pela primeira vez.
-
A primeira vez em que o agente de contêiner do Amazon ECS registra uma instância de contêiner (na inicialização ou quando executado pela primeira vez manualmente) faz com que seja criado um evento de alteração do estado para a instância.
- O agente de contêiner do Amazon ECS se conecta ou se desconecta do Amazon ECS.
-
Quando o agente de contêiner do Amazon ECS se conecta ou se desconecta do backend do Amazon ECS, ele altera o status
agentConnected
da instância de contêiner.nota
O agente de contêiner do Amazon ECS se desconecta e se reconecta várias vezes por hora como parte da sua operação normal. Portanto, devem ser esperados eventos de conexão do agente. Esses eventos não são uma indicação de que há um problema com o agente de contêiner ou sua instância de contêiner.
- Você faz o upgrade do agente de contêiner do Amazon ECS em uma instância.
-
Os detalhes da instância de contêiner contêm um objeto para a versão do agente de contêiner. Caso você atualize o agente, essas informações da versão mudam e geram um evento.
exemplo Evento de alteração no estado da instância de contêiner
Os eventos de alteração do estado da instância de contêiner são entregues no formato a seguir. A seção detail
a seguir se assemelha ao objeto ContainerInstance retornado de uma operação de API DescribeContainerInstances na Referência da API do Amazon Elastic Container Service. Para obter mais informações sobre parâmetros do EventBridge, consulte metadados de eventos de serviços da AWS no Guia do usuário do Amazon EventBridge.
{
"version": "0",
"id": "8952ba83-7be2-4ab5-9c32-6687532d15a2",
"detail-type": "ECS Container Instance State Change",
"source": "aws.ecs",
"account": "111122223333",
"time": "2016-12-06T16:41:06Z",
"region": "us-east-1",
"resources": [
"arn:aws:ecs:us-east-1:111122223333:container-instance/b54a2a04-046f-4331-9d74-3f6d7f6ca315"
],
"detail": {
"agentConnected": true,
"attributes": [
{
"name": "com.amazonaws.ecs.capability.logging-driver.syslog"
},
{
"name": "com.amazonaws.ecs.capability.task-iam-role-network-host"
},
{
"name": "com.amazonaws.ecs.capability.logging-driver.awslogs"
},
{
"name": "com.amazonaws.ecs.capability.logging-driver.json-file"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.17"
},
{
"name": "com.amazonaws.ecs.capability.privileged-container"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.19"
},
{
"name": "com.amazonaws.ecs.capability.ecr-auth"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.20"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.21"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.22"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.23"
},
{
"name": "com.amazonaws.ecs.capability.task-iam-role"
}
],
"clusterArn": "arn:aws:ecs:us-east-1:111122223333:cluster/default",
"containerInstanceArn": "arn:aws:ecs:us-east-1:111122223333:container-instance/b54a2a04-046f-4331-9d74-3f6d7f6ca315",
"ec2InstanceId": "i-f3a8506b",
"registeredResources": [
{
"name": "CPU",
"type": "INTEGER",
"integerValue": 2048
},
{
"name": "MEMORY",
"type": "INTEGER",
"integerValue": 3767
},
{
"name": "PORTS",
"type": "STRINGSET",
"stringSetValue": [
"22",
"2376",
"2375",
"51678",
"51679"
]
},
{
"name": "PORTS_UDP",
"type": "STRINGSET",
"stringSetValue": []
}
],
"remainingResources": [
{
"name": "CPU",
"type": "INTEGER",
"integerValue": 1988
},
{
"name": "MEMORY",
"type": "INTEGER",
"integerValue": 767
},
{
"name": "PORTS",
"type": "STRINGSET",
"stringSetValue": [
"22",
"2376",
"2375",
"51678",
"51679"
]
},
{
"name": "PORTS_UDP",
"type": "STRINGSET",
"stringSetValue": []
}
],
"status": "ACTIVE",
"version": 14801,
"versionInfo": {
"agentHash": "aebcbca",
"agentVersion": "1.13.0",
"dockerVersion": "DockerVersion: 1.11.2"
},
"updatedAt": "2016-12-06T16:41:06.991Z"
}
}