刪除 Amazon DocumentDB 集群 - Amazon DocumentDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

刪除 Amazon DocumentDB 集群

您可以使用 AWS Management Console 或刪除 Amazon DocumentDB 叢集。 AWS CLI若要刪除叢集,叢集必須處於可用狀態,且不得有任何與叢集相關聯的執行個體。如果叢集已停止,請先啟動叢集,等待叢集變成可用,然後刪除叢集。如需詳細資訊,請參閱 停止和啟動 Amazon DocumentDB 集群

刪除保護

為了避免您的叢集遭到意外刪除,您可以啟用刪除保護。當您使用主控台建立叢集時,預設會啟用刪除保護。不過,如果您使用 AWS CLI建立叢集,預設會停用刪除保護。

無論您是使用控制台還是使用控制台執行刪除操作,Amazon DocumentDB 都會對叢集強制執行刪除保護。 AWS CLI如果已啟用刪除保護,您就無法刪除叢集。若要刪除已啟用刪除保護的叢集,您必須先修改叢集並停用刪除保護。

使用叢集已啟用刪除保護的主控台時,您就無法刪除叢集的最後一個執行個體,因為這麼做也會刪除叢集。您可以使用 AWS CLI來刪除受刪除保護叢集的最後一個執行個體。不過,叢集本身仍會存在,而您的資料會保留下來。您可為叢集建立新的執行個體,以便存取資料。如需啟用和停用刪除保護的詳細資訊,請參閱:

Using the AWS Management Console

若要使用刪除叢集 AWS Management Console,必須停用刪除保護。

判斷叢集是否已啟用刪除保護:
  1. 登入 AWS Management Console,然後在 https://console.aws.amazon.com/docdb 開啟 Amazon DocumentDB 主控台。

  2. 在導覽窗格中,選擇叢集

    提示

    如果畫面左側沒有出現導覽窗格,請選擇頁面左上角的功能表圖示 ()。

  3. 請注意,在「叢集」導覽方塊中,「叢集識別碼」欄會同時顯示叢集和執行個體。執行個體會列在叢集下方,類似下方的螢幕擷取畫面。

  4. 選擇叢集的名稱,然後選取 Configuration (組態) 索引標籤。在 Cluster details (叢集詳細資訊) 區段中,找出 Deletion protection (刪除保護)。如果已啟用刪除保護,請修改叢集以停用刪除保護。如需修改叢集的詳細資訊,請參閱修改 Amazon DocumentDB 叢集

    停用 Deletion protection (刪除保護) 之後,您就可以刪除叢集。

刪除叢集:
  1. 在導覽窗格中,選擇叢集

  2. 檢查 Instances (執行個體) 欄,判斷叢集是否有任何執行個體。您必須先刪除叢集的所有執行個體,才能刪除叢集。如需詳細資訊,請參閱 刪除 Amazon DocumentDB 實例

  3. 根據您的叢集是否有任何執行個體,執行下列其中一個步驟。

    • 如果叢集沒有執行個體,請選取叢集名稱左側的按鈕,然後選擇 Actions (動作)。從下拉式選單中選擇 Detete (刪除)。完成 Delete <cluster-name> (刪除 <cluster-name>) 對話方塊,然後選擇 Delete (刪除)

    • 如果叢集有一或多個執行個體,請執行下列動作:

      1. 在導覽窗格中,選擇執行個體

      2. 刪除叢集的每個執行個體。當您刪除最後一個執行個體時,叢集也會隨之刪除。如需刪除執行個體的相關資訊,請參閱刪除 Amazon DocumentDB 實例

刪除叢集需要幾分鐘的時間。若要監控叢集的狀態,請參閱監控 Amazon DocumentDB 集群的狀態

Using the AWS CLI

您無法刪除與任何執行個體相關聯的叢集。若要判斷哪些執行個體與您的叢集相關聯,請執行 describe-db-clusters 命令並刪除叢集的所有執行個體。然後視需要停用叢集上的刪除保護,最後再刪除叢集。

  1. 首先,刪除叢集的所有執行個體。

    若要判斷需要刪除哪些執行個體,請執行下列命令。

    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
  2. 第二,停用刪除保護。

    使用刪 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
  3. 最後,刪除叢集。

    停用刪除保護之後,您就可以刪除叢集。若要刪除叢集,請使用 delete-db-cluster 操作搭配下列參數。

    • --db-cluster-identifier - 必要項目。您要刪除之叢集的識別碼。

    • --final-db-snapshot-identifier選擇性。如果您要建立最終快照,則必須包含此參數及最終快照的名稱。您必須包含 --final-db-snapshot-identifier--skip-final-snapshot

      命名限制:

      • 長度為 [1—63] 字母、數字或連字號。

      • 第一個字元必須是字母。

      • 不能以連字號結尾或連續包含兩個連字號。

      • 對於跨 Amazon RDS、亞馬遜 Amazon Neptune 和 Amazon DocumentDB 的所有叢集,每 AWS 帳戶個區域的所有叢集都必須是唯一的。

    • --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 操作的輸出會是您要刪除的叢集。

    刪除叢集需要幾分鐘的時間。若要監控叢集的狀態,請參閱監視叢集的狀態