如何在我的 EC2 实例状态更改时收到自定义电子邮件通知?

上次更新日期:2022 年 3 月 1 日

我希望在 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.    对于 Type(类型),选择 Standard(标准)。

4.    对于 Name(名称),输入主题的名称。

5.    对于 Display name(显示名称),为主题输入显示名称。

6.    选择 Create topic(创建主题)。

7.    在 Subscriptions(订阅)选项卡上,选择 Create subscription(创建订阅)。

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

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

10.    选择 Create subscription(创建订阅)。

订阅确认电子邮件将发送到您输入的地址。在电子邮件中选择确认订阅。请注意您创建的 SNS 主题。您可以在创建 EventBridge 规则时使用本主题。

创建 EventBridge 事件

1.    打开 EventBridge 控制台,然后从导航窗格中选择 事件

2.    选择创建规则

3.    为规则输入名称。可选择输入描述

4.    在 Define pattern(定义模式)中,选择 Event pattern(事件模式)。

5.    对于 Event matching pattern(事件匹配模式),选择 Pre-defined pattern by service(按服务分类的预定义模式)。

6.    对于 Service provider(服务提供商),选择 AWS

7.    对于 Service name(服务名称),选择 EC2

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

9.    选择任何状态

10.    选择任何实例

11.    在选择目标中,从目标下拉菜单列表中选择 SNS 主题

12.    对于主题,选择您之前创建的主题名称。

13.    对于配置输入,选择输入转换器

14.    对于输入路径,输入以下内容:

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

15.    对于输入模板,输入以下内容:

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

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

16.    选择 Create rule(创建规则)。

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

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


这篇文章对您有帮助吗?


您是否需要账单或技术支持?