在情况模式不完全匹配的情况下触发SNS的Cloudwatch规则

时间:2019-05-07 07:30:22

标签: amazon-web-services amazon-cloudwatch

当模式不完全匹配时,是否可以创建触发SNS的CloudWatch规则?

通过以下示例,我希望这个问题会更加清楚:

{
 "source": [
  "aws.ec2"
 ],
 "detail": {
  "eventSource": [
   "ec2.amazonaws.com"
  ],
  "eventName": [
   "RunInstances"
  ]
 }
}

此外,我想指定区域:"awsRegion": "eu-central-1",但是(这里是棘手的部分)希望在awsRegion不是eu-central-1时触发SNS。

想法是在有人犯错并在错误的区域中运行实例时收到通知。

一旦我知道该怎么做,还将添加更多规则,因此问题不仅仅针对该地区,而是普遍的。

谢谢!

TeoVal

1 个答案:

答案 0 :(得分:0)

当模式不匹配时,当前无法触发。

您将必须接收有关SNS主题的所有区域的通知,并通过订阅主题的Lambda函数(或直接将Lambda作为目标)来实现自己的逻辑。

还请注意,可以使用与以下类似的策略来限制用户在特定区域内进行API调用(限制对us-east-1eu-central-1区域的调用):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RegionsRestriction",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:RequestedRegion": [
                        "us-east-1",
                        "eu-central-1"
                    ]
                }
            }
        }
    ]
}