從外部伺服器複製資料的相關說明

本頁面說明如何設定從來源資料庫伺服器複製資料到 PostgreSQL 副本。這種設定有時又稱為「外部伺服器」設定。

來源資料庫伺服器可以是任何 PostgreSQL 伺服器,包括在其他 Google Cloud 服務 (如 Cloud SQL 或 Compute Engine) 上執行的伺服器,或是在符合這些規範的雲端供應商服務 (如 Amazon RDS) 上執行的伺服器。如需設定這種配置的逐步操作說明,請參閱從外部伺服器複製一文。

外部伺服器設定的用途

設定外部伺服器可達成下列目標:

  1. 在盡可能減少停機時間的前提下,將您的資料從自助式管理 PostgreSQL 伺服器遷移到 Google Cloud。

  2. 保留主機代管服務及對伺服器的控制,同時將備用資源的管理工作卸載到 Cloud SQL。

    這種用途有時也稱「混合式雲端」。自助式管理伺服器和 Cloud SQL 備用資源間的複製會無限期地持續下去。

外部複製設定

外部複製設定包含下列執行個體:

  • 您代管的 PostgreSQL 伺服器,又稱為「來源資料庫伺服器」
  • Cloud SQL 備用資源。

    單一來源資料庫伺服器可能有多個備用資源。

  • 來源代表執行個體

    來源代表執行個體是向 Cloud SQL 備用資源代表來源資料庫伺服器的 Cloud SQL 執行個體。這項資源會顯示在 Google Cloud 控制台中,外觀與一般 Cloud SQL 執行個體相同,但其中不含任何資料,也不需要設定或維護,且不會影響帳單。

下圖說明這些執行個體彼此間的關係:

由三個執行個體組成外部複製配置的圖

SSL/TLS 設定

從外部伺服器複製資料時,必須在來源資料庫伺服器和 Cloud SQL 備用資源之間傳送所有資料變更。

如果連線是透過公用網路建立 (使用 IP 允許清單),Google 建議您在來源和目的地資料庫之間的連線使用 SSL/TLS 加密。

Cloud SQL 提供下列 SSL/TLS 設定選項:

  • 無:Cloud SQL 目的地執行個體會連線至來源資料庫,且不進行加密。
  • 僅限伺服器驗證

伺服器單向驗證

備用資源連線至主要執行個體時,會驗證主要執行個體。這有助於確保副本連線至正確主機,並防止路徑攻擊。主要執行個體不會驗證副本。

如要使用僅限伺服器的驗證,請在建立備用資源時,提供簽署外部伺服器憑證的憑證授權單位 (CA) 的 x509 PEM 編碼憑證。CA 只能包含單一憑證,且必須是自簽憑證。換句話說,簽署伺服器憑證的憑證授權單位必須是根 CA。

外部伺服器 SSL 憑證到期通知

如果外部伺服器的伺服器 CA 憑證即將到期,請輪替 SSL 憑證,包括地端執行個體上的伺服器 CA 憑證。

詳情請參閱「管理 SSL/TLS 憑證」。

來自同一個資料庫伺服器的多個副本

您可以從相同的來源資料庫伺服器建立多個備用資源。您可能需要提供更多頻寬,或在不同區域建立副本。

如果您在同一個地區中建立多個副本,這些副本可以全部使用同一個來源表示例項,也可以使用不同的例項。如果您使用Google Cloud 控制台建立多個副本,這些副本會有不同的來源表示執行個體。

如果您要在不同區域建立多個副本,這些副本必須有不同的來源代表執行個體。

您無法在同一操作中建立多個備用資源。您建立完第一個備用資源的備用資源配置之後,即能開始為其他備用資源建立備用資源配置。您不必等到第一個副本完全正常運作,即可開始建立其他副本。

外部伺服器的連鎖備用資源

串聯式唯讀備用資源:您可以在相同或不同區域的另一個唯讀備用資源下建立唯讀備用資源。您最多可以新增四層連鎖副本,包括主要執行個體。當您升級串聯式備用資源階層頂端的備用資源時,該備用資源會成為主要執行個體,其串聯式備用資源則會繼續複製。

使用外部伺服器時,您可以在遷移資料後,但在將外部伺服器備用資源升級為主要伺服器前,在外部伺服器備用資源下建立唯讀備用資源。這樣一來,您就能在升級外部伺服器備用資源前,測試唯讀備用資源拓撲。