解决Amplify Push触发CloudFormation UPDATE_COMPLETE_CLEANUP_IN_PROGRESS错误
Amplify生产环境Push失败:栈状态异常+本地云端状态不一致解决方案
核心问题复盘
- 本地已删除
/email等API网关路由及对应Lambda,但云端CloudFormation仍在尝试配置这些已移除资源 - 栈卡在
UPDATE_COMPLETE_CLEANUP_IN_PROGRESS状态,常规回滚、权限调整、手动触发清理均无效 - Amplify本地状态与云端完全脱节,导致生产后端无法进行任何变更
实操解决步骤
强制同步本地与云端状态
- 执行命令:
amplify env pull --restore,强制拉取云端状态并覆盖本地配置 - 打开
amplify/backend/api/[你的API名称]/build目录,检查CloudFormation模板,确认已删除的/email路由相关资源(比如AWS::ApiGateway::Method、AWS::Lambda::Permission这类关联块)已被移除 - 如果模板里还有残留,直接手动删除对应代码块
- 执行命令:
清理CloudFormation停滞的清理进程
- 登录AWS控制台,找到Amplify应用对应的CloudFormation栈
- 进入「事件」标签,查看
UPDATE_COMPLETE_CLEANUP_IN_PROGRESS相关事件,确认是否有停滞的资源删除任务 - 触发「更新栈」操作,选择本地生成的最新CloudFormation模板(路径同上),跳过参数验证直接提交,强制覆盖云端栈配置
重置生产环境(极端情况)
- 若上述方法都没用,执行
amplify env remove main删除当前生产环境 - 重新创建生产环境:
amplify env add main,然后从正常的dev环境同步配置:amplify env pull main - 最后执行
amplify push,确保本地所有变更完全同步到云端
- 若上述方法都没用,执行
验证修复结果
- 推送完成后,去API网关控制台确认
/email等路由已彻底消失 - 检查Lambda控制台,对应已删除的函数已被清理
- 重新触发CICD流水线,验证后续部署能正常执行
- 推送完成后,去API网关控制台确认
内容的提问来源于stack exchange,提问作者Lacrosse343
相关产品推荐
相关产品推荐

