【问题标题】:Where is the lambda@edge aws executedlambda@edge aws 在哪里执行
【发布时间】:2020-04-10 02:26:33
【问题描述】:
我们在云端部署了 lambda@edge。我们看到默认限制是每个 AWS 区域 1000 个 lambda 并发。
据我了解,lambda@edge 在边缘位置执行,并且该边缘位置附加到一个区域(例如伦敦或法兰克福)。第一次调用 cloudfront 时,lambda@edge 从区域拉到边缘位置并在此处执行。
那么限制 1000 lambda 并发只在区域内,不在边缘位置?
【问题讨论】:
标签:
amazon-web-services
concurrency
location
amazon-cloudfront
aws-lambda-edge
【解决方案1】:
您的并发限制是每个区域的。每个区域还有每秒触发次数限制,但可以根据 AWS 支持的请求提高这两个限制。
对于该请求,每个 Lambda@Edge 调用都在一个特定 AWS 区域的控制下运行,该区域靠近查看器连接到 CloudFront 的边缘站点。您可以轻松观察到这一点,因为 AWS_REGION 环境变量始终设置为控制区域。
实际上并未记录实际执行 Lambda@Edge 触发器的位置——当然,除了“在边缘”——但在 2016 年 11 月 30 日,AWS announced 为 CloudFront 提供了一个新的两层架构,其中现有的外层称为“全局边缘”,新的内层称为“区域边缘”。从字面上看,一天后,即 12 月 1 日,Lambda@Edge 预览版was announced...所以有问题的边缘可能是内层的边缘。