如何解决 Lambda 预留并发问题?

上次更新日期:2022 年 10 月 26 日

我已经为我的 AWS Lambda 函数配置了预留并发功能,但是该函数不起作用。如何解决此问题?

解决方法

以下是设置保留并发失败后 Lambda 函数失败的可能原因:

  • 没有足够的并发量可供保留。
  • 保留的并发设置会导致节流行为或 429 状态码。

请按照以下步骤解决保留并发问题:

1.    确认您已经为 Lambda 函数配置了保留并发。使用 Lambda 控制台或调用 GetFunction API 来检查设置。
注意:配置为零保留并发的 Lambda 函数被节流,因为它不能处理任何事件。请务必将该值增加到一个大于零的数字。

2.    检查 Lambda 函数是否已设置为无法扩展该函数,从而生成 429 状态码。
有关更多信息,请参阅如何排查出现 "Rate exceeded" 和 429 "TooManyRequestsException" 错误时的 Lambda 函数节流问题?

3.    查看 Amazon CloudWatch 指标,查看 Lambda 函数的 ConcurrentExecutions最大统计数据。查看 ConcurrentExecutions 指标是否达到了已配置的 Reserved Concurrency(已保留并发)值。
有关并发指标的更多信息,请参阅使用 Lambda 函数指标和查看使用并发指标部分。

4.    将 Lambda 函数的预留并发增加到某个能使其避免限流的并发值。使用 Lambda 控制台或调用 PutFunctionConcurrency API 来更改设置。

5.    如果您仍然无法解决问题,请向 AWS Support 提交案例。在案例中提供以下信息:

  • Lambda 函数 ARN。
  • 包含所有服务的 Lambda 函数设置的工作流程。
  • 有关问题是间歇性还是持续性的详细信息。
  • 问题的确切时间戳,时区或时间戳采用 UTC 时间。

注意:出于安全和隐私原因,AWS Support 代表无权访问客户 Amazon CloudWatch Logs。