

# Amazon ECS 服务操作事件
<a name="ecs_service_events"></a>

Amazon ECS 发送具有详细信息类型 **ECS Service Action** 的服务操作事件。与容器实例和任务状态更改事件不同，服务操作事件在 `details` 响应字段中不包含版本号。以下是用于为 Amazon ECS 服务操作事件创建 EventBridge 规则的事件模式。有关更多信息，请参阅《Amazon EventBridge 用户指南》**中的 [Getting started with EventBridge](https://docs.amazonaws.cn/eventbridge/latest/userguide/eb-get-started.html)。

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

Amazon ECS 发送具有 `INFO`、`WARN`, and `ERROR` 事件类型的事件。以下是服务操作事件。

## 具有 `INFO` 事件类型的服务操作事件
<a name="ecs_service_events_info_type"></a>

`SERVICE_STEADY_STATE`  
服务正常运行且任务数量为期望值，从而达到稳定状态。服务调度器会定期报告状态，因此您可能会多次收到此消息。

`TASKSET_STEADY_STATE`  
任务集正常且任务数量为期望值，从而达到稳定状态。

`CAPACITY_PROVIDER_STEADY_STATE`  
与服务关联的容量提供程序达到稳定状态。

`SERVICE_DESIRED_COUNT_UPDATED`  
当服务计划程序为服务或任务集更新计算的期望计数时。当用户手动更新期望计数时，不会发送此事件。

`TASKS_STOPPED`  
该服务已停止正在运行的任务。

`SERVICE_DEPLOYMENT_IN_PROGRESS`  
正在进行服务部署。服务部署可以是回滚，也可以是新的服务修订。

`SERVICE_DEPLOYMENT_COMPLETED`  
服务部署处于稳定状态并且已完成。服务部署可以是回滚，也可以是部署更新的服务修订。

## 具有 `WARN` 事件类型的服务操作事件
<a name="ecs_service_events_warn_type"></a>

`SERVICE_TASK_START_IMPAIRED`  
该服务无法始终如一地成功启动任务。

`SERVICE_DISCOVERY_INSTANCE_UNHEALTHY`  
使用服务发现的服务包含运行状况不佳的任务。服务计划程序检测到服务注册表中的任务运行状况不佳。

`VPC_LATTICE_TARGET_UNHEALTHY`  
使用 VPC Lattice 的服务检测到 VPC Lattice 的一个目标运行状况不佳。

## 具有 `ERROR` 事件类型的服务操作事件
<a name="ecs_service_events_error_type"></a>

`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 资源名称（ARN）和 ID](ecs-account-settings.md#ecs-resource-ids)。另一个常见原因是 Amazon ECS 无法承担 IAM 角色所提供的任务。

`SERVICE_HEALTH_UNKNOWN`  
该服务无法描述任务的运行状况数据。

`SERVICE_DEPLOYMENT_FAILED`  
服务部署未达到稳定状态。当 CloudWatch 被触发或断路器检测到服务部署失败时，就会发生这种情况。

**Example 服务稳定状态事件**  
服务稳定状态事件以下面的形式传送。有关 EventBridge 参数更多信息，请参阅《Amazon EventBridge 用户指南》**中的 [Events in EventBridge](https://docs.amazonaws.cn/eventbridge/latest/userguide/eb-events.html)。  

```
{
    "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"
    }
}
```

**Example 容量提供程序稳定状态事件**  
容量提供程序稳定状态事件以下面的形式传送。  

```
{
    "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"
    }
}
```

**Example 服务任务启动受损事件**  
服务任务启动受损事件以下面的形式传送。  

```
{
    "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"
    }
}
```

**Example 服务任务放置失败事件**  
服务任务放置失败事件以下面的形式传送。有关更多信息，请参阅《Amazon EventBridge 用户指南》**中的 [Events in EventBridge](https://docs.amazonaws.cn/eventbridge/latest/userguide/eb-events.html)。  
在以下示例中，任务试图使用 `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"
  }
}
```