删除 Amazon DocumentDB集群
您可以使用 Amazon DocumentDB或 AWS 管理控制台 删除 AWS CLI.集群。要删除集群,集群必须处于可用 状态,且不得有任何与之关联的实例。如果集群已停止,则首先启动集群,等待集群进入可用 状态,然后删除集群。有关更多信息,请参阅 停止和启动 Amazon DocumentDB 集群.
删除保护
为了防止您的集群遭到意外删除,您可以启用删除保护. 在使用控制台创建集群时,将默认启用删除保护。但是,如果您使用 创建集群,将默认禁用删除保护。AWS CLI.
Amazon DocumentDB 为集群强制执行删除保护,不论您是使用控制台还是 AWS CLI 来执行删除操作。如果已启用删除保护,则无法删除集群。要删除启用了删除保护的实例,首先请修改该集群并禁用删除保护。
当在集群上启用数据保护的情况下使用控制台时,无法删除该集群的最后一个实例,因为这样也会删除集群。您可以使用 删除受删除保护的集群的最后一个实例。AWS CLI. 但是,集群本身仍然存在,您的数据将被保留。您可以通过为集群创建新实例来访问数据。有关启用和禁用删除保护的更多信息,请参阅:
使用 Amazon DocumentDB 删除 AWS 管理控制台 集群
要使用 AWS 管理控制台删除集群,必须禁用删除保护。
确定集群是否已启用删除保护:
通过以下网址登录 AWS 管理控制台并打开 Amazon DocumentDB 控制台:https://console.aws.amazon.com/docdb。
在导航窗格中,选择 Clusters.
提示
如果您在屏幕左侧没有看到导航窗格,请在页面左上角选择菜单图标 ()。
请注意,在“集群”导航窗格中,集群标识符列同时显示集群和实例。实例列在集群下,与以下屏幕截图类似。
选择集群的名称,然后选择 Configuration (配置) 选项卡。在 Cluster details (集群详细信息) 部分中,找到 Deletion protection (删除保护). 如果已启用删除保护,则修改集群以禁用删除保护。有关修改集群的信息,请参阅 修改 Amazon DocumentDB集群.
禁用 Deletion protection (删除保护) 后,您已准备好删除集群。
删除集群:
在导航窗格中,选择 Clusters.
通过检查 Instances (实例) 列来确定集群是否具有任何实例。在删除集群之前,必须先删除其所有实例。有关更多信息,请参阅 删除 Amazon DocumentDB实例 .
根据您的集群是否有任何实例,请执行以下步骤之一。
如果集群没有实例,请选择集群名称左侧的按钮,然后选择 Actions (操作). 从下拉菜单中,选择 Delete (删除). 填写删除 <集群名称> 对话框,然后选择删除.
如果集群具有一个或多个实例,请执行以下操作:
在导航窗格中,选择 Instances.
删除集群中的每个实例。当您删除最后一个实例时,集群也将被删除。有关删除实例的信息,请参阅 删除 Amazon DocumentDB实例 .
删除集群需要几分钟时间。要监控集群的状态,请参阅监控 Amazon DocumentDB 集群状态.
使用 Amazon DocumentDB 删除 AWS CLI 集群
您不能删除具有任何关联实例的集群。要确定哪些实例与您的集群关联,请运行 describe-db-clusters
命令并删除集群的所有实例。然后,在需要时禁用集群的删除保护,最后删除集群。
首先,删除集群的所有实例。
要确定需要删除的实例,请运行以下命令。
aws docdb describe-db-clusters \
--db-cluster-identifier sample-cluster \
--query 'DBClusters[*].[DBClusterIdentifier,DBClusterMembers[*].DBInstanceIdentifier]'
此操作的输出将类似于下文(JSON 格式)。
[
[
"sample-cluster",
[
"sample-instance-1",
"sample-instance-2"
]
]
]
如果要删除的集群包含任何实例,请如下所示删除它们。
aws docdb delete-db-instance \
--db-instance-identifier sample-instance
接下来,禁用删除保护。
使用 AWS CLI 删除集群的所有实例将不会删除该集群。您还必须删除集群,但仅当删除保护处于禁用状态时才可以执行此操作。
要确定集群是否已启用删除保护,请运行以下命令。
提示
要查看所有 Amazon DocumentDB 集群的删除保护状态,请省略
--db-cluster-identifier
参数。aws docdb describe-db-clusters \
--db-cluster-identifier sample-cluster \
--query 'DBClusters[*].[DBClusterIdentifier,DeletionProtection]'
此操作的输出将类似于下文。
[
[
"sample-cluster",
"true"
]
]
如果集群已启用删除保护,则修改集群并禁用删除保护。要对集群禁用删除保护,请运行以下命令。
aws docdb modify-db-cluster \
--db-cluster-identifier sample-cluster \
--no-deletion-protection \
--apply-immediately
最后,删除集群。
禁用删除保护后,您就可以删除该集群了。要删除集群,请使用带以下参数的
delete-db-cluster
操作。--db-cluster-identifier
—必需。要删除的集群的标识符。--final-db-snapshot-identifier
—可选。如果您需要最终快照,则必须包含该参数和最终快照的名称。必须包含--final-db-snapshot-identifier
或--skip-final-snapshot
.命名约束:
长度为 [1—63] 个字母、数字或连字符。
第一个字符必须是字母。
不能以连字符结束或包含两个连续连字符。
对于每个区域的每个 AWS 账户的 Amazon RDS、Amazon Neptune 和 Amazon DocumentDB 必须是唯一的。
--skip-final-snapshot
—可选。仅当您不想在删除集群之前拍摄最终快照时,才使用此参数。默认设置是拍摄最终快照。必须包含--final-db-snapshot-identifier
或--skip-final-snapshot
.
以下 AWS CLI 代码删除具有最终快照的集群
sample-cluster
如果有任何实例与集群关联,或者如果已启用删除保护,则此操作将失败。对于 Linux、macOS 或 Unix:
aws docdb delete-db-cluster \
--db-cluster-identifier sample-cluster \
--final-db-snapshot-identifier sample-cluster-final-snapshot
对于 Windows:
aws docdb delete-db-cluster ^
--db-cluster-identifier sample-cluster ^
--final-db-snapshot-identifier sample-cluster-final-snapshot
以下 AWS CLI 代码将删除集群
sample-cluster
而不拍摄最终快照。对于 Linux、macOS 或 Unix:
aws docdb delete-db-cluster \
--db-cluster-identifier sample-cluster \
--skip-final-snapshot
对于 Windows:
aws docdb delete-db-cluster ^
--db-cluster-identifier sample-cluster ^
--skip-final-snapshot
delete-db-cluster
操作的输出是您要删除的集群。删除集群需要几分钟时间。要监控集群的状态,请参阅监控集群状态.