每次启动具有相同名称的EC2实例时如何创建自动CloudWatch警报?

时间:2019-04-05 20:51:05

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

背景:

  • 我有一个名为“测试主机”的EC2实例。我要监视此主机的运行状况。因此,我正在使用EC2指标StatusCheckFailed来监视此主机的运行状况。

我要解决的问题是:

  • 无论何时“测试主机”出现问题,我都会收到通知。我可能会终止并重新启动名为“测试主机”的新主机

  • 我想要实现的是尽快创建一个名为“测试主机”的新主机,我希望在CloudWatch上自动创建一个StatusCheckFailed警报。

到目前为止我尝试过的事情:

我能够编写一个小的Lambda python脚本,该脚本找到名称为“ Test Host”的EC2实例并创建StatusCheckFailed CloudWatch警报。

我找不到合适的CloudWatch事件来触发此Lambda函数。 [为了设置CloudWatch事件,我们需要实例ID。如果我终止并重新启动新实例,则将无法进行设置]

如果还有其他方法可以解决我的问题,我也很想听听。

1 个答案:

答案 0 :(得分:0)

您可以创建一个 Amazon CloudWatch Events规则,该规则将在实例进入特定状态时触发AWS Lambda函数:

CloudWatch Events rule

但是,这将在实例停止然后启动时触发。您可以更具体一些,并根据validation layer: Layout for input attachment is VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL but can only be READ_ONLY_OPTIMAL or GENERAL. UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout 创建一个规则:

CloudWatch Events rule

我不确定RunInstances是否足够,或者是否需要RunInstances,所以您可能需要尝试一下。