選擇連線至 AlloyDB 的方式

本頁面說明 PostgreSQL 適用的 AlloyDB 連線選項,協助您根據工作負載、網路拓撲和安全連線需求,選擇最合適的選項。詳情請參閱「連線總覽」。

本文將說明下列事項:

  • 要搭配 AlloyDB 使用的網路設定類型。
  • 如何安全連線。
  • 連線最佳做法。
  • 工作負載位置如何影響連線需求。

建議的連線選項

請參閱下表,瞭解工作負載的建議連線選項:

評估工作負載

選擇連線選項前,請先評估工作負載。 AlloyDB 支援下列工作負載環境的連線:

  • Cloud Run、Cloud Shell 和非 Google SaaS 產品
  • Cloud Functions v2
  • App Engine 彈性環境和 App Engine 標準環境
  • Google Kubernetes Engine 和 Compute Engine
  • 地端設定

工作負載環境 私人 IP 公開 IP 說明
直接 連接器 直接 連接器
開發人員筆電 ❌️ ❌️ 建議您搭配開發人員筆電的公開 IP 使用 Auth Proxy。可以連線至私人 IP,但需要額外設定
Cloud Shell 建議您搭配使用驗證 Proxy 和 Cloud Shell 的公開 IP。可以連線至私人 IP,但需要額外設定
Cloud Run、Cloud Functions v2 需要無伺服器虛擬私有雲存取連接器或直接虛擬私有雲輸出。
App Engine 標準環境、彈性環境 需要無伺服器虛擬私有雲存取連接器。
GKE、Compute Engine 建議使用私人 IP。如果您不需要傳輸虛擬私有雲對等互連,請使用私人服務存取權。否則請使用 Private Service Connect。
地端部署 私人 IP 需要從地端到目標執行個體的網路路徑。使用語言連接器或 Auth Proxy 的公開 IP 是安全的替代方案,不需要進行大規模的網路設定。

根據工作負載選擇連線方式的最佳做法

連線至 AlloyDB 時,請根據工作負載環境考量下列事項。

Cloud Shell

  • 使用驗證 Proxy公開 IP,透過 Cloud Shell 連線。Cloud Shell 不支援連線至 VPC。無法連線至私人服務存取權或 Private Service Connect 執行個體。此外,Cloud Shell 沒有穩定的輸出 IP 位址,無法用於授權網路。如果您未使用 Auth Proxy 或語言連接器,就必須允許所有 IP 位址範圍,例如 0.0.0.0/0。不建議在正式環境執行個體中採用這種做法。

Cloud Run 和 Cloud Functions v2

  • 如果是私人 IP,直接連線、語言連接器或 Auth Proxy 都必須使用直接虛擬私有雲輸出。
  • 如果是公開 IP,您必須使用語言連接器Auth Proxy。或者,您也可以在「已授權的網路」中允許所有 IP 位址範圍 (例如 0.0.0.0/0),但考量到安全風險,不建議在正式版執行個體中這麼做。

App Engine 標準環境和 App Engine 彈性環境

  • 無論您是使用語言連接器或 Auth Proxy,都請使用無伺服器虛擬私有雲存取連接器搭配私人 IP。
  • 如果是公開 IP,則必須使用語言連接器或 Auth Proxy。 或者,您也可以允許所有 IP 位址範圍(即 0.0.0.0/0) in 已授權的網路。不過,基於安全風險考量,我們不建議在正式環境執行個體中採用這種方法。

GKE 與 Compute Engine

  • 您可以透過直接連線、語言連接器或 Auth Proxy 連線至 AlloyDB。

地端部署

  • 您可以透過直接連線、語言連接器或 Auth Proxy 連線至 AlloyDB。語言連接器和驗證 Proxy 不會建立網路路徑。確認工作負載與 AlloyDB 執行個體之間有網路路徑。

評估安全連線需求

AlloyDB 的語言連接器和 Auth Proxy 提供身分與存取權管理整合mTLS 等強化安全功能,但這些功能需要額外設定。直接連線預設會加密,但不支援用戶端憑證或較高的 SSL 模式 (verify-caverify-full)。建議您搭配公開 IP 使用語言連接器或 Auth Proxy,並僅在語言連接器或 Auth Proxy 不可行時,才使用私人 IP 的直接連線。

加密連線 IAM 驗證 IAM 授權 mTLS
直接連線
語言連接器或驗證 Proxy

安全連線的最佳做法

  • 建立叢集時,您必須指定私人 IP 介面,才能建立叢集。如要使用公開 IP,建議您選擇 Private Service Connect 做為私人 IP 介面。
  • 使用語言連接器或 Auth Proxy 進行 IAM 授權和驗證,以及 mTLS 等安全功能,即使這些功能需要設定。舉例來說,如果您想以 Sidecar 形式執行驗證 Proxy,或是想使用語言連接器,就很適合採用這個方法。如果您使用語言連接器或 Auth Proxy,資料庫連線的延遲時間可能會稍微增加。
  • 如要獲得最佳效能,請使用直接連線,並在無法使用語言連接器或 Auth Proxy 時採用這種做法。直接連線預設會經過加密 (sslmode=require),但無法支援用戶端憑證或較高的 SSL 模式。只有在無法使用語言連接器或 Auth Proxy 時,才使用直接連線。

評估網路拓撲

就網路拓撲而言,建議您使用私人服務連線進行 AlloyDB 連線。使用 Private Service Connect,避免多個虛擬私有雲發生遞移對等互連問題。公開 IP 適用於非Google Cloud SaaS 產品的連線,尤其是在私人 IP 不切實際的情況下。

多個虛擬私有雲連線 非 Google 軟體即服務 (SaaS) 用戶端 支援內部部署連線 說明
私人服務存取權 根據預設,遞移虛擬私有雲連線不受支援。您可以手動執行 socks5 Proxy,以進行跨 VPC 連線,但這種做法很複雜。
Private Service Connect 如果您想從多個虛擬私有雲連線至 AlloyDB,這種方式的設定最簡單。
公開 IP 為避免必須識別授權網路的來源工作負載 CIDR 範圍,建議您將公開 IP 與語言連接器驗證 Proxy 搭配使用。

根據網路拓撲選擇連線方式的最佳做法

  • 預設為私人服務存取權
  • 處理多個虛擬私有雲時,請使用 Private Service Connect 規避傳遞對等互連問題。
  • 如果整合的軟體即服務 (SaaS) 產品並非託管於 Google Cloud,請為非Google Cloud SaaS 產品選擇公開網路拓撲,尤其是在無法使用私有 IP 連線時。私人 IP 預設為啟用,因此在這些情況下,您必須明確設定公開 IP。
  • 盡可能使用語言連接器或 Auth Proxy,透過公開 IP 建立安全連線,不必設定授權網路。

後續步驟