本文說明如何透過可轉移對等互連的虛擬私有雲 (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,在兩個網路之間設定自訂廣告路由,這些路由會經過中繼 VPC,將多個 VPC 連線至 Cloud SQL 執行個體。這兩個虛擬私有雲必須使用虛擬私人網路 (VPN)、Cloud Interconnect 或任何其他 Cloud Router 支援的網路連線。
透過自訂廣告路由,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 從多個虛擬私有雲連線至 Cloud SQL 執行個體,請按照下列步驟操作:
在外部用戶端上安裝 gcloud CLI。
在中介 VM 上安裝、設定及執行 SOCKS 伺服器。這類伺服器的例子包括 Dante,這是一項熱門的開放原始碼解決方案。
設定伺服器,以便繫結至 VM 的
ens4網路介面,以供外部和內部連線使用。如果是內部連線,請指定任何通訊埠。設定虛擬私有雲的防火牆,允許從適當的 IP 位址或範圍傳送 TCP 流量至 SOCKS 伺服器設定的連接埠。
在外部用戶端上,下載並安裝 Cloud SQL Auth Proxy。
在外部用戶端上啟動 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 位址。
在外部用戶端上,使用 SQL Server 用戶端測試連線。
使用 Cloud SQL Auth Proxy 做為服務連線
您可以在中介虛擬私有雲 (而非外部用戶端) 上安裝及執行 Cloud SQL Auth Proxy,並將其與通訊協定感知 Proxy (也稱為連線集區) 配對,啟用安全連線。連線集區工具的例子包括 PGbouncer 或 Pgpool-II(僅限 PostgreSQL)。
應用程式可透過這個連線方法,使用設定的 SSL 直接安全地連線至集區。集區程式會使用 Cloud SQL Auth Proxy,將資料庫查詢傳遞至 Cloud SQL 執行個體。