为什么Lambda@Edge必须在us-east-1区域?

15

我正试图在us-east-2(俄亥俄州)区域创建一个CloudFormation堆栈。但是,遇到以下错误:

com.amazonaws.services.cloudfront.model.InvalidLambdaFunctionAssociationException:
The function must be in region 'us-east-1'
我已查看以下来源并了解到这是一个必须由Lambda满足的要求,我的问题是为什么?为什么要设置这样的限制?我已经查看了文档,但它们只提到了使用us-east-1,没有提供任何原因!

https://github.com/awslabs/serverless-application-model/issues/635

https://medium.com/@mnylen/lambda-edge-gotchas-and-tips-93083f8b4152

3个回答

15

这似乎是一项任意的决定。Lambda@Edge函数被全球分布,但它们来自一个地方。原因很可能是需要一个单一的真相来源,他们选择了us-east-1。这也是第一个地区,在一些方面是特殊的(例如处理计费等)。它可能对他们的后端有一些我们不知道的好处。


4
原因是因为CloudFront的控制平面只在us-east-1地区。(即如果us-east-1地区出现故障,更新/创建分发的能力也会受到影响。)

2
因为CloudFront部署在us-east-1,尽管它是一个全球服务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接