我已经成功部署了一个 AWS Lambda 函数来接收来自 AWS ECR 的图像扫描事件。我使用的区域是ap-southeast-1
. 但是,我注意到 Lambda 函数无法从另一个区域(即eu-central-1
)接收来自 AWS ECR 的事件。
有没有办法让我的 Lambda 接收来自另一个区域的 AWS ECR 的事件,而无需在多个区域中部署它?
谢谢!
根泽
我已经成功部署了一个 AWS Lambda 函数来接收来自 AWS ECR 的图像扫描事件。我使用的区域是ap-southeast-1
. 但是,我注意到 Lambda 函数无法从另一个区域(即eu-central-1
)接收来自 AWS ECR 的事件。
有没有办法让我的 Lambda 接收来自另一个区域的 AWS ECR 的事件,而无需在多个区域中部署它?
谢谢!
根泽
我对 EventBridge 事件的理解与@blr 的类似,但我通过让事件首先进入队列来解决这个问题,然后可以跨区域订阅 lambda。这似乎比在每个区域部署 lambda 函数的开销要低一些。
这取决于 ECR 如何将事件发送到 EventBridge。我不确定,但大多数 AWS 服务仅在同一区域内发送事件。所以 eu-central-1 事件仅在 eu-central-1 中。最简单的解决方法是在所有区域部署相同的功能。
您还可以利用 API-Gateway 的多区域功能。此博客显示了一个略有不同的用例,但可能有助于理解如何调用跨区域 lambda https://aws.amazon.com/blogs/compute/building-a-multi-region-serverless-application-with -amazon-api-gateway-and-aws-lambda/
在所有情况下,您都需要在需要到达 ECR 事件并将它们发送到同一区域目标的每个区域中创建规则。