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

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

Amazon ECS 服務動作事件

Amazon ECS 會傳送具有 ECS Service Action (ECS 服務動作) 詳細類型的服務動作事件。與容器執行個體和任務狀態變更事件不同,服務動作事件不會在 details 回應欄位中包含版本號碼。以下這個事件模式會用來建立 Amazon ECS 服務動作事件的 EventBridge 規則。如需詳細資訊,請參閱 Amazon EventBridge User Guide 中的 Getting started with 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 User Guide 中的 Events in 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 User Guide 中的 Events in 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" } }