共用方式為


從 Azure Cosmos DB for MongoDB 遷移至 Azure DocumentDB

在本指南中,你會利用服務內建的工具,將現有的集合從 Azure Cosmos DB for MongoDB 遷移到 Azure DocumentDB。

先決條件

設定 Azure Key Vault

首先,你需要設定你的來源 Azure Cosmos DB for MongoDB 帳號,將目標 Azure DocumentDB 叢集的原生認證憑證儲存在你現有的金鑰庫中。

  1. 登入 Azure 入口網站 (https://portal.azure.com)。

  2. 導航到你的來源的「Azure Cosmos DB for MongoDB」帳戶。

  3. 在您的來源帳戶中,流覽至 [ 設定 > 身分識別]。

  4. 將 [狀態] 選項設定為 [開啟],以為您的來源帳戶啟用系統指派的受控識別。 記下本指南稍後要使用的 物件(主體)標識符 值。

    Azure 入口網站身份設定頁面的截圖,顯示系統指派的管理身份設定選項。

    小提示

    如果您改為使用使用者指派的受控識別,請確定至少有一個使用者指派的受控識別被指派給來源帳戶。

  5. 瀏覽至現有的金鑰保存庫。

  6. 如果 Key Vault 使用 Role-Based 存取控制 (RBAC) 許可權模型,請選取資源功能表中的 [存取控制 (IAM) ] 選項,並將 Key Vault 秘密使用者 角色指派給來源帳戶所用受控識別的主體標識碼(物件標識符)。 否則,請使用資源功能表中的 [存取原則 ] 選項來建立具有 [取得 ] 和 [列出密碼 ] 許可權的存取原則,然後將它指派給主體標識碼 (物件標識符)。

  7. 執行 命令來更新來源帳戶,以使用慣用的身分識別機制作為預設身分識別。

    az cosmosdb update \
        --resource-group "<resource-group-name>" \
        --name "<source-account-name>" \
        --default-identity "SystemAssignedIdentity"
    

    小提示

    如果您使用使用者指派的受控識別,請執行下列命令:

    az cosmosdb update \
        --resource-group "<resource-group-name>" \
        --name "<source-account-name>" \
        --default-identity "UserAssignedIdentity=<fully-qualified-resource-id-of-user-assigned-managed-identity>"
    
  8. 回到金鑰保存庫,流覽至 [物件 > 秘密]。

  9. 然後,選取 產生/匯入 以建立新的密碼。 請使用這些數值作為您的秘密:

    Description
    名稱 秘密名稱可用來識別秘密,而且只能包含英數位元和虛線。 此值最終會在移轉作業的 [ 秘密名稱 ] 欄位中使用。
    祕密值 將你的 Azure Cosmos DB for MongoDB 目標叢集的原生認證憑證貼到這裡。
  10. 在您新建立的祕密中,收集保存庫 URI 的值。 此值最終會在移轉作業的 [ 保存庫 URI] 欄位中使用。

建立移轉作業

首先,建立一個移轉作業,並設定好必要的組態以便開始將資料移轉至目標叢集。

  1. 登入 Azure 入口網站 (https://portal.azure.com)。

  2. 再次進入你的 Azure Cosmos DB for MongoDB 帳號。

  3. 在帳戶頁面,從資源選單選擇 遷移至 DocumentDB

    遷移到 DocumentDB 工作流程中首頁的截圖。

  4. 選取 [啟動新的移轉作業]。

選取移轉模式

[ 選取移轉模式 ] 區段可用來提供最適合您移轉需求的移轉模式。

  1. 從下列選項中選取適當的模式:

    Description
    離線 離線移轉會在開始時擷取集合的快照,提供一種更簡單且可預測的方法。 當使用集合的靜態複本是可接受的,而且即時更新不是必需的時候,它可以運作得很好。 針對非生產移轉使用此選項。
    線上 在線遷移會複製收集的數據,確保在過程中也能同步更新。 這種方法的優勢在於它的停機時間極短,從而使業務可以持續運作,確保業務連續性。 當持續運作至關重要且減少停機時間是重中之重時,請選擇此選項。

    移轉作業之模式選取選項的螢幕快照。

    備註

    持續備份是線上遷移的前提條件。 如需詳細資訊,請參閱 連續備份

  2. 選取 下一步

設定目標移轉認證

選擇目標帳戶區塊用於提供與目標 Azure DocumentDB 叢集的連線細節。 作為安全性最佳做法,建議您將原生驗證認證儲存在 Azure Key Vault 中。

備註

目前不支援使用 Microsoft Entra ID 驗證的連接字串。

  1. 保管庫 URI密碼名稱 欄位設為您稍早在本指南中記錄的值。

    目標選取區段的螢幕快照。

  2. 選取 下一步

更新目標防火牆

「更新目標防火牆」區塊用來確保目標 Azure DocumentDB 叢集的防火牆不會阻擋遷移工作請求。

  1. 觀察此步驟中的 IP位址

    目標防火牆檢查區段和來源帳戶 IP 位址的螢幕快照。

  2. 使用另一個瀏覽器視窗或分頁,導覽到你的目標 Azure DocumentDB 叢集。

  3. 在資源功能表的 [設定] 區段中,選取 [網络]。

  4. 新增規則以允許存取移轉作業的IP位址。 如需詳細資訊,請參閱 管理叢集層級防火牆規則

  5. 使用移轉作業設定步驟,流覽回瀏覽器視窗或索引標籤。

  6. 選取 下一步

備註

如果您的 Azure Key Vault 上已啟用網路安全性,請確定也會 將相同的 IP 新增至 Azure Key Vault 防火牆

設定和啟動任務

使用 [選取集合 ] 和 [ 確認和提交 ] 區段來完成作業的組態。

  1. 在 [選取集合] 區段中,選取您打算移轉的 集合

    選取要移轉之集合的區段螢幕快照。

  2. 選取 下一步

  3. 檢閱作業組態並提供唯一的作業名稱。

    這很重要

    1. 移轉作業不會將索引傳送至目標集合。 繼續之前,請先使用此範例 移轉腳本 在目標集合上建立索引。 索引準備就緒之後,請選取複選框。
    2. 遷移作業不支援變更分片鍵。 如果您需要不同的分區索引鍵,請將數據遷移為未分區化集合。 移轉完成後,使用所需的分區索引鍵來對目標上的集合進行分區。
  4. 選取 [提交 ] 以建立並啟動作業。

監視移轉作業

提交作業之後,您可以監視新建立作業的狀態,以及其他擱置或已完成的工作。

  1. 瀏覽至您的來源 Azure Cosmos DB for MongoDB 帳戶。

  2. 在帳戶頁面,從資源選單選擇 遷移至 DocumentDB

  3. 選取 [監視現有的移轉作業]

    可監視或修改現有移轉作業之頁面的螢幕快照。

  4. 會列出針對目前來源帳戶所建立的所有移轉作業。

  5. 若要變更作業的狀態,請選取對應特定作業的功能表(..)。 這些選項包括:

    Option Description
    暫停 暫時暫停目前正在執行的作業
    履歷 繼續暫停的工作
    取消 永久取消目前正在執行的作業
    完全移轉 當來源和目標同步時完成遷移

    備註

    切換選項僅適用於線上移轉。 完成完全移轉之後,來源帳戶與目標叢集之間的同步處理就會終止。 切換後,你應該更新客戶端應用程式中的憑證,以鎖定新的 Azure DocumentDB 叢集。