Rap*_*ete 2 amazon-ec2 amazon-web-services amazon-sns amazon-cloudwatch aws-lambda
我正在尝试创建一个 Cloudwatch 规则,该规则在实例终止时将 EC2 实例的名称(而不是 InstanceID)发送到 SNS。下面的代码片段是当我选择创建这个简单规则时 AWS 提供的默认事件模式,但我向“详细类型”对象添加了 1 个部分。此部分是“实例名称”。但这不起作用,因为我收到的 SNS 电子邮件仍然不包含实例的名称。它仅在消息中包含 InstanceID。
{
"source": [
"aws.ec2"
],
"detail-type": [
"Instance Name",
"EC2 Instance State-change Notification"
]
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我仅成功地从 Cloudwatch 规则获取了 InstanceID。是否可以通过 Cloudwatch 检索标签中的自定义元数据?
话虽这么说,如果无法通过 Cloudwatch,是否可以以某种方式将 SNS 主题发送到 Lambda,并使用 Lambda 函数将 instanceID 转换为实例名称?
我的项目的重点是,我可以使用 Lambda 运行一个脚本,一旦这些实例终止,该脚本就会从监控应用程序中删除这些实例。在 AWS 之外,我们使用他们的名称来识别他们,而不是他们的实例 ID。
无法让 CloudWatch 向 SNS 发送更多信息。您需要将 Lambda 函数订阅到 SNS 主题。在 Lambda 函数内,您需要使用 CloudWatch 消息中的实例 ID 进行 AWS API 调用,以获取实例的标签。
| 归档时间: |
|
| 查看次数: |
1854 次 |
| 最近记录: |