![Route 53 健康检查和 CloudWatch 事件](https://linux22.com/image/746163/Route%2053%20%E5%81%A5%E5%BA%B7%E6%A3%80%E6%9F%A5%E5%92%8C%20CloudWatch%20%E4%BA%8B%E4%BB%B6.png)
我配置了 Route 53 健康检查,用于在检查失败时将网站移入或移出“维护模式”。一切都运行良好且自动化。
Route 53 健康检查可以选择配置警报并向 SNS 主题发送通知。同样非常可爱。但是,我无法控制实际发送的消息,坦率地说,它非常丑陋/技术性。
我希望能够“转换”消息,就像我们可以使用 CloudWatch Events 所做的那样,使其对 C 级和经理级的目标受众更有用。所以,这意味着我需要构建一个 CloudWatch 事件(我猜)。这就是我的挣扎所在。
Route 53 和 CloudWatch Events 的唯一选项是“通过 CloudTrail 进行 AWS API 调用”,而这正是我失去踪迹的地方。不确定这是否可行。有人这样做过吗?
或者更好的想法?我想有人会说,“哦,只需编写一个 Lambda”并从 SNS 触发它来发送电子邮件。我已经 15 年没有写过代码了……我不确定这是我最好的选择 ;-) 不过,如果有帮助的话,我可以编写一点 PowerShell。
答案1
好吧,这并不像我想象的那么难。只是需要“想一想”。
首先,我禁用了 Route 53 健康检查警报的“发送通知”。在 CloudWatch 事件中,我创建了一条规则来监控健康检查器的警报状态——然后我可以对发送到 SNS(最终发送到电子邮件分发组)的消息进行输入转换。
{
"source": [
"aws.cloudwatch"
],
"detail-type": [
"CloudWatch Alarm State Change"
],
"detail": {
"alarmName": [
"THE-ALARM-NAME-FOR-THE-ROUTE53-HEALTHCHECK"
]
}
}