如何删除与已删除的 Amazon RDS 数据库不再同步的 Elastic Beanstalk 环境?

上次更新时间:2020 年 4 月 24 日

当我尝试删除我的 AWS Elastic Beanstalk 环境时,我在我环境的事件流中收到以下错误消息:“删除名称为 xxxxxxxxx 的 RDS 数据库失败。原因: 在执行 DescribeDBInstances 期间 未找到数据库实例 xxxxxxxxx。” 然后我收到了另一条错误消息:“删除堆栈失败: 无法删除下列资源: [AWSEBRDSDatabase]。”

如何解决这些错误并删除我的 Elastic Beanstalk 环境?

简短描述

如果您要删除的 Amazon Relational Database Service (Amazon RDS) 数据库是作为您的 Elastic Beanstalk 环境的一部分创建的,您将会收到此错误。该数据库的生命周期已经与您的 Elastic Beanstalk 环境绑定。如果您从 Amazon RDS 控制台删除该数据库(称为带外删除),则 Elastic Beanstalk 将不再与您的数据库同步,也无法删除。

解决方法

1.    打开 AWS CloudFormation 控制台

2.    在导航窗格中,选择堆栈

3.    在堆栈名称列中,选择您要删除的 Elastic Beanstalk 环境的堆栈。

注意:状态列中,您应会看到 DELETE_FAILED

提示:要识别您的堆栈,您可以验证 AWS CloudFormation 控制台中描述列的环境 ID 是否与您的 Elastic Beanstalk 环境的环境 ID 匹配。

4.    选择删除

5.    在弹出窗口中,选中要保留的资源 – 可选部分的 AWSEBRDSDatabase 复选框,然后选择删除堆栈

注意:AWSEBRDSDatabase 是您在删除堆栈时要保留(即跳过)的资源的名称。如果您跳过此数据库资源,则可以成功删除堆栈。

提示:您也可以使用以下命令,通过 AWS 命令行界面 (AWS CLI) 来删除堆栈:

aws cloudformation delete-stack --stack-name YourStackName --retain-resources AWSEBRDSDatabase

6.    当堆栈状态变为 DELETE_COMPLETE 后,终止您的 Elastic Beanstalk 环境


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?