向不同地区的SNS发出CloudWatch警报

Mar*_*bst 6 amazon-web-services amazon-sns amazon-cloudwatch

我正在尝试通过位于其他区域的CloudWatch警报通知SNS主题。原因是我想要SMS警报,而该警报在我的服务所在的地区不可用。如果输入订阅的ARN并将更改保存在控制台中,则会收到“保存警报时出错。请重试。” 重试无济于事。在本地区域使用主题确实有效,但这不是我所需要的。

有没有办法通知其他地区的主题?如果没有,还有其他简单的方法可以实现我的目标吗?

Unk*_*nts 7

找不到任何明确表示无法完成此操作的文档,但是尝试使用CLI 从us-east-1设置SNS 作为eu-west-1中的警报操作,我得到了:

An error occurred (ValidationError) when calling the PutMetricAlarm operation: Invalid region us-east-1 specified. Only eu-west-1 is supported.
Run Code Online (Sandbox Code Playgroud)

因此,我假设它不受支持。

要获得所需的功能,您可以使用AWS Lambda。可以说您的服务位于不支持SMS的区域,我将以eu-central-1为例。

安装程序将如下所示:

  1. [ us-east-1 ]在支持SMS的区域中创建可以发送SMS消息的SNS主题。
  2. [ eu-central-1创建一个lambda函数,该函数从服务所在区域的步骤1开始将消息发送到SNS主题。
  3. [ eu-central-1 ]在您的服务所在的区域中创建一个SNS主题。对于SNS主题,使用AWS Lambda协议配置预订,并将其指向步骤2中的lambda。
  4. [ eu-central-1 ]在您的服务所在的区域创建警报,并将第3步中的SNS主题作为操作。