实例的状态更改事件 - Amazon Elastic Compute Cloud

实例的状态更改事件

当实例状态发生更改时,Amazon EC2 会向 Amazon EventBridge 发送 EC2 Instance State-change Notification 事件。

以下是此事件的示例数据。在此示例中,实例进入了 pending 状态。

{ "id":"7bf73129-1428-4cd3-a780-95db273d1602", "detail-type":"EC2 Instance State-change Notification", "source":"aws.ec2", "account":"123456789012", "time":"2021-11-11T21:29:54Z", "region":"us-east-1", "resources":[ "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111" ], "detail":{ "instance-id":"i-abcd1111", "state":"pending" } }

state 可使用的值为:

  • pending

  • running

  • stopping

  • stopped

  • shutting-down

  • terminated

当您启用或启动实例时,它会进入 pending 状态,然后进入 running 状态。当您停止实例时,它会进入 stopping 状态,然后进入 stopped 状态。当您终止实例时,它会进入 shutting-down 状态,然后进入 terminated 状态。

在实例状态更改时接收电子邮件通知

若要在实例状态更改时接收电子邮件通知,请创建一个 Amazon SNS 主题,然后为 EC2 Instance State-change Notification 事件创建一条 EventBridge 规则。

创建 SNS 主题
  1. 通过 https://console.aws.amazon.com/sns/v3/home 打开 Amazon SNS 控制台。

  2. 在导航窗格中,选择 Topics(主题)

  3. 选择创建主题

  4. 对于类型,选择标准

  5. 对于 Name(名称),请为主题输入一个名称。

  6. 选择创建主题

  7. 选择创建订阅

  8. 对于协议,选择电子邮件

  9. 对于 Endpoint(端点),请输入接收通知的电子邮件地址。

  10. 选择创建订阅

  11. 您将收到电子邮件消息,其主题行为:AWS Notification - Subscription Confirmation。请按照说明确认订阅。

创建 EventBridge 规则
  1. 打开位于 https://console.aws.amazon.com/events/ 的 Amazon EventBridge 控制台。

  2. 选择 Create rule (创建规则)

  3. 对于 Name(名称),请为规则输入一个名称。

  4. 对于规则类型,选择具有事件模式的规则

  5. 选择下一步

  6. 对于 Event pattern(事件模式),执行以下操作:

    1. 对于事件源,选择 AWS 服务

    2. 对于 AWS 服务,请选择 EC2

    3. 对于事件类型,请选择 EC2 实例状态更改通知

    4. 默认情况下,我们会就任何实例的任何状态更改发送通知。如果愿意,您可以选择特定状态或特定实例。

  7. 选择下一步

  8. 按以下操作指定目标:

    1. 对于 Target types(目标类型),选择 AWS 服务

    2. 对于 Select a target(选择一个目标),选择 SNS topic(SNS 主题)。

    3. 对于 Topic(主题),请选择您在上一步中创建的 SNS 主题。

  9. 选择下一步

  10. (可选)向规则添加标签。

  11. 选择下一步

  12. 选择创建规则

  13. 为测试规则,请发起状态更改。例如,开始已停止的实例、停止正在运行的实例或启动实例。您将收到电子邮件消息,其主题行为:AWS Notification Message。电子邮件正文包含事件数据。