求助:无法删除处于ROLLBACK_COMPLETE状态的CloudFormation Stack
解决CloudFormation栈删除失败的问题
步骤1:创建替代IAM角色
报错提示的原执行角色已失效,需创建临时角色供CloudFormation执行删除操作:
- 打开IAM控制台,点击「角色」→「创建角色」。
- 信任实体类型选「AWS服务」,指定使用该角色的服务为「CloudFormation」,点击「下一步」。
- 附加
AdministratorAccess权限策略(临时使用,删完栈即可删除该角色),点击「下一步」。 - 给角色命名(比如
temp-cfn-delete-role),完成创建后复制角色ARN(格式:arn:aws:iam::<你的账号ID>:role/temp-cfn-delete-role)。
步骤2:指定角色删除栈
执行以下CLI命令,替换为你的角色ARN和目标栈名:
aws cloudformation delete-stack --stack-name compose-application --role-arn arn:aws:iam::<你的账号ID>:role/temp-cfn-delete-role
步骤3:清理残留EFS资源(若仍失败)
如果删除仍因EFS卷报错,按以下操作:
- 打开CloudFormation控制台,进入
compose-application栈,切换到「资源」标签页,找到类型为AWS::EFS::FileSystem的资源,复制其物理ID。 - 执行CLI命令强制删除该文件系统:
aws efs delete-file-system --file-system-id <复制的物理ID>
- 再次执行步骤2的删除命令。
步骤4:跳过无法删除的资源(终极方案)
若以上方法都无效,使用控制台的跳过功能:
- 进入CloudFormation控制台的
compose-application栈,点击「删除」。 - 在弹出窗口展开「高级选项」,勾选「跳过无法删除的资源」,确认删除。
内容的提问来源于stack exchange,提问作者ohthepain
相关产品推荐
相关产品推荐

