CloudFormation部署Lambda时Provisioned Concurrency配置失败咨询
CloudFormation部署Lambda预配置并发失败:原因与规避方案
错误核心
你遇到的NotStabilized错误,本质是CloudFormation尝试给Lambda函数应用预配置并发时,目标函数版本或资源状态未达到稳定可用状态,导致配置无法生效。
常见原因
- 函数版本未完成稳定化:如果用的是
LATEST版本(比如错误里的tarponPublicApiTransactionEventFunctionLATEST5FBE7183),这个版本是动态更新的,代码变更后Lambda需要时间完成版本的发布、初始化,此时直接配置预并发会失败。 - 预并发资源配额不足:当前AWS账号在目标区域的Lambda预配置并发配额已耗尽,无法分配新的暖实例资源。
- 函数初始化异常:Lambda函数本身存在初始化错误(比如依赖缺失、IAM权限不足、初始化超时),导致预并发的暖实例无法正常启动。
- 部署顺序冲突:一次性同时更新Lambda代码和预并发配置,CloudFormation没有等待代码部署完成、版本稳定就执行预并发配置操作。
规避与解决方法
- 弃用
LATEST版本配置预并发:在CloudFormation模板中显式创建AWS::Lambda::Version资源,绑定特定的函数版本,确保预并发配置在一个稳定、固定的版本上执行。 - 强制部署依赖顺序:使用CloudFormation的
DependsOn属性,让预并发配置资源(比如AWS::Lambda::ProvisionedConcurrencyConfig)依赖于Lambda版本资源,确保版本完全创建后再触发预并发配置。 - 检查并提升配额:在AWS控制台查看当前区域的Lambda预配置并发配额,若不足,提交配额提升申请。
- 排查函数初始化问题:手动测试Lambda函数的初始化流程,确认没有权限、依赖或超时问题;可以先手动给函数配置预并发,验证是否能成功,排除函数本身的问题。
- 拆分部署流程:不要一次性批量更新所有Lambda的代码和预并发,分成两个阶段:先部署所有函数代码并发布稳定版本,再单独部署预并发配置。
内容的提问来源于stack exchange,提问作者Aman Dugar
相关产品推荐
相关产品推荐

