CloudFormation创建的Lambda@Edge函数无法删除问题求助
Lambda@Edge残留函数删除操作指南
报错原因说明
你遇到的报错是Lambda@Edge的版本级复制标记未清除导致的,CloudFormation回滚过程中如果资源状态同步异常,会导致已无关联的函数版本仍然保留复制标记,无法直接删除。
排查与操作步骤
- 第一步:确认所有隐藏关联
多数情况下无法找到关联是因为未覆盖全量资源范围,优先排查以下位置:- CloudFront控制台全量分发(包含已禁用、正在删除状态的分发),逐个检查四个触发点位(viewer request、viewer response、origin request、origin response)的函数关联
- CloudFormation旧栈的残留资源、跨栈导出值引用,确认没有其他栈导入了该函数版本ARN
- 函数本身的别名配置,确认没有别名绑定到报错提示的版本
2
- 第二步:使用CLI尝试删除指定版本
不要直接删除主函数,优先删除残留的版本实例,执行以下命令:aws lambda delete-function --function-name arn:aws:lambda:us-east-1:326353638202:function:web-comp-cloud-front-fn-prod --qualifier 2 - 第三步:后台标记残留处理
如果执行上述命令仍然返回相同报错,说明是AWS后台的复制元数据同步失败导致的标记残留,直接提交AWS支持工单,选择Lambda服务分类,上传报错截图和对应函数ARN,申请后台清除残留复制标记即可。
注意事项
- Lambda@Edge的复制标记清除存在最长24小时的同步窗口期,确认无关联后可先等待24小时再尝试删除,部分轻度同步延迟的情况会自动恢复
- 不要删除函数主版本,仅删除对应报错的版本实例即可,避免影响正在使用的其他版本业务
内容的提问来源于stack exchange,提问作者romuloleidemer
相关产品推荐
相关产品推荐

