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

Why Lambda@Edge has to be in us-east-1 region?

我正在尝试在 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

这似乎是一个武断的决定。 Lambda@Edge 函数分布在全球,但它们起源于一个地方。原因很可能是需要有一个单一的事实来源,他们选择了 us-east-1。这也是第一个区域,并且在某些方面很特别(它处理计费等)。它可能对他们的后端有一些我们不知道的好处。

原因是因为Cloud-front的控制平面只在us-east-1。 即,如果 us-east-1 出现故障,则 update/create 分发的能力下降。

因为 cloudfront 部署在 us-east-1 上,尽管它是全球服务。