選擇連線方式

本頁說明連線至 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。語言連接器和驗證 Proxy 不會建立網路路徑。確認工作負載與 AlloyDB 執行個體之間有網路路徑。

使用 AlloyDB Auth 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 形式執行 AlloyDB Auth Proxy,或是想使用 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 產品,請選擇公用網路拓撲,特別是無法使用私人 IP 連線時,更應如此。 Google Cloud私人 IP 預設為啟用,因此在這些情況下,您必須明確設定公開 IP。
  • 使用公開 IP 時,請盡可能使用語言連接器或 Auth Proxy,這樣就能建立安全連線,不必設定授權網路。

後續步驟