我在多个不同的 AWS 账户和多个不同区域有 CloudWatch 警报。
我希望所有这些警报的操作通知(例如“警报 X 从状态正常更改为警报中”)填充到单个 SQS 队列。有没有办法做到这一点,而不需要在每个区域创建单独的 SNS 主题/Lambda 函数? IE。在理想的情况下,可能有一个主题/功能,所有警报都可以用于其警报操作(但根据我的理解,这是不可能的)。
注意:我知道CloudWatch支持跨账户跨区域控制台在单个仪表板中查看来自其他账户/区域的警报、指标等,但这不是我感兴趣的。我我只对将所有警报操作通知聚合到一个队列中以及执行此操作的最佳方法感兴趣。
尝试:我尝试使用区域 B 中的 SNS 主题在区域 A 中发出警报,并注意到 CloudWatch 报告错误,指示区域不能不同。我使用 Lambda 函数尝试了同样的操作,并在创建警报期间收到了类似的错误。
CloudWatch 警报会自动将事件发布到 EventBridge [1],因此您可以在其他区域配置 EventBridge 规则,将您感兴趣的事件转发到“聚合器”区域 [2]。然后,在聚合器区域中,您可以设置另一个规则,以您的 SQS 队列作为目标 [3]。
[1]