

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon EC2 Auto Scaling 事件参考
<a name="ec2-auto-scaling-event-reference"></a>

使用 Amazon EventBridge，您可以创建匹配传入*事件*的*规则*，并将它们路由到*目标*进行处理。

**Topics**
+ [生命周期操作事件](#ec2-auto-scaling-lifecycle-action-events)
+ [扩缩成功的事件](#ec2-auto-scaling-successful-scaling-events)
+ [扩缩失败的事件](#ec2-auto-scaling-unsuccessful-scaling-events)

## 生命周期操作事件
<a name="ec2-auto-scaling-lifecycle-action-events"></a>

当您向 Auto Scaling 组添加生命周期挂钩时，Amazon EC2 Auto Scaling 会在实例过渡到等待状态 EventBridge时向发送事件。事件会尽可能生成。

**Topics**
+ [横向扩展生命周期操作](#launch-lifecycle-action)
+ [横向缩减生命周期操作](#terminate-lifecycle-action)

### 横向扩展生命周期操作
<a name="launch-lifecycle-action"></a>

在此示例事件中，由于启动生命周期挂钩的原因，Amazon EC2 Auto Scaling 已将一个实例移至 `Pending:Wait` 状态。

```
{
  "version": "0",
  "id": "12345678-1234-1234-1234-123456789012",
  "detail-type": "EC2 Instance-launch Lifecycle Action",
  "source": "aws.autoscaling",
  "account": "123456789012",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "region": "us-west-2",
  "resources": [
    "auto-scaling-group-arn"
  ],
  "detail": { 
    "LifecycleActionToken": "87654321-4321-4321-4321-210987654321", 
    "AutoScalingGroupName": "my-asg", 
    "LifecycleHookName": "my-lifecycle-hook", 
    "EC2InstanceId": "i-1234567890abcdef0", 
    "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING",
    "NotificationMetadata": "additional-info",
    "Origin": "EC2",
    "Destination": "AutoScalingGroup"
  } 
}
```

### 横向缩减生命周期操作
<a name="terminate-lifecycle-action"></a>

在此示例事件中，由于终止生命周期挂钩的原因，Amazon EC2 Auto Scaling 已将一个实例移至 `Terminating:Wait` 状态。

**重要**  
当自动扩缩组在横向缩减时将实例退回暖池的情况下，将实例退回暖池也会生成 `EC2 Instance-terminate Lifecycle Action` 事件。当实例在横向缩减时移至等待状态的情况下，所传递的事件都将 `WarmPool` 作为 `Destination` 的值。有关更多信息，请参阅 [Instance reuse policy](ec2-auto-scaling-warm-pools.md#instance-reuse-policy)。

```
{
  "version": "0",
  "id": "12345678-1234-1234-1234-123456789012",
  "detail-type": "EC2 Instance-terminate Lifecycle Action",
  "source": "aws.autoscaling",
  "account": "123456789012",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "region": "us-west-2",
  "resources": [
    "auto-scaling-group-arn"
  ],
  "detail": { 
    "LifecycleActionToken":"87654321-4321-4321-4321-210987654321", 
    "AutoScalingGroupName":"my-asg", 
    "LifecycleHookName":"my-lifecycle-hook", 
    "EC2InstanceId":"i-1234567890abcdef0", 
    "LifecycleTransition":"autoscaling:EC2_INSTANCE_TERMINATING", 
    "NotificationMetadata":"additional-info",
    "Origin": "AutoScalingGroup",
    "Destination": "EC2"
  } 
}
```

## 扩缩成功的事件
<a name="ec2-auto-scaling-successful-scaling-events"></a>

以下示例演示扩缩成功的事件的事件类型。事件会尽可能生成。

**Topics**
+ [横向扩展成功的事件](#launch-successful)
+ [横向缩减成功的事件](#terminate-successful)

### 横向扩展成功的事件
<a name="launch-successful"></a>

在此示例事件中，Amazon EC2 Auto Scaling 成功启动了一个实例。

```
{
  "version": "0",
  "id": "12345678-1234-1234-1234-123456789012",
  "detail-type": "EC2 Instance Launch Successful",
  "source": "aws.autoscaling",
  "account": "123456789012",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "region": "us-west-2",
  "resources": [
    "auto-scaling-group-arn",
    "instance-arn"
  ],
  "detail": {
    "StatusCode": "InProgress",
    "Description": "Launching a new EC2 instance: i-12345678",
    "AutoScalingGroupName": "my-asg",
    "ActivityId": "87654321-4321-4321-4321-210987654321",
    "Details": {
      "Availability Zone": "us-west-2b",
      "Subnet ID": "subnet-12345678"
    },
    "RequestId": "12345678-1234-1234-1234-123456789012",
    "StatusMessage": "",
    "EndTime": "yyyy-mm-ddThh:mm:ssZ",
    "EC2InstanceId": "i-1234567890abcdef0",
    "StartTime": "yyyy-mm-ddThh:mm:ssZ",
    "Cause": "description-text",
    "Origin": "EC2",
    "Destination": "AutoScalingGroup"
  }
}
```

### 横向缩减成功的事件
<a name="terminate-successful"></a>

在此示例事件中，Amazon EC2 Auto Scaling 成功终止了一个实例。

**重要**  
当自动扩缩组在横向缩减时将实例退回暖池的情况下，将实例退回暖池也会生成 `EC2 Instance Terminate Successful` 事件。实例成功退回暖池时传送的事件都将 `WarmPool` 作为 `Destination` 的值。有关更多信息，请参阅 [Instance reuse policy](ec2-auto-scaling-warm-pools.md#instance-reuse-policy)。

```
{
  "version": "0",
  "id": "12345678-1234-1234-1234-123456789012",
  "detail-type": "EC2 Instance Terminate Successful",
  "source": "aws.autoscaling",
  "account": "123456789012",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "region": "us-west-2",
  "resources": [
    "auto-scaling-group-arn",
    "instance-arn"
  ],
  "detail": {
    "StatusCode": "InProgress",
    "Description": "Terminating EC2 instance: i-12345678",
    "AutoScalingGroupName": "my-asg",
    "ActivityId": "87654321-4321-4321-4321-210987654321",
    "Details": {
      "Availability Zone": "us-west-2b",
      "Subnet ID": "subnet-12345678"
    },
    "RequestId": "12345678-1234-1234-1234-123456789012",
    "StatusMessage": "",
    "EndTime": "yyyy-mm-ddThh:mm:ssZ",
    "EC2InstanceId": "i-1234567890abcdef0",
    "StartTime": "yyyy-mm-ddThh:mm:ssZ",
    "Cause": "description-text",
    "Origin": "AutoScalingGroup",
    "Destination": "EC2"
  }
}
```

## 扩缩失败的事件
<a name="ec2-auto-scaling-unsuccessful-scaling-events"></a>

以下示例演示扩缩失败的事件的事件类型。事件会尽可能生成。

**Topics**
+ [横向扩展失败的事件](#launch-unsuccessful)
+ [横向缩减失败的事件](#terminate-unsuccessful)

### 横向扩展失败的事件
<a name="launch-unsuccessful"></a>

在此示例事件中，Amazon EC2 Auto Scaling 未能启动一个实例。

```
{
  "version": "0",
  "id": "12345678-1234-1234-1234-123456789012",
  "detail-type": "EC2 Instance Launch Unsuccessful",
  "source": "aws.autoscaling",
  "account": "123456789012",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "region": "us-west-2",
  "resources": [
    "auto-scaling-group-arn",
    "instance-arn"
  ],
  "detail": {
    "StatusCode": "Failed",
    "AutoScalingGroupName": "my-asg",
    "ActivityId": "87654321-4321-4321-4321-210987654321",
    "Details": {
      "Availability Zone": "us-west-2b",
      "Subnet ID": "subnet-12345678"
    },
    "RequestId": "12345678-1234-1234-1234-123456789012",
    "StatusMessage": "message-text",
    "EndTime": "yyyy-mm-ddThh:mm:ssZ",
    "EC2InstanceId": "i-1234567890abcdef0",
    "StartTime": "yyyy-mm-ddThh:mm:ssZ",
    "Cause": "description-text",
    "Origin": "EC2",
    "Destination": "AutoScalingGroup"
  }
}
```

### 横向缩减失败的事件
<a name="terminate-unsuccessful"></a>

在此示例事件中，Amazon EC2 Auto Scaling 未能终止一个实例。

**重要**  
当自动扩缩组在横向缩减时将实例退回暖池的情况下，未能将实例退回暖池也会生成 `EC2 Instance Terminate Unsuccessful` 事件。实例未能成功退回暖池时传送的事件都将 `WarmPool` 作为 `Destination` 的值。有关更多信息，请参阅 [Instance reuse policy](ec2-auto-scaling-warm-pools.md#instance-reuse-policy)。

```
{
  "version": "0",
  "id": "12345678-1234-1234-1234-123456789012",
  "detail-type": "EC2 Instance Terminate Unsuccessful",
  "source": "aws.autoscaling",
  "account": "123456789012",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "region": "us-west-2",
  "resources": [
    "auto-scaling-group-arn",
    "instance-arn"
  ],
  "detail": {
    "StatusCode": "Failed",
    "AutoScalingGroupName": "my-asg",
    "ActivityId": "87654321-4321-4321-4321-210987654321",
    "Details": {
      "Availability Zone": "us-west-2b",
      "Subnet ID": "subnet-12345678"
    },
    "RequestId": "12345678-1234-1234-1234-123456789012",
    "StatusMessage": "message-text",
    "EndTime": "yyyy-mm-ddThh:mm:ssZ",
    "EC2InstanceId": "i-1234567890abcdef0",
    "StartTime": "yyyy-mm-ddThh:mm:ssZ",
    "Cause": "description-text",
    "Origin": "AutoScalingGroup",
    "Destination": "EC2"
  }
}
```