跨区域使用 CloudWatch 事件调用 lambda

Invoking lambda with CloudWatch events across regions

我在 us-east-1 中部署了一个 lambda 函数,它会在每次启动 EC2 实例时运行。 使用以下 EventBridge 配置触发 lambda 函数:

{
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "source": [
    "aws.ec2"
  ],
  "detail": {
    "eventName": [
      "RunInstances"
    ]
  }
}

lambda 函数运行良好。现在,我希望对其进行扩展,以便即使在 不同区域(例如 us-east-2)中启动 EC2 实例时也会触发我的 lambda 函数。

我怎样才能做到这一点?

一种选择是将 SNS 作为事件目标并将 lambda 订阅到 SNS 主题。 SNS支持跨区域订阅。

另一种选择是使用跨区域事件总线。您创建一个将事件转发到另一个区域的规则,并在该区域中创建另一个调用 lambda 的事件规则。更多信息在这里:https://aws.amazon.com/blogs/compute/introducing-cross-region-event-routing-with-amazon-eventbridge/

最近宣布了一项新功能,可以帮助处理 aws lambda 的跨区域用例:https://aws.amazon.com/blogs/compute/introducing-cross-region-event-routing-with-amazon-eventbridge/

Amazon eventBridge 是跨区域(和跨账户)事件处理的好方法