

# Eventos de alteração no estado da instância de contêiner do Amazon ECS
<a name="ecs_container_instance_events"></a>

Os seguintes cenários causam eventos de alteração de estado da instância de contêiner:

As operações de API `StartTask`, `RunTask` ou `StopTask` são chamadas diretamente ou com o Console de gerenciamento da AWS 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 status `STOPPED` para uma tarefa com um status desejado de `RUNNING`.  
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 para `STOPPED`, 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 Console de gerenciamento da AWS 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.  
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.

**Example 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](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerInstance.html) retornado de uma operação de API [DescribeContainerInstances](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html) 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](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events-structure.html) 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"
  }
}
```