將執行個體連線至多個虛擬私有雲

本文說明如何透過遞移對等互連的虛擬私有雲 (VPC) 網路連線至 Cloud SQL 執行個體。

建議您使用 Private Service Connect,跨多個虛擬私有雲網路連線至 Cloud SQL 執行個體。

如果 Cloud SQL 執行個體只能使用私人服務連線建立私人網路連線,您可以透過下列方式,將 Cloud SQL 執行個體連線至多個虛擬私有雲網路:

使用 Private Service Connect 連線

Private Service Connect 可讓您連線至不同專案或機構中的多個虛擬私有雲網路。您可以使用 Private Service Connect 連線至主要執行個體或任何唯讀副本。如要進一步瞭解 Private Service Connect,請參閱「Private Service Connect 總覽」。

如要設定 Cloud SQL 執行個體,透過 Private Service Connect 連線至多個虛擬私有雲,請參閱「設定 Private Service Connect」。

使用自訂 advertise 路由連線

您可以使用 Cloud Router,在兩個網路之間設定自訂 advertise 路由,這些網路會透過中介 VPC,將多個 VPC 連線至 Cloud SQL 執行個體。這兩個 VPC 必須使用虛擬私人網路 (VPN)、Cloud Interconnect 或任何其他Cloud Router 支援的網路連線。

自訂路由通告。

使用自訂 advertise 路由時,Cloud SQL 虛擬私有雲 VPC C 會透過中介虛擬私有雲 VPC B,連線至主要虛擬私有雲 VPC A。您可以透過下列方式,在這些網路之間設定共用路由:

  • 您可以透過 Cloud Router,手動在兩個網路之間 advertise 路由,這些路由會經過中繼 VPC。如要進一步瞭解如何設定 Cloud Router 手動 advertise 路由,請參閱「傳輸網路」。

  • 您可以建立兩個互相連線的高可用性 VPN 閘道,橋接兩個不同的虛擬私有雲,並設定 Cloud Router 在兩者之間共用路由。如要進一步瞭解如何設定高可用性 VPN 閘道,請參閱「建立高可用性 VPN 閘道來連結虛擬私有雲網路」。

建議您使用 Cloud Router,透過自訂 advertise 路由將多個虛擬私有雲連線至 Cloud SQL 執行個體。

使用中繼 Proxy (SOCKS5) 連線

您可以在中繼虛擬私有雲上設定中繼 Proxy (例如 SOCKS5 Proxy),並在主要虛擬私有雲中,於用戶端和 Cloud SQL 執行個體之間設定 Cloud SQL Auth Proxy。這樣一來,中繼節點就能將加密流量從 Cloud SQL Auth Proxy 轉送至 Cloud SQL 執行個體。

使用中介 Proxy 連線。

如要使用中介 Proxy 從多個 VPC 連線至 Cloud SQL 執行個體,請按照下列步驟操作:

  1. 在外部用戶端上安裝 gcloud CLI。

  2. 在中介 VM 上安裝、設定及執行 SOCKS 伺服器。這類伺服器的例子包括 Dante,這是一項熱門的開放原始碼解決方案。

  3. 將伺服器設為繫結至 VM 的 ens4 網路介面,以便進行外部和內部連線。如果是內部連線,請指定任何通訊埠。

  4. 設定虛擬私有雲的防火牆,允許從適當 IP 位址或範圍傳送 TCP 流量至 SOCKS 伺服器的設定通訊埠。

  5. 在外部用戶端下載並安裝 Cloud SQL Auth Proxy。

  6. 在外部用戶端上啟動 Cloud SQL Auth Proxy。

    您已將執行個體設為使用內部 IP 位址,因此啟動 Cloud SQL Auth Proxy 時,必須提供 --private-ip 選項。

    此外,請將 ALL_PROXY 環境變數設為中介 VM 的 IP 位址,並指定 SOCKS 伺服器使用的連接埠。例如:ALL_PROXY=socks5://VM_IP_ADDRESS:SOCKS_SERVER_PORT.

    如果是從對等互連的虛擬私有雲連線,請使用中介 VM 的內部 IP 位址;否則請使用外部 IP 位址。

  7. 在外部用戶端上,使用 psql 測試連線。

使用 Cloud SQL Auth Proxy 做為服務連線

您可以在中介虛擬私有雲 (而非外部用戶端) 上安裝及執行 Cloud SQL Auth Proxy,並將其與通訊協定感知 Proxy (也稱為連線集區) 配對,啟用安全連線。連線集區的範例包括 PGbouncer 或 Pgpool-II(僅限 PostgreSQL)。

這個連線方法可讓應用程式使用設定的 SSL,直接安全地連線至集結器。集區程式會使用 Cloud SQL Auth Proxy,將資料庫查詢傳遞至 Cloud SQL 執行個體。