Amazon ECS 服务操作事件
Amazon ECS 发送具有详细信息类型 ECS Service Action 的服务操作事件。与容器实例和任务状态更改事件不同,服务操作事件在 details
响应字段中不包含版本号。以下是用于为 Amazon ECS 服务操作事件创建 EventBridge 规则的事件模式。有关更多信息,请参阅 Amazon EventBridge 用户指南中的创建 EventBridge 规则
{ "source": [ "aws.ecs" ], "detail-type": [ "ECS Service Action" ] }
Amazon ECS 发送具有 INFO
、WARN
, and ERROR
事件类型的事件。以下是服务操作事件。
具有 INFO
事件类型的服务操作事件
SERVICE_STEADY_STATE
-
服务正常运行且任务数量为期望值,从而达到稳定状态。服务调度器会定期报告状态,因此您可能会多次收到此消息。
TASKSET_STEADY_STATE
-
任务集正常且任务数量为期望值,从而达到稳定状态。
CAPACITY_PROVIDER_STEADY_STATE
-
与服务关联的容量提供程序达到稳定状态。
SERVICE_DESIRED_COUNT_UPDATED
-
当服务计划程序为服务或任务集更新计算的期望计数时。当用户手动更新期望计数时,不会发送此事件。
具有 WARN
事件类型的服务操作事件
SERVICE_TASK_START_IMPAIRED
-
该服务无法始终如一地成功启动任务。
SERVICE_DISCOVERY_INSTANCE_UNHEALTHY
-
使用服务发现的服务包含运行状况不佳的任务。服务计划程序检测到服务注册表中的任务运行状况不佳。
具有 ERROR
事件类型的服务操作事件
SERVICE_DAEMON_PLACEMENT_CONSTRAINT_VIOLATED
-
使用
DAEMON
服务计划程序策略的服务中的任务不再符合服务的放置约束策略。 ECS_OPERATION_THROTTLED
-
由于 Amazon ECS API 节流限制,服务计划程序已被限制。
SERVICE_DISCOVERY_OPERATION_THROTTLED
-
由于 Amazon Cloud Map API 节流限制,服务计划程序已被限制。配置为使用服务发现的服务可能会发生这种情况。
SERVICE_TASK_PLACEMENT_FAILURE
-
服务计划程序无法放置任务。原因将在
reason
字段中描述。生成此服务事件的常见原因是集群中缺乏放置任务的资源。例如,可用容器实例上的 CPU 或内存容量不足,或者没有容器实例可用。另一个常见原因是 Amazon ECS 容器代理在容器实例上断开连接,导致计划程序无法放置任务。
SERVICE_TASK_CONFIGURATION_FAILURE
-
由于配置错误,服务计划程序无法放置任务。原因将在
reason
字段中描述。生成此服务事件的一个常见原因是,标签已应用于服务,但用户或角色尚未在区域中选择采用新的 Amazon 资源名称(ARN)格式。有关更多信息,请参阅 Amazon Resource Names (ARN) 和 ID。另一个常见原因是 Amazon ECS 无法承担 IAM 角色所提供的任务。
例 服务稳定状态事件
服务稳定状态事件以下面的形式传送。有关 EventBridge 参数更多信息,请参阅 Amazon 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"
}
}
例 服务任务放置失败事件
服务任务放置失败事件以下面的形式传送。有关 EventBridge 参数更多信息,请参阅 Amazon 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"
}
}