全部產品
Search
文件中心

ApsaraDB RDS:一鍵上雲

更新時間:Sep 27, 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. 選中所有複選框,單擊立即切換,等待遷移完成。

    上雲完成