本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

容災執行個體搭建準備

更新時間:2025-02-28 19:10

在搭建容災執行個體之前,您需確保源執行個體(即需進行容災的執行個體)與目標執行個體(災備執行個體,即RDS PostgreSQL執行個體)之間的網路能夠互連。此外,還需在源執行個體中建立容災同步帳號,並配置相關檔案。本文將以源執行個體為ECS自建PostgreSQL執行個體為例,介紹容災執行個體搭建的準備工作。

前提條件

已建立目標RDS PostgreSQL執行個體,且需要滿足如下條件。詳情請參見建立RDS PostgreSQL執行個體

  • 執行個體大版本與源執行個體相同。

  • 執行個體為主執行個體,唯讀執行個體不支援搭建為災備執行個體。

  • 執行個體計費方式為隨用隨付或訂用帳戶,Serverless執行個體不支援搭建為災備執行個體。

  • 執行個體為空白,無資料,可用儲存空間大於等於自建PostgreSQL中資料大小的總和。

實現網路互連

網路互連方案概覽

源執行個體類型

網路互連方式

源執行個體類型

網路互連方式

本地IDC自建

Express ConnectVPN網關Smart Access Gateway雲企業網

其他雲自建

Smart Access Gateway雲企業網公網NAT Gateway

阿里雲ECS自建

雲企業網公網NAT Gateway

說明

如果ECS與目標RDS PostgreSQL執行個體位於同一VPC,則無需進行網路打通。

其他雲託管

Smart Access Gateway雲企業網公網NAT Gateway

阿里雲RDS

雲企業網公網NAT Gateway

說明

如果源RDS PostgreSQL執行個體與目標RDS PostgreSQL執行個體位於同一VPC,則無需進行網路打通。

如果源執行個體支援公網訪問,則可以通過公網NAT Gateway實現各類源執行個體與目標執行個體VPC網路之間的互連。本文介紹如何配置目標執行個體(災備執行個體,即RDS PostgreSQL執行個體),以實現通過公網NAT Gateway進行網路互連。

對於不支援公網訪問的源執行個體,您可以使用雲企業網實現網路互連,詳細操作請參見雲企業網配置實現網路互連。

配置目標執行個體的公網NAT Gateway

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列單擊資料庫連接。在資料庫連接頁查看目標執行個體的VPCVSwitch

    將滑鼠懸浮在VPC ID上,即可查看VSwitch ID

    image

  3. 單擊的VPC ID,進入專用網路控制台。

  4. 單擊資源管理頁簽,在公網訪問服務地區的公網NAT Gateway處,單擊立即建立

    image

  5. 在建立公網NAT Gateway頁面,配置以下購買資訊,然後單擊立即購買

    配置

    說明

    配置

    說明

    付費模式

    預設選擇為隨用隨付,即一種先使用後付費的付費模式。更多資訊,請參見公網NAT Gateway計費

    資源群組

    選擇VPC所屬的資源群組。更多資訊,請參見什麼是資源群組

    標籤

    • 標籤鍵:選擇或輸入完整的標籤鍵。

      最多支援輸入20個標籤鍵。一個標籤鍵最多支援128個字元,不能以aliyun和acs:開頭,不能包含http://或者https://。

    • 標籤值:選擇或輸入完整的標籤值。

      最多支援輸入20個標籤值。一個標籤值最多支援128個字元,不能以aliyun和acs:開頭,不能包含http://或者https://。

    所屬地區

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

    所屬專用網路

    選擇目標RDS PostgreSQL執行個體的VPC。

    關聯交換器

    選擇目標RDS PostgreSQL執行個體的VSwitch。

    計費類型

    預設選擇為按使用量計費,即按公網NAT Gateway實際使用量收費。更多資訊,請參見公網NAT Gateway計費

    計費周期

    預設選擇為按小時,即按使用量計費公網NAT Gateway的計費周期為1小時,不足1小時按1小時計算。

    執行個體名稱

    設定公網NAT Gateway執行個體的名稱。

    執行個體名稱長度為2~128個字元,以英文大小寫字母或中文開頭,可包含數字、底線(_)和短劃線(-)。

    訪問模式

    選擇VPC全通模式(SNAT):選擇了VPC全通模式,在公網NAT Gateway建立成功後當前VPC內所有執行個體即可通過該公網NAT Gateway訪問公網。

    Elastic IP Address

    選擇Elastic IP Address地址。如果您還未購買Elastic IP Address地址,請參見VPC全通模式組合購買公網NAT Gateway和Elastic IP Address

  6. 確認訂單頁面確認公網NAT Gateway的配置資訊,選中服務合約並單擊確認訂單

    當出現恭喜,購買成功!的提示後,說明您建立成功。

配置源執行個體

步驟一:建立容災同步帳號

在搭建容災關係時,需要源執行個體提供用於容災同步的資料庫帳號(下稱為同步帳號)。

  1. 串連源PostgreSQL執行個體,建立同步帳號,並設定所需的許可權屬性。例如,建立一個名為replicatoraccount的同步帳號。

    CREATE ROLE replicatoraccount CREATEROLE REPLICATION LOGIN PASSWORD 'your_password';
  2. 為同步帳號replicatoraccount授予pg_monitor許可權。

    GRANT pg_monitor TO replicatoraccount;
  3. 使用建立的同步帳號replicatoraccount串連源PostgreSQL執行個體,執行以下SQL語句,以檢查其是否具備要求的權限。

    1. 執行如下SQL語句,建立測試帳號testreplicator並賦予REPLICATION許可權。如果建立成功,則表明同步帳號replicatoraccount已具備所需的同步許可權。

      CREATE USER testreplicator WITH REPLICATION;

      如果遇到類似於must be superuser to create replication users的報錯,請使用具備SUPERUSER許可權的帳號串連源執行個體,為同步帳號replicatoraccount授予SUPERUSER許可權,例如執行命令ALTER USER replicatoraccount WITH SUPERUSER;

    2. 刪除測試帳號testreplicator。

      DROP USER IF EXISTS testreplicator;

步驟二:配置ECS安全性群組

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇執行個體與鏡像 > 執行個體

  3. 在頂部功能表列左上方處,選擇地區。

  4. 找到目標ECS執行個體,單擊執行個體ID。

  5. 安全性群組頁簽,單擊安全性群組名稱。

  6. 安全性群組詳情頁面的訪問規則地區,單擊入方向頁簽中的手動添加按鈕。添加如下安全性群組規則。

    需要添加的安全性群組及關鍵參數說明如下:

    協議類型

    連接埠範圍

    授權對象

    協議類型

    連接埠範圍

    授權對象

    全部 ICMP(IPv4)

    源:-1/-1

    目的:-1/-1

    配置為實現網路互連步驟中,建立的目標RDS PostgreSQL執行個體公網NAT Gateway的Elastic IP Address。

    說明

    您可以在目標公網NAT Gateway的綁定的Elastic IP Address頁簽,查看該公網NAT Gateway的Elastic IP Address。

    TCP

    ECS自建PostgreSQL資料庫的連接埠,可通過netstat -a | grep PGSQL命令查看。

步驟三:配置pg_hba.conf檔案

說明

本步驟以CentOS 7系統安裝PostgreSQL 13為例進行配置。

  1. 登入自建PostgreSQL資料庫所在的ECS。詳細操作請參見遠端連線ECS

  2. 擷取pg_hba.conf檔案位置。

    說明

    該命令需要切換至root使用者執行。

    find / -name pg_hba.conf

    返回結果:

    /var/lib/pgsql/13/data/pg_hba.conf
  3. 進入pg_hba.conf檔案目錄。

    cd /var/lib/pgsql/13/data/
  4. 編輯pg_hba.conf檔案,在末尾添加如下內容。

    host  all    replicatoraccount  121.XX.XX.XX/32  md5
    host  replication  replicatoraccount  121.XX.XX.XX/32  md5

    關鍵參數解釋:

    • replicatoraccount:已建立的同步帳號。具體請參見步驟一:建立容災同步帳號

    • 121.XX.XX.XX實現網路互連時,建立的目標RDS PostgreSQL執行個體公網NAT Gateway的Elastic IP Address。

      說明

      您可以在目標公網NAT Gateway的綁定的Elastic IP Address頁簽,查看該公網NAT Gateway的Elastic IP Address。

  5. 串連源PostgreSQL,重新載入配置使其生效。

    SELECT pg_reload_conf();

    返回結果樣本:

     pg_reload_conf
    ----------------
     t
    (1 row)

步驟四:配置postgresql.conf檔案

詳細操作請參見配置postgresql.conf檔案

步驟五:設定管理員防火牆

詳細操作請參見設定管理員防火牆

  • 本頁導讀 (1, M)
  • 前提條件
  • 實現網路互連
  • 網路互連方案概覽
  • 配置目標執行個體的公網NAT Gateway
  • 配置源執行個體
  • 步驟一:建立容災同步帳號
  • 步驟二:配置ECS安全性群組
  • 步驟三:配置pg_hba.conf檔案
  • 步驟四:配置postgresql.conf檔案
  • 步驟五:設定管理員防火牆
文檔反饋
phone 聯絡我們