Amazon ECS 服務動作事件 - Amazon Elastic Container Service

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

Amazon ECS 服務動作事件

Amazon ECS 會傳送具有 ECS Service Action (ECS 服務動作) 詳細類型的服務動作事件。與容器執行個體和任務狀態變更事件不同,服務動作事件不會在 details 回應欄位中包含版本號碼。以下這個事件模式會用來建立 Amazon ECS 服務動作事件的 EventBridge 規則。如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的 EventBridge 入門 EventBridge

{ "source": [ "aws.ecs" ], "detail-type": [ "ECS Service Action" ] }

Amazon ECS 會傳送具有 INFOWARNERROR 事件類型的事件。以下是服務動作事件。

具有 INFO 事件類型的服務動作事件

SERVICE_STEADY_STATE

服務運作狀況良好且有所需的任務數量,因而達到穩定狀態。服務排程器會定期報告狀態,因此您可能會多次收到此訊息。

TASKSET_STEADY_STATE

任務集運作狀況良好且有所需的任務數量,因而達到穩定的狀態。

CAPACITY_PROVIDER_STEADY_STATE

與服務相關聯的容量提供者會達到穩定狀態。

SERVICE_DESIRED_COUNT_UPDATED

服務排程器更新適用於服務或任務集的計算所需計數時。當使用者手動更新所需的計數時,不會傳送此事件。

TASKS_STOPPED

服務已停止執行中的任務。

SERVICE_DEPLOYMENT_IN_PROGRESS

服務部署正在進行中。服務部署可以是轉返或新的服務修訂。

SERVICE_DEPLOYMENT_COMPLETED

服務部署處於穩定狀態且已完成。服務部署可以是轉返,也可以是部署更新的服務修訂版。

具有 WARN 事件類型的服務動作事件

SERVICE_TASK_START_IMPAIRED

此服務無法成功持續啟動任務。

SERVICE_DISCOVERY_INSTANCE_UNHEALTHY

使用服務探索的服務包含運作狀況不良的任務。服務排程器會偵測到服務登錄中的任務運作狀況不良。

VPC_LATTICE_TARGET_UNHEALTHY

使用 VPC Lattice 的服務偵測到其中一個 VPC Lattice 的目標運作狀態不佳。

具有 ERROR 事件類型的服務動作事件

SERVICE_DAEMON_PLACEMENT_CONSTRAINT_VIOLATED

使用 DAEMON 服務排程器策略的服務中的任務不再符合此服務的放置限制策略。

ECS_OPERATION_THROTTLED

由於 Amazon ECS API 節流限制,服務排程器已經受到節流。

SERVICE_DISCOVERY_OPERATION_THROTTLED

由於 AWS Cloud Map API 限流限制,服務排程器已調節。這可能會在設定為使用服務探索的服務上發生。

SERVICE_TASK_PLACEMENT_FAILURE

服務排程器無法放置任務。原因的描述位於 reason 欄位中。

產生此服務事件的常見原因是因為叢集缺乏放置任務的資源。例如,可用的容器執行個體沒有足夠的 CPU 或記憶體容量,或沒有可用的容器執行個體。另一個常見原因是,若容器執行個體上的 Amazon ECS 容器代理程式連線中斷,會造成排程器無法放置任務。

SERVICE_TASK_CONFIGURATION_FAILURE

由於組態錯誤,服務排程器無法放置任務。原因的描述位於 reason 欄位中。

產生此服務事件的常見原因是因為標籤正在套用至服務,但使用者或角色尚未在區域中選擇使用新的 Amazon Resource Name (ARN) 格式。如需詳細資訊,請參閱Amazon Resource Name (ARN) 和 ID。另一個常見的原因是 Amazon ECS 無法擔任所提供的任務 IAM 角色。

SERVICE_HEALTH_UNKNOWN

服務無法描述任務的運作狀態資料。

SERVICE_DEPLOYMENT_FAILED

服務部署未達到穩定。當 CloudWatch 觸發或斷路器偵測到服務部署失敗時,就會發生這種情況。

範例 服務穩定狀態事件

任務穩定狀態事件以下列格式交付。如需 EventBridge 參數的詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的 EventBridge 中的事件。 EventBridge

{ "version": "0", "id": "af3c496d-f4a8-65d1-70f4-a69d52e9b584", "detail-type": "ECS Service Action", "source": "aws.ecs", "account": "111122223333", "time": "2019-11-19T19:27:22Z", "region": "us-west-2", "resources": [ "arn:aws:ecs:us-west-2:111122223333:service/default/servicetest" ], "detail": { "eventType": "INFO", "eventName": "SERVICE_STEADY_STATE", "clusterArn": "arn:aws:ecs:us-west-2:111122223333:cluster/default", "createdAt": "2019-11-19T19:27:22.695Z" } }
範例 容量提供者穩定狀態事件

容量提供者穩定狀態事件以下列格式交付。

{ "version": "0", "id": "b9baa007-2f33-0eb1-5760-0d02a572d81f", "detail-type": "ECS Service Action", "source": "aws.ecs", "account": "111122223333", "time": "2019-11-19T19:37:00Z", "region": "us-west-2", "resources": [ "arn:aws:ecs:us-west-2:111122223333:service/default/servicetest" ], "detail": { "eventType": "INFO", "eventName": "CAPACITY_PROVIDER_STEADY_STATE", "clusterArn": "arn:aws:ecs:us-west-2:111122223333:cluster/default", "capacityProviderArns": [ "arn:aws:ecs:us-west-2:111122223333:capacity-provider/ASG-tutorial-capacity-provider" ], "createdAt": "2019-11-19T19:37:00.807Z" } }
範例 服務任務啟動受損事件

服務任務啟動受損事件以下列格式交付。

{ "version": "0", "id": "57c9506e-9d21-294c-d2fe-e8738da7e67d", "detail-type": "ECS Service Action", "source": "aws.ecs", "account": "111122223333", "time": "2019-11-19T19:55:38Z", "region": "us-west-2", "resources": [ "arn:aws:ecs:us-west-2:111122223333:service/default/servicetest" ], "detail": { "eventType": "WARN", "eventName": "SERVICE_TASK_START_IMPAIRED", "clusterArn": "arn:aws:ecs:us-west-2:111122223333:cluster/default", "createdAt": "2019-11-19T19:55:38.725Z" } }
範例 服務任務放置失敗事件

服務任務放置失敗事件以下列格式交付。如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的 EventBridge 中的事件。 EventBridge

在下列範例中,此任務嘗試使用 FARGATE_SPOT 容量提供者,但服務排程器無法取得任何 Fargate Spot 容量。

{ "version": "0", "id": "ddca6449-b258-46c0-8653-e0e3a6d0468b", "detail-type": "ECS Service Action", "source": "aws.ecs", "account": "111122223333", "time": "2019-11-19T19:55:38Z", "region": "us-west-2", "resources": [ "arn:aws:ecs:us-west-2:111122223333:service/default/servicetest" ], "detail": { "eventType": "ERROR", "eventName": "SERVICE_TASK_PLACEMENT_FAILURE", "clusterArn": "arn:aws:ecs:us-west-2:111122223333:cluster/default", "capacityProviderArns": [ "arn:aws:ecs:us-west-2:111122223333:capacity-provider/FARGATE_SPOT" ], "reason": "RESOURCE:FARGATE", "createdAt": "2019-11-06T19:09:33.087Z" } }

在下列 EC2 啟動類型範例中,嘗試在容器容器執行個體 2dd1b186f39845a584488d2ef155c131 上啟動任務,但由於 CPU 不足,服務排程器無法放置任務。

{ "version": "0", "id": "ddca6449-b258-46c0-8653-e0e3a6d0468b", "detail-type": "ECS Service Action", "source": "aws.ecs", "account": "111122223333", "time": "2019-11-19T19:55:38Z", "region": "us-west-2", "resources": [ "arn:aws:ecs:us-west-2:111122223333:service/default/servicetest" ], "detail": { "eventType": "ERROR", "eventName": "SERVICE_TASK_PLACEMENT_FAILURE", "clusterArn": "arn:aws:ecs:us-west-2:111122223333:cluster/default", "containerInstanceArns": [ "arn:aws:ecs:us-west-2:111122223333:container-instance/default/2dd1b186f39845a584488d2ef155c131" ], "reason": "RESOURCE:CPU", "createdAt": "2019-11-06T19:09:33.087Z" } }