删除 Amazon DocumentDB集群

您可以使用 Amazon DocumentDB或 AWS 管理控制台 删除 AWS CLI.集群。要删除集群,集群必须处于可用 状态,且不得有任何与之关联的实例。如果集群已停止,则首先启动集群,等待集群进入可用 状态,然后删除集群。有关更多信息,请参阅 停止和启动 Amazon DocumentDB 集群.

删除保护

为了防止您的集群遭到意外删除,您可以启用删除保护. 在使用控制台创建集群时,将默认启用删除保护。但是,如果您使用 创建集群,将默认禁用删除保护。AWS CLI.

Amazon DocumentDB 为集群强制执行删除保护,不论您是使用控制台还是 AWS CLI 来执行删除操作。如果已启用删除保护,则无法删除集群。要删除启用了删除保护的实例,首先请修改该集群并禁用删除保护。

当在集群上启用数据保护的情况下使用控制台时,无法删除该集群的最后一个实例,因为这样也会删除集群。您可以使用 删除受删除保护的集群的最后一个实例。AWS CLI. 但是,集群本身仍然存在,您的数据将被保留。您可以通过为集群创建新实例来访问数据。有关启用和禁用删除保护的更多信息,请参阅:

使用 Amazon DocumentDB 删除 AWS 管理控制台 集群

要使用 AWS 管理控制台删除集群,必须禁用删除保护。

确定集群是否已启用删除保护:

  1. 通过以下网址登录 AWS 管理控制台并打开 Amazon DocumentDB 控制台:https://console.aws.amazon.com/docdb

  2. 在导航窗格中,选择 Clusters.

    提示

    如果您在屏幕左侧没有看到导航窗格,请在页面左上角选择菜单图标 (删除集群 - 图1)。

  3. 请注意,在“集群”导航窗格中,集群标识符列同时显示集群和实例。实例列在集群下,与以下屏幕截图类似。

    删除集群 - 图2

  4. 选择集群的名称,然后选择 Configuration (配置) 选项卡。在 Cluster details (集群详细信息) 部分中,找到 Deletion protection (删除保护). 如果已启用删除保护,则修改集群以禁用删除保护。有关修改集群的信息,请参阅 修改 Amazon DocumentDB集群.

    禁用 Deletion protection (删除保护) 后,您已准备好删除集群。

删除集群:

  1. 在导航窗格中,选择 Clusters.

  2. 通过检查 Instances (实例) 列来确定集群是否具有任何实例。在删除集群之前,必须先删除其所有实例。有关更多信息,请参阅 删除 Amazon DocumentDB实例 .

  3. 根据您的集群是否有任何实例,请执行以下步骤之一。

    • 如果集群没有实例,请选择集群名称左侧的按钮,然后选择 Actions (操作). 从下拉菜单中,选择 Delete (删除). 填写删除 <集群名称> 对话框,然后选择删除.

    • 如果集群具有一个或多个实例,请执行以下操作:

      1. 在导航窗格中,选择 Instances.

      2. 删除集群中的每个实例。当您删除最后一个实例时,集群也将被删除。有关删除实例的信息,请参阅 删除 Amazon DocumentDB实例 .

删除集群需要几分钟时间。要监控集群的状态,请参阅监控 Amazon DocumentDB 集群状态.

使用 Amazon DocumentDB 删除 AWS CLI 集群

您不能删除具有任何关联实例的集群。要确定哪些实例与您的集群关联,请运行 describe-db-clusters 命令并删除集群的所有实例。然后,在需要时禁用集群的删除保护,最后删除集群。

  1. 首先,删除集群的所有实例。

    要确定需要删除的实例,请运行以下命令。

    1. aws docdb describe-db-clusters \
    2. --db-cluster-identifier sample-cluster \
    3. --query 'DBClusters[*].[DBClusterIdentifier,DBClusterMembers[*].DBInstanceIdentifier]'

    此操作的输出将类似于下文(JSON 格式)。

    1. [
    2. [
    3. "sample-cluster",
    4. [
    5. "sample-instance-1",
    6. "sample-instance-2"
    7. ]
    8. ]
    9. ]

    如果要删除的集群包含任何实例,请如下所示删除它们。

    1. aws docdb delete-db-instance \
    2. --db-instance-identifier sample-instance
  2. 接下来,禁用删除保护。

    使用 AWS CLI 删除集群的所有实例将不会删除该集群。您还必须删除集群,但仅当删除保护处于禁用状态时才可以执行此操作。

    要确定集群是否已启用删除保护,请运行以下命令。

    提示

    要查看所有 Amazon DocumentDB 集群的删除保护状态,请省略 --db-cluster-identifier 参数。

    1. aws docdb describe-db-clusters \
    2. --db-cluster-identifier sample-cluster \
    3. --query 'DBClusters[*].[DBClusterIdentifier,DeletionProtection]'

    此操作的输出将类似于下文。

    1. [
    2. [
    3. "sample-cluster",
    4. "true"
    5. ]
    6. ]

    如果集群已启用删除保护,则修改集群并禁用删除保护。要对集群禁用删除保护,请运行以下命令。

    1. aws docdb modify-db-cluster \
    2. --db-cluster-identifier sample-cluster \
    3. --no-deletion-protection \
    4. --apply-immediately
  3. 最后,删除集群。

    禁用删除保护后,您就可以删除该集群了。要删除集群,请使用带以下参数的 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:

    1. aws docdb delete-db-cluster \
    2. --db-cluster-identifier sample-cluster \
    3. --final-db-snapshot-identifier sample-cluster-final-snapshot

    对于 Windows:

    1. aws docdb delete-db-cluster ^
    2. --db-cluster-identifier sample-cluster ^
    3. --final-db-snapshot-identifier sample-cluster-final-snapshot

    以下 AWS CLI 代码将删除集群 sample-cluster 而不拍摄最终快照。

    对于 Linux、macOS 或 Unix:

    1. aws docdb delete-db-cluster \
    2. --db-cluster-identifier sample-cluster \
    3. --skip-final-snapshot

    对于 Windows:

    1. aws docdb delete-db-cluster ^
    2. --db-cluster-identifier sample-cluster ^
    3. --skip-final-snapshot

    delete-db-cluster 操作的输出是您要删除的集群。

    删除集群需要几分钟时间。要监控集群的状态,请参阅监控集群状态.