遷移至 Amazon DocumentDB 無伺服器 - Amazon DocumentDB

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

遷移至 Amazon DocumentDB 無伺服器

將現有的 DocumentDB 叢集遷移至無伺服器

升級叢集的引擎版本

如果您的佈建叢集執行的是不支援 DocumentDB Serverless 的較低引擎版本,您必須先將叢集升級至支援的引擎版本。如需詳細資訊,請參閱Amazon DocumentDB 就地主要版本升級

將佈建叢集遷移至 DocumentDB 無伺服器

若要切換佈建叢集以使用 DocumentDB 無伺服器,請遵循下列步驟:

  1. 檢查佈建叢集的引擎版本是否需要升級,才能與 DocumentDB Serverless 搭配使用。請參閱 DocumentDB 無伺服器的需求和限制

    注意

    如果佈建的叢集執行的引擎版本不適用於 DocumentDB Serverless,請升級叢集的引擎版本。請參閱 Amazon DocumentDB 就地主要版本升級

  2. 設定叢集的擴展組態。如需選擇擴展組態的詳細資訊,請參閱 選擇 DocumentDB 無伺服器叢集的擴展容量範圍。若要修改叢集的擴展組態,請參閱 檢視和修改叢集的擴展容量範圍組態

  3. 設定任何其他叢集屬性,以考量來自 的 DocumentDB 無伺服器需求和限制DocumentDB 無伺服器的需求和限制

  4. 將一或多個 DocumentDB 無伺服器執行個體新增至叢集。請遵循 新增 Amazon DocumentDB 無伺服器執行個體 中的程序。

    注意

    在某些情況下,您可能已在叢集中擁有一或多個佈建的讀取器執行個體。如果是這樣,您可以選擇將其中一個讀取器轉換為 DocumentDB 無伺服器執行個體,而不是建立新的執行個體。若要執行此作業,請依照 變更執行個體的類別 中的程序進行。

  5. (選用) 執行容錯移轉操作,讓 DocumentDB 無伺服器執行個體成為叢集寫入器。請參閱 Amazon DocumentDB 容錯移轉

  6. (選用) 將任何剩餘的佈建 Amazon DocumentDB 執行個體轉換為 DocumentDB 無伺服器執行個體 (請參閱 變更執行個體的類別),或從叢集中移除執行個體 (請參閱 刪除 Amazon DocumentDB 執行個體)。

Using the AWS Management Console

下列 AWS Management Console 組態範例顯示使用執行 Amazon DocumentDB 5.0.0 的 Amazon DocumentDB 佈建叢集的遷移程序,這不需要引擎版本升級,即可開始使用 DocumentDB Serverless。叢集名為 sample,開頭為三個名為 samplesample2和 的佈建執行個體sample3。在此範例中,這三個執行個體將被三個無伺服器執行個體取代。

  1. 登入 AWS Management Console並開啟 Amazon DocumentDB 主控台。

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

    提示

    如果畫面左側沒有出現導覽窗格,請選擇頁面左上角的功能表圖示 (Hamburger menu icon with three horizontal lines.)。

    叢集資料表隨即出現。

  3. 叢集表格中,選取您要新增無伺服器執行個體之叢集的核取方塊。

  4. 選擇 Actions (動作),然後選擇 Add instances (新增執行個體)

  5. 新增執行個體對話方塊中,針對您要建立的每個新無伺服器執行個體,在資料庫執行個體類別區段中選取無伺服器。

  6. 對於無伺服器容量設定,請根據對話方塊中的容量描述來設定擴展組態。

  7. (選用) 若要新增另一個執行個體,請選擇新增執行個體。繼續新增執行個體,直到您達到所需的新執行個體數量為止。

    在此範例中,會建立新的三個無伺服器執行個體。

  8. 選擇建立

    建立執行個體需要幾分鐘才能完成。您可以使用 主控台或 AWS CLI 檢視執行個體的狀態。如需詳細資訊,請參閱監控 Amazon DocumentDB 叢集的狀態

  9. 返回叢集資料表,選取所有三個原始佈建執行個體的核取方塊。

  10. 選擇動作,然後選擇刪除

在刪除期間,會自動執行容錯移轉,將剩餘的其中一個執行個體提升為寫入器。幾分鐘後,刪除程序即完成。現有叢集現在包含三個 DocumentDB 無伺服器執行個體 (如大小欄所定義)。

Using the AWS CLI

下列 AWS CLI 組態範例顯示使用執行 Amazon DocumentDB 5.0.0 的 Amazon DocumentDB 佈建叢集的遷移程序,這不需要引擎版本升級,即可開始使用 DocumentDB 無伺服器。叢集名為 sample,開頭為三個名為 samplesample2和 的佈建執行個體sample3。在此範例中,這三個執行個體將被三個無伺服器執行個體取代。叢集名為 sample-cluster,開頭為兩個名為 sample-provisioned-instance-1和 的佈建執行個體sample-provisioned-instance-2,一個寫入器執行個體和一個讀取器執行個體。

在下列範例中,將每個使用者輸入預留位置取代為您自己的資訊或組態參數。

使用 aws docdb describe-db-clusters操作來判斷叢集的狀態。下列程式碼會尋找叢集的狀態,sample-cluster並將結果輸出至資料表:

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].DBClusterMembers' \ --output table
-------------------------------------------------------------------------------------------------------- | DescribeDBClusters | +--------------------------------+---------------------------------+------------------+----------------+ | DBClusterParameterGroupStatus | DBInstanceIdentifier | IsClusterWriter | PromotionTier | +--------------------------------+---------------------------------+------------------+----------------+ | in-sync | sample-provisioned-instance-2 | False | 1 | | in-sync | sample-provisioned-instance-1 | True | 1 | +--------------------------------+---------------------------------+------------------+----------------+

新增叢集的擴展組態:

aws docdb modify-db-cluster \ --db-cluster-identifier sample-cluster \ --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=16

新增無伺服器執行個體。在此範例中,sample-serverless-instance-2會新增名為 sample-serverless-instance-1和 的新無伺服器執行個體:

aws docdb create-db-instance \ --db-cluster-identifier sample-cluster \ --db-instance-identifier sample-serverless-instance-1 \ --db-instance-class db.serverless \ --engine docdb aws docdb create-db-instance \ --db-cluster-identifier sample-cluster \ --db-instance-identifier sample-serverless-instance-2 \ --db-instance-class db.serverless \ --engine docdb

輸入以下內容以等待無伺服器執行個體可用,然後再繼續:

aws docdb wait db-instance-available \ --db-instance-identifier sample-serverless-instance-1 aws docdb wait db-instance-available \ --db-instance-identifier sample-serverless-instance-2

執行容錯移轉,讓新的sample-serverless-instance-1執行個體成為叢集寫入器:

aws docdb failover-db-cluster \ --db-cluster-identifier sample-cluster \ --target-db-instance-identifier sample-serverless-instance-1

容錯移轉需要幾秒鐘才能完成,之後 sample-serverless-instance-1 會成為叢集寫入器。使用下列輸入進行驗證:

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].DBClusterMembers' \ --output table
-------------------------------------------------------------------------------------------------------- | DescribeDBClusters | +--------------------------------+---------------------------------+------------------+----------------+ | DBClusterParameterGroupStatus | DBInstanceIdentifier | IsClusterWriter | PromotionTier | +--------------------------------+---------------------------------+------------------+----------------+ | in-sync | sample-provisioned-instance-2 | False | 1 | | in-sync | sample-provisioned-instance-1 | False | 1 | | in-sync | sample-serverless-instance-2 | False | 1 | | in-sync | sample-serverless-instance-1 | True | 1 | +--------------------------------+---------------------------------+------------------+----------------+

最後,刪除原始佈建的執行個體:

aws docdb delete-db-instance \ --db-instance-identifier sample-provisioned-instance-1 aws docdb delete-db-instance \ --db-instance-identifier sample-provisioned-instance-2

從 MongoDB 遷移至 DocumentDB 無伺服器

您可以將 MongoDB 資料庫遷移至 DocumentDB 無伺服器,就像佈建的 Amazon DocumentDB 一樣。如需詳細資訊,請參閱遷移至 Amazon DocumentDB