全部產品
Search
文件中心

ApsaraDB RDS:一鍵上雲

更新時間:Jun 19, 2024

本文介紹如何通過RDS PostgreSQL的一鍵上雲功能將ECS或IDC自建PostgreSQL資料庫遷移到RDS PostgreSQL。該功能採用物理流複製方式,具有速度快、操作簡單、穩定性好、情境覆蓋全等特點,能夠有效提高遷移效率。

前提條件

  • RDS PostgreSQL執行個體需滿足以下條件。
    • 執行個體大版本與自建PostgreSQL相同,當前支援PostgreSQL 10及以上版本。
      說明 如需跨大版本遷移,例如從PostgreSQL 10遷移至RDS PostgreSQL 13,需要先參考本文檔完成一鍵上雲,再通過升級資料庫大版本將RDS PostgreSQL 10升級至RDS PostgreSQL 13。
    • 執行個體需要為主執行個體,唯讀執行個體不支援一鍵上雲。
    • 執行個體的儲存類型為雲端硬碟。
    • 執行個體為空白,無資料,可用儲存空間大於等於自建PostgreSQL中資料大小的總和。
  • 自建PostgreSQL需要滿足以下條件。

注意事項

遷移上雲任務期間可以對自建PostgreSQL資料庫進行讀寫,但請勿執行遷移、重啟、變更配置等操作。

步驟一:上雲評估

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
  2. 在左側導覽列單擊一鍵上雲,單擊上雲評估頁簽。
  3. 在設定精靈的選擇遷移來源步驟,選擇遷移來源後,單擊下一步
  4. 目標庫配置步驟,單擊下一步
  5. 源庫配置步驟,選中所有已完成的配置準備項,單擊下一步
    說明 源庫配置步驟的具體操作,請參見(可選)ECS配置安全性群組建立遷移帳號更新pg_hba.conf檔案
  6. 發起遷移評估步驟,配置源庫資訊。
    參數取值說明
    遷移任務名系統自動產生,無需修改。
    源端 VPC IP/DNS
    • ECS自建PostgreSQL資料庫一鍵上雲情境,配置ECS執行個體的私網IP。擷取方法請參見查看IP地址
    • IDC自建PostgreSQL資料庫一鍵上雲情境,配置為IDC的內網IP。
    源端Port自建PostgreSQL資料庫的連接埠,可通過netstat -a | grep PGSQL命令查看。
    使用者名稱migratetest建立遷移帳號步驟建立的資料庫帳號。
    密碼123456建立遷移帳號步驟建立的資料庫帳號的密碼。
  7. 單擊建立遷移評估任務
    說明 遷移評估任務期間,執行個體狀態將變更為維護執行個體中
    遷移評估完成後,您可以在上雲評估頁面查看遷移評估任務的狀態。

    處理報錯後,您可以單擊操作列的重新評估,重新開始評估任務。

    上雲評估報告

步驟二:遷移上雲

說明 只有上雲評估狀態為成功時,才能執行本步驟。
  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
  2. 在左側導覽列單擊一鍵上雲,切換至遷移上雲頁簽,單擊建立遷移上雲任務。建立上雲任務
  3. 建立遷移上雲任務視窗中,從關聯評估任務列表中選擇步驟一:上雲評估中已成功的上雲評估任務。建立遷移上雲任務
    說明 選擇關聯評估任務後,源庫類型源端 IP/DNS源端Port使用者名稱參數將會自動擷取,無需配置。
  4. 單擊發起遷移上雲,系統將自動啟動上雲任務。
    警告 上雲任務期間,執行個體狀態將變更為遷入資料中。您可以對自建PostgreSQL資料庫進行讀寫,但請勿執行遷移、重啟、變更配置等操作,否則將導致上雲任務失敗。
  5. 上雲切換。
    1. 在遷移上雲任務中,單擊上雲階段列的連結,查看當前上雲任務進度。上雲進度
    2. 當上雲階段為增量同步處理時,可單擊操作列的上雲切換,將RDS PostgreSQL提升為主庫,正式提供服務。
    3. 切換上雲視窗,根據上雲鬚知提示,設定源執行個體唯讀或應用停止寫入。切換上雲
      說明 設定源執行個體唯讀:
      • 如果源執行個體為RDS PostgreSQL執行個體,則參考如下步驟配置:
        1. 通過設定執行個體參數功能,修改源執行個體參數rds_force_trans_ro_non_sup取值為on
        2. 使用如下語句,中斷所有現有會話。
          SELECT pg_terminate_backend(pid) FROM pg_stat_activity 
          WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
      • 如果源執行個體為自建資料庫,則參考如下步驟配置:
        -- 設定資料庫唯讀
        ALTER SYSTEM SET default_transaction_read_only=on;
        
        -- 重新載入參數配置使修改生效
        SELECT pg_reload_conf();
        
        -- 中斷所有現有會話
        SELECT pg_terminate_backend(pid) FROM pg_stat_activity 
        WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
    4. 選中所有複選框,單擊立即切換,等待遷移完成。
    上雲完成