如何排查我在删除 Amazon Aurora 集群时收到的错误?

2 分钟阅读
0

我想删除 Amazon Aurora 集群,但是: 我收到了一条错误消息。-或- 删除选项在 Amazon Relational Database Service(Amazon RDS)控制台中不可用(显示为灰色)。如何排查此问题并删除集群?

简短描述

您可以使用 Amazon RDS 控制台或 AWS 命令行界面(AWS CLI)删除 Amazon Aurora 集群。有关更多信息,请参阅删除数据库实例

要使用 AWS CLI 删除 Aurora 集群,请先删除集群内的所有数据库实例。删除集群内的所有数据库实例后,您可以使用 delete-db-cluster 删除该集群。当您使用 Amazon RDS 控制台删除集群中的最后一个数据库实例后,该集群将变为空集群并自动被删除。

解决方法

**注意:**如果在运行 AWS CLI 命令时出现错误,请确保您使用的是最新版本的 AWS CLI

在删除集群之前,请考虑以下几点:

  • 如果您的集群只有一个数据库实例,那么,当您使用 Amazon RDS 控制台删除该数据库实例时,会同时删除该数据库实例和该集群。
  • 如果您的集群包含一个写入器实例和一个或多个读取器实例/只读副本,那么,当您删除读取器实例时,写入器实例和集群不会受到影响。当您删除写入器实例时,读取器实例将自动升级为写入器。这种失效转移操作会导致停机。

使用 Amazon RDS 控制台删除内部无实例的 Aurora 集群

在 Amazon RDS 控制台中执行以下步骤:

  1. 打开 Amazon RDS 控制台
  2. 从导航窗格中选择数据库,然后选择集群。
  3. 选择操作,然后选择删除集群
    注意:如果删除集群显示为灰色或不可用,则集群中可能存在必须删除的实例。在这种情况下,请删除集群中的所有实例。当您使用 Amazon RDS 控制台删除集群中的最后一个实例后,该集群将自动被删除。

如果出现以下错误,请按照以下步骤进行操作。

“his database has deletion protection option enabled, to be able to delete the last Aurora DB instance, modify the Aurora cluster and disable deletion protection”

  1. 打开 Amazon RDS 控制台
  2. 从导航窗格中选择数据库,然后选择集群。
  3. 选择操作,然后选择修改集群
  4. 选择禁用删除保护,然后选择继续
  5. 然后,选择立即应用

使用 AWS CLI 删除 Aurora 集群

**注意:**以下步骤适用于 Aurora MySQL 和 Aurora PostgreSQL。

1.    删除 Aurora 集群

运行以下命令:

aws rds delete-db-cluster --db-cluster-identifier sample-cluster --final-db-snapshot-identifier mydbinstancefinal

此命令将删除集群,然后拍摄最终的数据库集群快照。如果您不想拍摄最终快照,请在运行此命令时使用 ---skip-final-snapshot 选项。运行此命令时可能会收到以下错误:

“An error occurred (InvalidDBClusterStateFault) when calling the DeleteDBCluster operation: Cluster cannot be deleted, it still contains DB instances in non-deleting state”

这表示无法删除该集群,因为集群中存在实例。在删除集群之前,请务必删除与该集群关联的所有实例。

2.    删除集群中的实例

运行以下命令:

aws rds delete-db-instance --db-instance-identifier sample-instance

尝试删除集群中的实例时,您可能会收到以下错误消息之一。

  • “InvalidParameterCombination: An error occurred (InvalidParameterCombination) when calling the DeleteDBInstance operation: FinalDBSnapshotIdentifier cannot be specified when deleting a cluster instance”

    使用 --final-db-snapshot-identifier 选项运行命令删除集群中的实例时,会显示此错误。此错误警告您,在删除集群中的实例时,您无法拍摄最终快照。请删除 --final-db-snapshot-identifier 选项或使用 --skip-final-snapshot 选项,然后再次运行该命令。

  • “InvalidDBClusterStateFault: Cannot delete the last instance of the read replica DB cluster.Promote the DB cluster to a standalone DB cluster in order to delete it”

    此错误表示您尝试删除的 Aurora 集群充当副本,但是在集群升级为独立集群之前,无法删除该集群的最后一个实例。

3.    提升副本集群

运行以下命令来提升副本集群:

aws rds promote-read-replica-db-cluster --db-cluster-identifier rds-mysql-aurora-replica-cluster

相关信息

如何删除或终止 RDS 资源?

管理 Amazon Aurora 数据库集群

删除 Aurora 数据库集群中的数据库实例

AWS 官方
AWS 官方已更新 4 年前