選擇連線方式

本頁說明連線至 AlloyDB for PostgreSQL 的選項,包括何時該使用 AlloyDB Auth Proxy 或 AlloyDB 連接器。您可以選擇最適合工作負載的選項,無論您是否需要使用 Private Service Connect 或其他方法連線。

詳情請參閱「連線總覽」。

本文將說明下列事項:

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

連線至 AlloyDB 的建議選項

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

評估工作負載

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

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

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

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

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

Cloud Shell

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

GKE 與 Compute Engine

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

地端部署

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

使用 AlloyDB Auth Proxy 和連接器建立安全連線

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

IAM 資料庫驗證支援兩種方法:個別驗證和群組驗證。資料庫版本 POSTGRES_15 以上支援群組驗證,但不支援受管理連線集區。

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

安全連線的最佳做法

  • 建立叢集時,您必須指定私人 IP 介面,才能建立叢集。如要使用公開 IP,建議選擇 Private Service Connect 做為私人 IP 介面。
  • 使用語言連接器或 Auth Proxy 即可享有 IAM 授權和驗證,以及 mTLS 等安全功能,雖然需要進行一些設定,舉例來說,如果您想將 AlloyDB Auth Proxy 做為 Sidecar 執行,或是想使用 AlloyDB 語言連接器,就很適合採用這種做法。如果您使用語言連接器或 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 規避遞移對等互連問題。
  • 如果是整合非Google Cloud SaaS 產品,且這些產品並非託管於 Google Cloud,請選擇公用網路拓撲,尤其是在無法使用私人 IP 連線時。系統預設會啟用私人 IP,因此在這些情況下,您必須明確設定公開 IP。
  • 盡可能使用語言連接器或 Auth Proxy,透過公開 IP 建立安全連線,不必設定授權網路。

後續步驟