如何在我的 AWS 账户中使用 AWS Config 服务删除资源时接收自定义电子邮件通知?

上次更新时间:2019 年 11 月 21 日

我创建了一条 Amazon CloudWatch Events 规则,以便在 AWS 资源被删除时根据服务事件类型触发,但响应为 JSON 格式。如何才能收到含有自定义通知的电子邮件响应?  

简短描述

通过使用 CloudWatch Events 规则的自定义事件模式匹配 AWS Config 支持的资源类型。然后,将响应路由到某个 Amazon Simple Notification Service (Amazon SNS) 主题。

解决方法

在以下示例中,当 Amazon Elastic Compute Cloud (Amazon EC2) 实例被终止时会收到 SNS 通知。

注:您可以将资源类型替换为特定的 AWS 服务。

1.    如果您尚未创建 Amazon SNS 主题,请按照 Amazon SNS 入门中的说明创建一个。

注:Amazon SNS 主题必须与您的 AWS Config 服务位于同一区域。

2.    打开 CloudWatch 控制台

3.    在导航窗格中,选择规则,然后选择创建规则

4.    对于事件源,选择事件模式

5.    在创建事件模式以根据服务匹配事件下拉菜单中,选择自定义事件模式

6.    在创建自定义事件模式预览窗格中,复制并粘贴以下示例事件模式:

{
  "source": [
    "aws.config"
  ],
  "detail-type": [
    "Config Configuration Item Change"
  ],
  "detail": {
    "messageType": [
      "ConfigurationItemChangeNotification"
    ],
    "configurationItem": {
      "configurationItemStatus": [
        "ResourceDeleted"
      ]
    }
  }
}

7.    在目标中,选择添加目标

8.    选择目标下拉菜单,然后选择 SNS 主题

9.    在主题中,选择您的 SNS 主题。

10.   展开配置输入,然后选择输入转换器

11.   在输入路径文本框中,复制并粘贴以下示例路径:

{
    "awsRegion": "$.detail.configurationItem.awsRegion",
    "awsAccountId": "$.detail.configurationItem.awsAccountId",
    "resource_type": "$.detail.configurationItem.resourceType",
    "resource_ID": "$.detail.configurationItem.resourceId",
    "configurationItemCaptureTime": "$.detail.configurationItem.configurationItemCaptureTime"
}

12.   在输入模板文本框中,复制并粘贴以下示例模板:

"On <configurationItemCaptureTime> AWS Config service recorded a deletion of the resource <resource_ID> type <resource_type> in the account <awsAccountId> region <awsRegion>. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=<awsRegion>#/timeline/<resource_type>/<resource_ID>/configuration"

13.   选择配置详细信息

14.   在名称中,为您的规则输入名称,然后选择创建规则

15.   触发某个事件类型时,您将收到一封 SNS 电子邮件通知,其中的自定义字段将从第 12 步填充,与以下所示类似:

"On ExampleTime AWS Config service recorded a deletion of the resource ExampleID type
 ExampleResourceType in the account ExampleAccountID region ExampleRegion. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=*ExampleRegion*#/timeline/*ExampleResourceType*/*ExampleID*/configuration"