实例的状态更改事件
当实例状态发生更改时,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 主题
通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home
。 -
在导航窗格中,选择 Topics(主题)。
-
选择 Create topic(创建主题)。
-
对于 Type(类型),选择 Standard(标准)。
-
对于 Name(名称),请为主题输入一个名称。
-
选择 Create topic(创建主题)。
-
选择 Create subscription(创建订阅)。
-
对于协议,选择电子邮件。
-
对于 Endpoint(端点),请输入接收通知的电子邮件地址。
-
选择 Create subscription(创建订阅)。
-
您将收到电子邮件消息,其主题行为:AWS Notification - Subscription Confirmation。请按照说明确认订阅。
创建 EventBridge 规则
打开位于 https://console.aws.amazon.com/events/
的 Amazon EventBridge 控制台。 -
选择 Create rule (创建规则)。
-
对于 Name(名称),请为规则输入一个名称。
-
对于 Rule type(规则类型),选择 Rule with an event pattern(具有事件模式的规则)。
-
选择 Next(下一步)。
-
对于 Event pattern(事件模式),执行以下操作:
-
对于事件源,选择 AWS 服务。
-
对于 AWS 服务,请选择 EC2。
-
对于事件类型,请选择 EC2 实例状态更改通知。
-
默认情况下,我们会就任何实例的任何状态更改发送通知。如果愿意,您可以选择特定状态或特定实例。
-
-
选择 Next(下一步)。
-
按以下操作指定目标:
-
对于 Target types(目标类型),选择 AWS 服务。
-
对于 Select a target(选择一个目标),选择 SNS topic(SNS 主题)。
-
对于 Topic(主题),请选择您在上一步中创建的 SNS 主题。
-
-
选择 Next(下一步)。
-
(可选)向规则添加标签。
-
选择 Next(下一步)。
-
选择 Create rule(创建规则)。
-
为测试规则,请发起状态更改。例如,开始已停止的实例、停止正在运行的实例或启动实例。您将收到电子邮件消息,其主题行为:AWS Notification Message。电子邮件正文包含事件数据。