我尝试删除 AWS Elastic Beanstalk 环境时,环境的事件流中出现以下错误消息: "Deleting RDS database named: xxxxxxxxx failed Reason: DBInstance xxxxxxxxx was not found during DescribeDBInstances." 然后,我收到另一条错误消息: "Stack deletion failed: The following resource(s) failed to delete: [AWSEBRDSDatabase]."
简短描述
当作为您的 Elastic Beanstalk 环境的一部分创建的 Amazon Relational Database Service(Amazon RDS)数据库被删除时,会发生此错误。数据库的生命周期与您的 Elastic Beanstalk 环境相关。从 Amazon RDS 控制台中删除数据库(称为带外删除)可能会导致 Elastic Beanstalk 与您的数据库资源不同步。这意味着 Elastic Beanstalk 环境无法删除。
注意: 最佳做法是使用 Elastic Beanstalk 控制台、Elastic Beanstalk 命令行界面(EB CLI)或 AWS 命令行界面(AWS CLI)管理 Elastic Beanstalk 创建的资源。
解决方法
**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新的 AWS CLI 版本。
-
打开 AWS CloudFormation 控制台。
-
在导航窗格中,选择堆栈。
-
在堆栈名称列中,选择要删除的 Elastic Beanstalk 环境的堆栈。
注意: 堆栈的状态列会显示 DELETE_FAILED。验证 AWS CloudFormation 控制台中描述列中的环境 ID 是否与您的 Elastic Beanstalk 环境的环境 ID 一致。
-
选择删除。
-
在弹出窗口中,在要保留的资源 - 可选部分选中 AWSEBRDSDatabase 复选框,然后选择删除堆栈。
注意: AWSEBRDSDatabase 是您在删除堆栈时要保留或跳过的资源的名称。如果跳过数据库资源,则可以成功删除堆栈。要使用 AWS CLI 删除堆栈,运行以下命令:
aws cloudformation delete-stack --stack-name YourStackName --retain-resources AWSEBRDSDatabase --region us-east-1
-
堆栈变为 DELETE_COMPLETE 状态后,终止您的 Elastic Beanstalk 环境。
重要事项: 在 AWS CLI 中输入您的堆栈名称和 AWS 区域的正确值。
相关信息
故障排除