如何在 EC2 实例更改状态时获取自定义电子邮件通知?

1 分钟阅读
0

我想在 Amazon Elastic Compute Cloud(Amazon EC2)实例更改状态时接收电子邮件通知。该如何操作?

简短描述

要在 EC2 实例更改状态时接收电子邮件通知,请执行以下操作:

1.    创建 Amazon Simple Notification Service(Amazon SNS)主题。SNS 主题将向订阅端点或客户端发送消息。

2.    使用 EC2 实例状态更改通知事件类型创建 Amazon EventBridge。

解决方法

创建 SNS 主题

1.    打开 Amazon SNS 控制台,然后从导航窗格中选择主题

2.    选择创建主题

3.    对于类型,选择标准

4.    对于名称,为您的主题输入名称。

5.    对于显示名称,为您的主题输入显示名称。

6.    选择创建主题

7.    在订阅选项卡上,选择创建订阅

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

9.    对于端点,输入想要用来接收通知的电子邮件地址。

10.  选择创建订阅

会向您输入的地址发送订阅确认电子邮件。在电子邮件中选择确认订阅。记下您创建的 SNS 主题。创建 EventBridge 规则时您会用到此主题。

创建 EventBridge 事件

1.    打开 EventBridge 控制台

2.    从主页上选择创建规则。或者,在边栏中的事件下选择规则,然后选择创建规则

3.    为您的规则输入名称。您也可以选择输入描述

4.    保留默认的事件总线规则类型设置,然后选择下一步

5.    在事件模式中,将事件源保留为 AWS 服务。对于 AWS 服务,选择 EC2

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

7.    保留默认设置任何状态任何实例,然后选择下一步

8.    对于选择目标,选择 SNS 主题

9.    对于主题,选择您之前创建的主题名称,然后选择下一步

10.  展开其他设置部分。对于配置目标输入,选择输入转换器

11.  选择配置输入转换器,然后输入以下文本:

        在输入路径中输入以下内容:

{"instance-id":"$.detail.instance-id", "state":"$.detail.state", "time":"$.time", "region":"$.region", "account":"$.account"}

        在模板中输入以下内容:

"At <time>, the status of your EC2 instance <instance-id> on account <account> in the AWS Region <region> has changed to <state>."

        **注意:**输入模板还允许自定义输入。

12.  选择下一步

13.  将可选标签留空,选择下一步。然后,选择创建规则

        注意: 您创建的规则适用于一个 AWS 区域。

您可以通过启动或停止实例来测试规则。每次实例更改为任何状态(包括已停止)时,此规则都会生成电子邮件通知。


AWS 官方
AWS 官方已更新 2 年前