如何捕捉EC2计算实例即将停止/启动的事件?

当我去EC2控制台,我点击其中一个:

  1. 关掉
  2. 终止
  3. 重启
  4. 开始

…我想在我的“Director”机器上得到一个消息,例如启动实例,它正在closures,实际上不需要轮询来自API的所有状态

原因是,我使用API​​来运行自己的Nagios监控,所以我想要导演机器接收/捕获事件,并在Nagios上安排停机时间。

另外,如果是“终止”,导演将会更新厨师服务器,删除节点。

另一个原因是,经常轮询状态是非常有限的API,我不能连续的请求,但每隔1-5分钟。 但是这样,如果我从控制台中自己终止实例,实际发现这些信息需要很长时间,并相应地更新其他服务。

目前我正在研究可以在Linux实例上使用closures脚本,这将使远程API调用到Director,同时Director也将轮询状态。 但是,最好的方法是直接从EC2获得消息队列,而不需要编写额外的API,只要有可靠的有关事件事件的通知。

我真的更喜欢使用AWSfunction来做到这一点,除了Nagios。

你将需要自己处理这个问题。 无法将这种types的钩子添加到AWS API操作中。

而不是使用AWS控制面板,只需通过您select的脚本语言以编程方式执行所有这些操作即可。 然后,您可以在调用AWS API之前确保准备好所需的环境。

AWS最近推出了一项解决此问题的function – CloudWatch Events: https ://aws.amazon.com/blogs/aws/new-cloudwatch-events-track-and-respond-to-changes-to-your-aws-resources /