適用於 PostgreSQL 的 Azure 資料庫 中移轉服務的網路案例

適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

本文概述使用 適用於 PostgreSQL 的 Azure 資料庫 中的移轉服務,將源資料庫連線到 適用於 PostgreSQL 的 Azure 資料庫 實例的各種案例。 每個案例都有不同的網路需求和組態,可成功建立移轉的連線。 特定詳細數據會根據來源環境和目標環境的實際網路設定和需求而有所不同。

下表摘要說明移轉案例。 數據表會根據來源和目標環境的組態,指出是否支援每個案例。

PostgreSQL 來源 Target 支援
具有公用IP位址的內部部署 具有公用存取權的「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」 Yes
透過虛擬專用網 (VPN) 或 Azure ExpressRoute 使用私人 IP 位址的內部部署 虛擬網路(VNet)整合 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器 Yes
適用於 PostgreSQL 的 Amazon Relational Database Service (Amazon RDS) 或具有公用 IP 位址的 Amazon Aurora PostgreSQL 具有公用存取權的「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」 Yes
Amazon RDS for PostgreSQL 或 Amazon Aurora PostgreSQL 透過 VPN 或 ExpressRoute 進行私人存取 與 VNet 整合的「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」 Yes
適用於 PostgreSQL 的 Google Cloud SQL 具有公用存取權的「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」 Yes
透過 VPN 或 ExpressRoute 透過私人存取的 Google Cloud SQL for PostgreSQL 與 VNet 整合的「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」 Yes
安裝在相同虛擬網路或不同虛擬網路中的 Azure 虛擬機 (VM) 上的 PostgreSQL VNet 整合 適用於 PostgreSQL 的 Azure 資料庫 - 相同虛擬網路或不同虛擬網路中的彈性伺服器 Yes
具有公用存取權的「適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器」 與 VNet 整合的「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」 Yes
適用於 PostgreSQL 的 Azure 資料庫 - 具有私人端點的單一伺服器 與 VNet 整合的「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」 Yes
適用於 PostgreSQL 的 Azure 資料庫 - 具有私人端點的單一伺服器 適用於 PostgreSQL 的 Azure 資料庫 - 具有私人端點的彈性伺服器 Yes
具有私人存取權的 PostgreSQL 來源 適用於 PostgreSQL 的 Azure 資料庫 - 具有私人端點的彈性伺服器 Yes
具有私人存取權的 PostgreSQL 來源 具有公用存取權的「適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器」 No

內部部署 (公用 IP) 到彈性伺服器 (公用存取)

網路步驟:

  1. 請確定源資料庫伺服器具有公用IP位址。
  2. 設定防火牆以允許 PostgreSQL 連接埠上的輸出連線(預設埠為 5432)。
  3. 請確定來源資料庫伺服器可透過因特網存取。
  4. 藉由驗證 適用於 PostgreSQL 的 Azure 資料庫 目標實例與源資料庫的連線,以測試安裝程式。 確認移轉服務可以存取源數據。

內部部署 (私人 IP) 至 VNet 整合式彈性伺服器 (ExpressRoute 或 VPN)

透過 ExpressRoute 或 Azure VPN 閘道 連線至 Azure 的內部部署資料中心螢幕快照。內部部署PostgreSQL伺服器會透過安全連結連線至 適用於 PostgreSQL 的 Azure 資料庫。

網路步驟:

  1. 為內部部署網路與 Azure 之間的安全可靠連線設定站對站 VPN 或 ExpressRoute 實例。
  2. 設定 Azure 虛擬網路以允許從內部部署 IP 位址範圍存取。
  3. 設定網路安全組規則,以允許來自內部部署網路的PostgreSQL埠(預設埠為5432) 上的流量。
  4. 藉由驗證從目標實例 適用於 PostgreSQL 的 Azure 資料庫 到源資料庫的連線,以測試安裝程式。 確認移轉服務可以存取源數據。

受控 PostgreSQL 服務 (公用 IP) 到彈性伺服器 (公用/私人存取)

來自受控服務的PostgreSQL資料庫螢幕快照,例如從 Amazon 或 Google,透過因特網或私人方法連線到 適用於 PostgreSQL 的 Azure 資料庫。

雲端提供者中的來源 PostgreSQL 實例(例如 AWS 或 GCP)必須具有公用 IP 位址或直接連線至 Azure。

網路步驟:

  • 公用存取

    1. 如果您的 Amazon Web Services(AWS)、Google Cloud Platform (GCP) 或其他受控 PostgreSQL 服務中的 PostgreSQL 實例無法公開存取,請修改實例以允許來自 Azure 的連線。 在雲端提供者的控制台中(例如,在 AWS 管理控制台或 Google Cloud 控制台中),將 設定變更為允許公用輔助功能。
    2. 在雲端提供者的安全性設定中(例如,在AWS中的安全組或 GCP 中的防火牆規則中),新增輸入規則以允許來自 適用於 PostgreSQL 的 Azure 資料庫 公用IP位址或網域的流量。
  • 私人存取

    1. 使用 ExpressRoute、IPsec VPN 或來自雲端提供者(Azure ExpressRoute、AWS Direct Connect、GCP 互連)至 Azure 的對等私人連線來建立安全連線。
    2. 在來源雲端提供者的安全性設定中(例如 AWS 安全組或 GCP 防火牆規則),新增輸入規則以允許來自 適用於 PostgreSQL 的 Azure 資料庫 公用 IP 位址或網域的流量,或從 PostgreSQL 連接埠上 Azure 虛擬網路的 IP 位址範圍(預設埠為 5432)。
    3. 在與 適用於 PostgreSQL 的 Azure 資料庫 實例相同的區域中,在 Azure 中建立虛擬網路。 設定網路安全組,以允許預設埠 5432 上來源雲端提供者 PostgreSQL 實例 IP 位址的輸出連線。
    4. 在 Azure 中設定網路安全組規則,以允許從雲端提供者 (例如,從 AWS 或 GCP) 到 適用於 PostgreSQL 的 Azure 資料庫 IP 位址範圍的連入連線。
    5. 測試受控 PostgreSQL 服務中 PostgreSQL 實例(例如 AWS、GCP 或 Heroku)與 適用於 PostgreSQL 的 Azure 資料庫 之間的連線能力,以確保不會發生任何網路問題。

適用於 PostgreSQL 的 Azure 資料庫 的 Azure VM (私人存取) (不同虛擬網路)

此案例描述 Azure 實例 虛擬機器 與不同虛擬網路中 適用於 PostgreSQL 的 Azure 資料庫 實例之間的連線。 需要虛擬網路對等互連和適當的網路安全組規則,才能協助 VNet 之間的流量。

一個虛擬網路中 Azure VM 的螢幕快照會連線至另一個虛擬網路中的 適用於 PostgreSQL 的 Azure 資料庫。

網路步驟:

  1. 設定兩個 VNet 之間的虛擬網路對等互連,以啟用直接網路連線。
  2. 設定網路安全組規則,以允許PostgreSQL埠上的VNet之間的流量。

要 適用於 PostgreSQL 的 Azure 資料庫 的 Azure VM(相同虛擬網路)

當 Azure VM 和 適用於 PostgreSQL 的 Azure 資料庫 實例位於相同的虛擬網路中時,組態很簡單。 設定網路安全組規則,以允許PostgreSQL埠上的內部流量。 不需要其他防火牆規則,因為流量會保留在虛擬網路中。

相同虛擬網路中 Azure VM 的螢幕快照會直接連線到 適用於 PostgreSQL 的 Azure 資料庫 的實例。

網路步驟:

  1. 請確定 VM 和 PostgreSQL 伺服器位於相同的虛擬網路中。
  2. 設定網路安全組規則,以允許PostgreSQL埠上虛擬網路內的流量。

單一伺服器 (公用存取) 至 VNet 整合式彈性伺服器

為了在 適用於 PostgreSQL 的 Azure 資料庫 具有公用存取權的單一伺服器和 VNet 整合式彈性伺服器之間的實例之間加速連線,請設定單一伺服器以允許部署彈性伺服器之子網的連線。

以下是設定此連線的步驟簡述:

將 VNet 規則新增至單一伺服器:

  1. 在 Azure 入口網站 中,移至您的 適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器實例。

  2. 移至 [ 連線安全性 ] 設定。

  3. 在 [ 虛擬網络規則] 區段中,選取 [ 新增現有的虛擬網络]。

    指定哪些虛擬網路可以連線到您的單一伺服器。

    為單一伺服器新增虛擬網路規則的螢幕快照。

設定規則設定:

  1. 在組態窗格中,輸入新虛擬網路規則的名稱。

  2. 選取彈性伺服器所在的訂用帳戶。

  3. 選取與彈性伺服器相關聯的虛擬網路和特定子網。

  4. 選取 [ 確定 ] 以確認設定。

    允許彈性伺服器子網路的螢幕擷取畫面。

完成這些步驟之後,系統會將單一伺服器設定為接受彈性伺服器子網的連線,以在兩部伺服器之間進行安全通訊。

單一伺服器 (私人端點) 至 VNet 整合式彈性伺服器

為了協助從 適用於 PostgreSQL 的 Azure 資料庫 具有私人端點到 VNet 整合式彈性伺服器的實例連線 - 單一伺服器:

取得私人端點詳細資料:

  1. 在 Azure 入口網站 中,移至 適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器實例。 選取私人端點以檢視其虛擬網路和子網詳細數據。

  2. 移至彈性伺服器的 [ 網络] 窗格。 記下伺服器的虛擬網路和子網資訊。

    單一伺服器的私人端點連線螢幕快照。

    顯示單一伺服器私人端點虛擬網路和子網詳細數據的螢幕快照。

評估 VNet 對等互連需求:

如果兩部伺服器位於不同的 VNet 中,您必須啟用虛擬網路對等互連來連線虛擬網路。 如果伺服器位於相同的虛擬網路,但在不同的子網中,則對等互連是選擇性的。 請確定沒有任何網路安全組封鎖從彈性伺服器到單一伺服器的流量。

設定私人 DNS 區域:

  1. 移至彈性伺服器的 [ 網络] 窗格,並檢查是否已設定私人 DNS 區域。 如果私人 DNS 區域正在使用中,請移至入口網站中的私人 DNS 區域。 在左窗格中,選取 [虛擬網络連結 ],並檢查單一伺服器的虛擬網路和彈性伺服器是否會出現在此清單中。

    連結至私人 DNS 區域的虛擬網路螢幕快照。

    如果私人 DNS 區域不在使用中,請選取 [新增 ] 按鈕,併為單一伺服器和彈性伺服器的 VNet 建立此私人 DNS 區域的連結。

  2. 移至單一伺服器的私人端點,然後選取 [DNS 組態 ] 窗格。 檢查私人 DNS 區域是否已連結至此端點。 如果沒有,請選取 [ 新增設定 ] 按鈕來附加私人 DNS 區域。

    顯示私人 DNS 區域搭配私人端點使用的螢幕快照。

  3. 選取單一伺服器私人端點上的私人 DNS 區域。 檢查單一伺服器和彈性伺服器的 VNet 是否出現在虛擬網路連結中。 如果沒有,請完成先前所述的步驟,將單一伺服器虛擬網路的連結和彈性伺服器新增至此私人 DNS 區域。

  4. 如需最終檢查,請移至單一伺服器上私人端點的私人 DNS 區域,並檢查 是否為指向私人 IP 位址的單一伺服器設定 A 記錄

    此螢幕快照顯示指派給私人端點的私人IP位址。

完成這些步驟可讓 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器實例連線到 適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器實例。

單一伺服器 (私人端點) 到彈性伺服器 (私人端點)

本節說明從具有私人端點的單一伺服器移轉至具有 適用於 PostgreSQL 的 Azure 資料庫 中私人端點之彈性伺服器的基本網路步驟。 它包含運行時間伺服器虛擬網路與私人端點的整合。 如需詳細資訊,請參閱 移轉運行時間伺服器

  • 收集單一伺服器的私人端點詳細資料:

    1. 在 Azure 入口網站 中,移至 適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器的實例。
    2. 記錄在單一伺服器的私人端點連線下列出的虛擬網路和子網詳細數據。

    具有 PE 的單一伺服器螢幕擷取畫面。

  • 收集彈性伺服器的私人端點詳細資料:

    1. 在 Azure 入口網站 中,移至 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器的實例。
    2. 記錄彈性伺服器私人端點連線下所列的虛擬網路和子網詳細數據。

    具有私人端點的彈性伺服器螢幕快照。

  • 收集移轉執行時間伺服器的 VNet 詳細資料:

    1. 在 Azure 入口網站 中,移至移轉運行時間伺服器。 也就是說,請移至 VNet 整合 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器的實例。
    2. 記錄虛擬網路下所列的虛擬網路和子網詳細數據。

    具有虛擬網路的移轉運行時間伺服器的螢幕快照。

  • 評估 VNet 對等互連需求:

    1. 如果伺服器位於不同的 VNet 中,請啟用虛擬網路對等互連。 如果伺服器位於相同的虛擬網路,但在不同的子網中,則不需要對等互連。
    2. 請確定沒有網路安全組封鎖來源伺服器、移轉運行時間伺服器和目標伺服器之間的流量。
  • 私用 DNS 區域設定:

    1. 移至彈性伺服器的 [ 網络] 窗格,並檢查是否已設定私人 DNS 區域。

    2. 如果私人 DNS 區域正在使用中,請移至入口網站中的私人 DNS 區域。 在左窗格中,選取 [虛擬網络連結 ],並檢查單一伺服器的虛擬網路和彈性伺服器是否會出現在此清單中。

      運行時間伺服器私人 DNS 區域的螢幕快照。

    3. 如果尚未設定私人 DNS 區域,將私人 DNS 區域附加至單一伺服器的私人端點:

      1. 將單一伺服器和移轉運行時間伺服器的虛擬網路連結新增至私人 DNS 區域。
      2. 針對彈性伺服器的私人端點重複 DNS 區域附件和虛擬網路連結程式。

      包含來源伺服器和目標伺服器的私人 DNS 區域的螢幕快照。

PostgreSQL 來源 (私人 IP) 到彈性伺服器 (私人端點)

本節說明將 PostgreSQL 資料庫從雲端式 PostgreSQL 服務、內部部署設定或 VM,全都具有私人 IP 位址的網路步驟移轉至使用私人端點保護的 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器實例。 移轉可確保在專用網空間內使用 Azure VPN 或 ExpressRoute 進行內部部署連線的安全資料傳輸,以及用於雲端到雲端移轉的 VPN。 如需詳細資訊,請參閱 移轉運行時間伺服器

  • 建立網路連線能力:

    1. 針對內部部署來源,請設定站對站 VPN,或設定 ExpressRoute 將您的區域網路連線至 Azure 的虛擬網路。
    2. 針對 Azure VM 或 Amazon 實例,請確定虛擬網路對等互連、VPN 閘道或 ExpressRoute 的實例已就緒,以安全地連線到 Azure 的虛擬網路。
  • 收集移轉執行時間伺服器的 VNet 詳細資料:

    1. 在 Azure 入口網站 中,移至移轉運行時間伺服器。 也就是說,請移至 VNet 整合 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器的實例。
    2. 記錄虛擬網路下所列的虛擬網路和子網詳細數據。
  • 評估 VNet 對等互連需求:

    1. 如果伺服器位於不同的 VNet 中,請啟用虛擬網路對等互連。 如果伺服器位於相同的虛擬網路,但在不同的子網中,則不需要對等互連。
    2. 請確定沒有網路安全組封鎖來源伺服器、移轉運行時間伺服器和目標伺服器之間的流量。
  • 私用 DNS 區域設定:

    1. 在移轉運行時間伺服器的 [ 網络] 窗格中,確認私人 DNS 區域正在使用中。
    2. 請確定來源和目標彈性伺服器的 VNet 都連結到移轉運行時間伺服器的私人 DNS 區域。
    3. 如果尚未設定私人 DNS 區域,請附加至彈性伺服器的私人端點。
    4. 將彈性伺服器的虛擬網路連結和移轉運行時間伺服器新增至私人 DNS 區域。