我如何使用 CloudWatch 警报和 SNS 监控 EC2 实例的自动恢复?

上次更新时间:2019 年 3 月 12 日

我要为我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例配置自动恢复。如何使用 Amazon CloudWatch (CloudWatch) 和 Amazon Simple Notification Service (Amazon SNS) 监控这些自动恢复操作?

简短描述

您可以将 CloudWatch 警报配置为自动恢复受损的 EC2 实例并通过 Amazon SNS 通知您。但是,SNS 通知本身不包括自动恢复操作的结果。

您还必须配置 Amazon CloudWatch Events 规则,以监控您实例的 AWS Personal Health Dashboard (AWS Health) 事件。然后,系统会通知您实例自动恢复操作的结果。

解决方法

为您的 EC2 实例创建 CloudWatch 警报。有关更多信息,请参阅我如何设置 CloudWatch 警报以自动恢复我的 EC2 实例?

  • 发送通知至中,输入您的 SNS 主题名称。
  • 对于采取措施,请选择恢复

配置 CloudWatch 事件以监控以下 AWS Health 事件。 对于目标,请选择您创建的 SNS 主题。

  • AWS_EC2_INSTANCE_AUTO_RECOVERY_SUCCESS
  • AWS_EC2_INSTANCE_AUTO_RECOVERY_NO_ACTION
  • AWS_EC2_INSTANCE_AUTO_RECOVERY_FAILURE

您也可以使用 AWS 命令行界面 (AWS CLI) 来列出与 EC2 实例自动恢复关联的 AWS Health 事件。如下所示,将命令 describe-event-types 与适当的 --region 结合使用:

$ aws health describe-event-types --filter services=EC2 --query eventTypes[].code --region us-east-1 | grep AUTO_RECOVERY
"AWS_EC2_INSTANCE_AUTO_RECOVERY_FAILURE",
"AWS_EC2_INSTANCE_AUTO_RECOVERY_NO_ACTION",
"AWS_EC2_INSTANCE_AUTO_RECOVERY_SUCCESS",

然后,自动恢复结果便会通过电子邮件发送到您的 AWS 账户主联系人和其他联系人。查找类似于以下内容的电子邮件主题行:

  • [自动恢复] Amazon EC2 实例恢复:成功
  • [自动恢复] Amazon EC2 实例恢复:未执行任何操作
  • [自动恢复] Amazon EC2 实例恢复:失败

这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?