删除Elastic Beanstalk应用遇AWSEBRDSDatabase报错,该如何处理?
解决Elastic Beanstalk删除时因提前删除RDS导致的栈失败问题
这种情况我碰过好多次了——你手动提前删掉了EB关联的RDS实例,结果EB背后的CloudFormation栈还在试图去删除那个已经不存在的资源,自然就报错卡住了。按下面的步骤操作就能顺利完成删除:
- 首先打开AWS CloudFormation控制台,找到和你的Elastic Beanstalk环境对应的栈(通常栈名是类似
awseb-e-xxxxxx-stack的格式,和EB环境的ID对应) - 进入该栈的资源标签页,找到状态显示为
DELETE_FAILED的AWSEBRDSDatabase资源,记下它的逻辑ID(一般就是AWSEBRDSDatabase) - 接下来有两种方式跳过这个失败的资源删除:
- 使用AWS CLI:执行以下命令,把
YOUR_STACK_NAME替换成你找到的CloudFormation栈名:aws cloudformation delete-stack --stack-name YOUR_STACK_NAME --skip-resource-deletions AWSEBRDSDatabase - 使用控制台:在CloudFormation栈的详情页点击「删除」按钮,展开「高级选项」,找到「跳过资源删除」的输入框,填入
AWSEBRDSDatabase,然后确认删除
- 使用AWS CLI:执行以下命令,把
- 等CloudFormation栈删除完成后,回到Elastic Beanstalk控制台,就能正常删除你的应用和环境了
小提醒:以后如果要删除关联了RDS的EB应用,建议直接通过EB的删除流程操作,让它自动处理关联资源的清理,避免手动提前删除导致这类栈错误。
内容的提问来源于stack exchange,提问作者Nitish Shiggaon
相关产品推荐
相关产品推荐

