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

1 分钟阅读
0

我尝试删除 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 版本

  1. 打开 AWS CloudFormation 控制台

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

  3. 堆栈名称列中,选择要删除的 Elastic Beanstalk 环境的堆栈。
    注意: 堆栈的状态列会显示 DELETE_FAILED。验证 AWS CloudFormation 控制台中描述列中的环境 ID 是否与您的 Elastic Beanstalk 环境的环境 ID 一致。

  4. 选择删除

  5. 在弹出窗口中,在要保留的资源 - 可选部分选中 AWSEBRDSDatabase 复选框,然后选择删除堆栈
    注意: AWSEBRDSDatabase 是您在删除堆栈时要保留或跳过的资源的名称。如果跳过数据库资源,则可以成功删除堆栈。要使用 AWS CLI 删除堆栈,运行以下命令:

    aws cloudformation delete-stack --stack-name YourStackName --retain-resources AWSEBRDSDatabase --region us-east-1
  6. 堆栈变为 DELETE_COMPLETE 状态后,终止您的 Elastic Beanstalk 环境
    重要事项: 在 AWS CLI 中输入您的堆栈名称和 AWS 区域的正确值。

相关信息

故障排除

AWS 官方
AWS 官方已更新 8 个月前