全部產品
Search
文件中心

ApsaraDB for MongoDB:使用DTS遷移複本集架構的自建MongoDB資料庫上雲

更新時間:Mar 13, 2025

使用Data Transmission Service,將複本集架構的自建MongoDB資料庫遷移至ApsaraDB for MongoDB中。DTS支援全量資料移轉和增量資料移轉,同時使用這兩種遷移類型可以實現在不停服的情況下,平滑地完成資料庫的遷移上雲。

除本方法外,您也可以使用MongoDB工具將自建資料庫遷移至複本集執行個體。更多資料移轉或資料同步情境的解決方案,請參見資料移轉和同步

前提條件

  • 自建MongoDB和ApsaraDB for MongoDB支援的版本,請參見遷移方案概覽

  • 建議ApsaraDB for MongoDB的儲存空間比自建MongoDB資料庫佔用的儲存空間大10%。

注意事項

  • config資料庫屬於系統內部資料庫,如無特殊需求,請勿遷移該庫。

  • DTS在執行全量資料移轉時將佔用源庫和目標庫一定的資源,可能會導致資料庫伺服器負載上升。如果資料庫業務量較大或伺服器規格較低,可能會加重資料庫壓力,甚至導致資料庫服務不可用。建議您在執行資料移轉前謹慎評估,在業務低峰期執行資料移轉。

  • MongoDB執行個體支援的版本與儲存引擎請參見版本及儲存引擎,如需跨版本或跨引擎遷移,請提前確認相容性。

  • 不支援資料庫admin和local作為源和目標庫。

  • 由於DTS寫入資料的邏輯為並發寫入,所以會導致目標端佔用的儲存空間比源端大5%~10%。

  • 請確保目標端MongoDB沒有與源端相同的主鍵(預設為_id),否則會導致資料丟失。若目標端有與源端相同的主鍵,請在不影響業務的前提條件下清空目標端的相關資料(刪掉目標端中與源端相同_id的文檔)。

費用說明

遷移類型

鏈路配置費用

公網流量費用

全量資料移轉

不收費。

通過公網將資料移轉出阿里雲時將收費,詳情請參見計費概述

增量資料移轉

收費,詳情請參見計費概述

遷移類型說明

  • 全量資料移轉:將源MongoDB資料庫遷移對象的存量資料全部遷移到目標MongoDB資料庫中。

    說明

    支援database、collection、index的遷移。

  • 增量資料移轉:在全量遷移的基礎上,將源MongoDB資料庫的累加式更新資料同步到目標MongoDB資料庫中。

    說明
    • 支援database、collection、index的建立和刪除操作的同步。

    • 支援document的新增、刪除和更新操作的同步。

資料庫帳號的許可權要求

遷移資料來源

全量資料移轉

增量資料移轉

自建MongoDB資料庫

待遷移庫的read許可權

待遷移庫、admin庫和local庫的read許可權

阿里雲MongoDB資料庫

目標庫的readWrite許可權

目標庫的readWrite許可權

資料庫帳號建立及授權方法:

操作步驟

  1. 登入資料轉送控制台

  2. 在左側導覽列,單擊資料移轉

  3. 遷移工作清單頁面頂部,選擇目標MongoDB執行個體所屬地區。

  4. 單擊右上方的建立遷移任務

  5. 配置遷移任務的源庫及目標庫資訊。MongoDB遷移源目資料庫配置

    類別

    配置

    說明

    任務名稱

    DTS會自動產生一個任務名稱,建議配置具有業務意義的名稱(無唯一性要求),便於後續識別。

    源庫資訊

    執行個體類型

    根據源庫的部署位置進行選擇,本文以有公網IP的自建資料庫為例介紹配置流程。

    說明

    當自建資料庫為其他執行個體類型時,您還需要執行相應的準備工作,詳情請參見準備工作

    執行個體地區

    當執行個體類型選擇為有公網IP的自建資料庫時,執行個體地區無需設定。

    說明

    如果您的自建資料庫配置了白名單安全類設定,您需要在執行個體地區配置項後,單擊擷取DTS IP段來擷取DTS伺服器的IP地址,並將擷取到的IP地址加入自建資料庫的白名單安全設定中。

    資料庫類型

    選擇MongoDB

    主機名稱或IP地址

    填入自建MongoDB資料庫的訪問地址,本案例中填入公網地址。

    連接埠

    填入自建MongoDB資料庫的服務連接埠。

    說明

    本案例中,該服務連接埠須開放至公網。

    資料庫名稱

    填入鑒權資料庫名,即資料庫帳號所屬的資料庫。

    資料庫帳號

    填入自建MongoDB資料庫的資料庫帳號,許可權要求請參見資料庫帳號的許可權要求

    資料庫密碼

    填入該資料庫帳號對應的密碼。

    說明

    源庫資訊填寫完畢後,您可以單擊資料庫密碼後的測試連接來驗證填入的源庫資訊是否正確。源庫資訊填寫正確則提示測試通過,如提示測試失敗,單擊測試失敗後的診斷,根據提示調整填寫的源庫資訊。

    串連方式

    選擇非加密串連

    說明

    只有在遷移MongoDB Atlas資料庫時,才能選擇SSL安全連線

    目標庫資訊

    執行個體類型

    選擇MongoDB執行個體

    執行個體地區

    選擇目標MongoDB執行個體所在地區。

    MongoDB執行個體ID

    選擇目標MongoDB執行個體ID。

    資料庫名稱

    填入鑒權資料庫名,即資料庫帳號所屬的資料庫。

    資料庫帳號

    填入MongoDB執行個體的資料庫帳號,許可權要求請參見資料庫帳號的許可權要求

    資料庫密碼

    填入該資料庫帳號對應的密碼。

    說明

    目標庫資訊填寫完畢後,您可以單擊資料庫密碼後的測試連接來驗證填入的目標庫資訊是否正確。目標庫資訊填寫正確則提示測試通過,如提示測試失敗,單擊測試失敗後的診斷,根據提示調整填寫的目標庫資訊。

  6. 配置完成後,單擊頁面右下角的授權白名單並進入下一步

    如果源或目標資料庫是阿里雲資料庫執行個體(例如RDS MySQLApsaraDB for MongoDB等),DTS會自動將對應地區DTS服務的IP地址添加到阿里雲資料庫執行個體的白名單;如果源或目標資料庫是ECS上的自建資料庫,DTS會自動將對應地區DTS服務的IP地址添加到ECS的安全規則中,您還需確保自建資料庫沒有限制ECS的訪問(若資料庫是叢集部署在多個ECS執行個體,您需要手動將DTS服務對應地區的IP地址添加到其餘每個ECS的安全規則中);如果源或目標資料庫是IDC自建資料庫或其他雲資料庫,則需要您手動添加對應地區DTS服務的IP地址,以允許來自DTS伺服器的訪問。DTS服務的IP地址,請參見DTS伺服器的IP位址區段

    警告

    DTS自動添加或您手動添加DTS服務的公網IP位址區段可能會存在安全風險,一旦使用本產品代表您已理解和確認其中可能存在的安全風險,並且需要您做好基本的安全防護,包括但不限於加強帳號密碼強度防範、限制各網段開放的連接埠號碼、內部各API使用鑒權方式通訊、定期檢查並限制不需要的網段,或者使用通過內網(專線/VPN網關/智能網關)的方式接入。

  7. 選擇遷移對象及遷移類型。選擇遷移對象和遷移類型選擇

    配置

    說明

    遷移類型

    • 如果只需要進行全量遷移,則勾選全量資料移轉

    • 如果需要進行不停機遷移,則同時勾選全量資料移轉增量資料移轉

    說明

    如果未勾選增量資料移轉,為保障資料一致性,資料移轉期間請勿在自建MongoDB資料庫中寫入新的資料。

    遷移對象

    • 遷移對象框中單擊待遷移的對象,然後單擊向右箭頭表徵圖將其移動到已選擇對象框。

      說明

      不支援遷移admin、local、config資料庫。

    • 遷移對象選擇的粒度為database、collection或function。

    • 預設情況下,遷移完成後,遷移對象的名稱保持不變。如果您需要改變遷移對象在目標資料庫中的名稱,那麼需要使用DTS提供的對象名映射功能。使用方法請參見庫表列映射

    映射名稱更改

    如需更改遷移對象在目標執行個體中的名稱,請使用對象名映射功能,詳情請參見庫表列映射

    源、目標庫無法串連重試時間

    預設重試12小時,您也可以自訂重試時間。如果DTS在設定的時間內重新串連上源、目標庫,遷移任務將自動回復。否則,遷移任務將失敗。

    說明

    由於串連重試期間,DTS將收取任務運行費用,建議您根據業務需要自訂重試時間,或者在源和目標庫執行個體釋放後儘快釋放DTS執行個體。

  8. 上述配置完成後,單擊頁面右下角的預檢查並啟動

    說明
    • 在遷移任務正式啟動之前,會先進行預檢查。只有預檢查通過後,才能成功啟動遷移任務。

    • 如果預檢查失敗,單擊具體檢查項後的提示,查看失敗詳情。

      • 您可以根據提示修複後重新進行預檢查。

      • 如無需修複警示檢測項,您也可以選擇確認屏蔽忽略警示項並重新進行預檢查,跳過警示檢測項重新進行預檢查。

  9. 預檢查通過後,單擊下一步

  10. 購買配置確認頁面,選擇鏈路規格並勾選資料轉送(隨用隨付)服務條款

  11. 單擊購買並啟動,遷移任務正式開始。

    • 全量資料移轉

      請勿手動結束遷移任務,否則可能會導致資料不完整。您只需等待遷移任務完成即可,遷移任務會自動結束。

    • 增量資料移轉

      遷移任務不會自動結束,您需要手動結束遷移任務。

      說明

      請選擇合適的時間手動結束遷移任務,例如業務低峰期或準備將業務切換至MongoDB執行個體時。

      1. 觀察遷移任務的進度變更為增量遷移,並顯示為無延遲狀態時,將源庫停寫幾分鐘,此時增量遷移的狀態可能會顯示延遲的時間。

      2. 等待遷移任務的增量遷移再次進入無延遲狀態後,手動結束遷移任務。MongoDB增量遷移無延遲

  12. 將業務切換至阿里雲MongoDB執行個體。

更多資訊

如何串連ApsaraDB for MongoDB複本集執行個體