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

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

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

如果 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,在兩個網路之間設定自訂廣告路由,這些路由會經過中繼 VPC,將多個 VPC 連線至 Cloud SQL 執行個體。這兩個 VPC 必須使用虛擬私人網路 (VPN)、Cloud Interconnect 或任何其他Cloud Router 支援的網路連線。

自訂路由 advertising。

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

  • 您可以使用 Cloud Router,手動 advertise 兩個網路之間經過中介 VPC 的路由。如要進一步瞭解如何設定 Cloud Router 手動 advertise 路由,請參閱「傳輸網路」。

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

建議您使用自訂廣告路由,透過 Cloud Router 將多個 VPC 連線至 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 驗證 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. 在外部用戶端上,使用 mysql 測試連線。

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

您可以在中繼 VPC 上安裝及執行 Cloud SQL Auth Proxy,而不必在外部用戶端上執行,並將其與通訊協定感知 Proxy (也稱為連線集區器) 配對,啟用安全連線。連線集區工具的例子包括 PGbouncer 或 Pgpool-II(僅限 PostgreSQL)。

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