Amazon ECS容器執行個體狀態變更事件 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon ECS容器執行個體狀態變更事件

下列案例會引發容器執行個體狀態變更事件:

您可以直接呼叫 StartTaskRunTaskStopTaskAPI操作,或使用 AWS Management Console 或 SDKs呼叫 。

在容器執行個體上放置或停止任務會修改容器執行個體上的可用資源,例如 CPU、記憶體和可用連接埠。

Amazon ECS服務排程器會啟動或停止任務。

在容器執行個體上放置或停止任務會修改容器執行個體上的可用資源,例如 CPU、記憶體和可用連接埠。

Amazon ECS容器代理程式會呼叫具有所需STOPPED狀態為 之任務狀態SubmitTaskStateChangeAPI的操作RUNNING

Amazon ECS容器代理程式會監控容器執行個體的任務狀態,並報告任何狀態變更。如果應該RUNNING轉換為 的任務STOPPED,代理程式會釋出已配置給已停止任務的資源,例如 CPU、記憶體和可用的連接埠。

您可以使用 DeregisterContainerInstanceAPI操作取消註冊容器執行個體,無論是直接使用,還是使用 AWS Management Console 或 SDKs。

取消註冊容器執行個體會變更容器執行個體的狀態,以及 Amazon ECS容器代理程式的連線狀態。

當EC2執行個體停止時,任務即會停止。

當您停止容器執行個體時,在其上執行的任務會轉換為 STOPPED 狀態。

Amazon ECS容器代理程式第一次註冊容器執行個體。

Amazon ECS容器代理程式第一次註冊容器執行個體時 (啟動時或第一次手動執行時),這會為執行個體建立狀態變更事件。

Amazon ECS容器代理程式會與 Amazon 連線或中斷連線ECS。

當 Amazon ECS容器代理程式與 Amazon ECS後端連線或中斷連線時,它會變更容器執行個體agentConnected的狀態。

注意

Amazon ECS容器代理程式每小時會中斷連線並重新連線數次,這是正常操作的一部分,因此應該預期代理程式連線事件。這些事件並不表示容器代理程式或容器執行個體發生問題。

您可以在執行個體上升級 Amazon ECS容器代理程式。

容器執行個體詳細資訊包含容器代理版本的物件。如果您升級代理,則此版本資訊會變更並產生事件。

範例 容器執行個體狀態變更事件

容器執行個體狀態變更事件以下列格式交付。以下detail章節類似於 Amazon Elastic Container Service API參考 中從 DescribeContainerInstancesAPI操作傳回的ContainerInstance物件。如需參數的詳細資訊 EventBridge,請參閱 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" } }