我想删除 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 控制台中执行以下步骤:
- 打开 Amazon RDS 控制台。
- 从导航窗格中选择数据库,然后选择集群。
- 选择操作,然后选择删除集群。
注意:如果删除集群显示为灰色或不可用,则集群中可能存在必须删除的实例。在这种情况下,请删除集群中的所有实例。当您使用 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”
- 打开 Amazon RDS 控制台。
- 从导航窗格中选择数据库,然后选择集群。
- 选择操作,然后选择修改集群。
- 选择禁用删除保护,然后选择继续。
- 然后,选择立即应用。
使用 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 数据库集群中的数据库实例