我已经为我的 AWS Lambda 函数配置了并发配置,但这不起作用。如何解决此问题?
解决方法
以下原因是您为 Lambda 函数设置预配置并发后可能导致失败的原因:
- 您可能正在使用 $LATEST 版本的 Lambda 来调用 Lambda 函数,而不是配置了配置的并发版本调用 Lambda 函数。
- 所有预配置的并发都在使用中,因此您的 Lambda 函数是以标准并发方式调用的。这会导致冷启动。
- 您的账户已超过其爆发限制。
请按照以下步骤解决预置的并发问题:
1. 确认用于配置预置并发的 Lambda 函数未设置为 $LATEST。这是因为 Lambda 函数的未发布版本不支持预置并发。
有关更多信息,请参阅 Lambda 函数版本和配置预置并发。
2. 在 Lambda 函数配置中,验证您提供的并发显示 Ready(就绪)状态。
3. 在 Amazon CloudWatch 控制台的 Metrics(指标)页面中,查看 ProvisionedConcurrencySpilloverInvocations 指标。此指标显示在使用所有预配置的并发时您的 Lambda 函数以标准并发运行的次数。
有关预配置并发指标的更多信息,请参阅配合使用 Lambda 函数指标和查看使用调用指标部分。
4. 检查是否为 Lambda 函数配置了预留并发。预留并发限制了函数纵向扩展的能力。
5. 如果您仍然无法解决问题,则向 AWS Support 提交案例。在案例中提供以下信息:
- Lambda 函数 ARN。
- 包含所有服务的 Lambda 函数设置的工作流程。
- 有关问题是间歇性还是持续性的详细信息。
- 从问题发生时起,以 .txt 格式填写的 CloudWatch 日志。这些 CloudWatch 日志用于识别 Lambda 函数错误,包括超时问题、init 持续时间和权限问题。
- 问题的确切时间戳,时区或时间戳采用 UTC 时间。
注意:出于安全和隐私原因,AWS Support 代表无权访问客户 CloudWatch 日志。
有关更多故障排除信息,请参阅 Lambda:冷启动,预置并发。
注意:与预留并发不同,使用预置并发会产生额外费用。有关预配置并发成本的详细信息,请参阅 AWS Lambda 定价。为了保持较低的预置并发成本,可以考虑为您的组织安排预配置的并发使用量。有关更多信息,请参阅为周期性峰值使用调度 AWS Lambda 调配的并发。
相关信息
Lambda 函数的预置并发功能
指标的类型
访问 AWS Lambda 的 CloudWatch 日志
排查 Lambda 中的调用问题