除us-east-1

时间:2020-07-07 04:43:20

标签: amazon-web-services aws-lambda amazon-cloudfront aws-lambda-edge

我正在尝试使用链接到原始请求事件的lambda @ Edge函数来配置Cloudfront发行版。 lambda边缘返回一个非常基本的html页面(代码基于以下示例:Serving Static Content (Generated Response))。部署后,该发行版将在北弗吉尼亚地区附近的位置按预期工作,但在其他位置失败并返回以下错误:

503:与CloudFront发行版关联的Lambda函数 被节流了。我们无法连接到该应用或网站的服务器 此时。流量或配置可能过多 错误。请稍后再试,或与应用程序或网站所有者联系。如果你 通过CloudFront向客户提供内容,您可以找到以下步骤 通过查看CloudFront进行故障排除并帮助防止该错误 文档。

我已经尝试查看日志,但是当抛出503错误并且CF分发中的日志显示 lambdalimitExceeded 错误时,cloudwatch中没有任何记录。

我一直在使用VPN在不同位置之间跳来跳去,但我发现奇怪的是,它仅适用于us-east-1地区附近的地方。我正在使用联合帐户创建所有资源,我不知道它是否可能与IAM权限有关。

要指出的另一件事是,如果我使用另一个AWS帐户和普通用户重现相同的方案,一切都会按预期进行。

1 个答案:

答案 0 :(得分:0)

如果看到lambdalimitExceeded,则需要查看Lambda @ Edge函数的以下内容:

  • 函数执行次数超过了Lambda设置的配额(以前称为限制)之一,以限制AWS区域中的执行(并发执行或调用频率)。
  • 该函数超出了Lambda函数超时配额。

请记住Lambda @ Edge是在离用户更近的地方执行的,如果您尝试检索(到该区域的)外部资源,则由于地理延迟而可能会超时,是否可以增加超时来解决这个问题?

您在运行Lambda的区域中运行其他Lambda吗?如果您查看靠近用户边缘位置的区域之一的CloudWatch日志,您将看到这些Lambda日志,并希望能够确定根本原因。如果没有,请添加更多调试信息。