用于ec2实例创建和终止的SNS通知

时间:2018-01-12 12:26:41

标签: amazon-web-services amazon-ec2 aws-lambda

无论何时在我的AWS账户中创建/终止ec2实例,我都希望通过电子邮件收到通知。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:6)

最简单的方法(IMO)是使用CloudWatch Events服务以及配置为向您的电子邮件ID发送电子邮件的SNS主题。

在AWS Web控制台中,转到CloudWatch - >事件(左侧面板) - >规则 - > '创建规则'

In' Event Source'选择事件模式'。然后选择' Events By Service'。在服务名称前面#39;选择EC2'并且对于“事件类型”,选择“EC2实例状态更改通知'”。您可以选择“任何州”'收到有关每个州变更的通知或选择您感兴趣的特定州('正在运行'终止' |'停止'可能符合您的利益) 。在右侧,点击添加目标'然后选择' SNS主题'从下拉列表。然后选择您已配置的SNS主题,以将通知电子邮件发送到您的电子邮件ID。

enter image description here

希望这有帮助!

答案 1 :(得分:0)

我可以想出两种方法来解决这个问题:

  1. 启用 Cloudtrail 并将其流式传输到 Cloudwatch 。在Cloudwatch中,您可以创建在创建实例时发送SNS的规则。 Cloudtrail和Cloudwatch会收取一些费用。
  2. 使用 Lambda :当CloudTrail在S3中创建对象时,触发导致Lambda函数执行的事件。 Lambda函数然后解析S3对象并检查RunInstances事件。如果找到var triggerOnce = true; var permalinkArray = []; function callFaceBookPixel(permalink){ if(permalinkArray.indexOf(permalink) === -1) { permalinkArray.push(permalink); triggerOnce = true; } if(triggerOnce){ triggerOnce = false; fbq('track', 'Lead'); } } ,则提取实例的其他属性并使用AWS SES发送邮件。
  3. 解决方案1 ​​:AWS处理所有问题。提供微小的AWS费用(Cloudwatch + SNS)。没有多少机会知道事情是如何运作的。

    解决方案2 :从Cloudtrail开始,您可以控制流量。 Lambda和SES几乎是免费的(Lambda执行是免费的,在SES沙箱模式下最多可以免费发送200封电子邮件)。有机会了解S3 / Lambda / SES。