選擇連線方式

如要為 AlloyDB for PostgreSQL 工作負載選取合適的網路拓撲和連線方法,請比較私人 IP (私人服務存取權或 Private Service Connect)、公開 IP、直接連線、AlloyDB Auth Proxy 和 AlloyDB 語言連接器:

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

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

連線至 AlloyDB 的建議選項

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

評估工作負載

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

  • Cloud Run、Cloud Shell 和非 Google SaaS 產品
  • Cloud Run functions
  • 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 的 Auth Proxy。您可以連線至私人 IP,但必須另外設定。
    Cloud Run、Cloud Run functions ✅ ✅ ✅ ✅ 必須使用無伺服器 VPC 存取連接器或直連虛擬私有雲輸出。
    App Engine 標準、彈性環境 ✅ ✅ ✅ ✅ 必須使用無伺服器 VPC 存取連接器。
    GKE、Compute Engine ✅ ✅ ✅ ✅ 建議您使用私人 IP。如果不需要傳遞虛擬私有雲網路對等互連,請使用私人服務存取權。否則請使用 Private Service Connect。
    地端部署 ✅ ✅ ✅ ✅ 私人 IP 需要從地端部署到目標執行個體的網路路徑。搭配使用公開 IP 與語言連接器或 Auth Proxy,是安全的替代方案,不需要進行繁複的網路設定。

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

連線至 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 Run functions

  • 如果是私人 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)。不過,基於安全風險,我們不建議在正式環境執行個體採用這種做法。

GKE 與 Compute Engine

  • 您可以使用直接連線和語言連接器,或 Auth Proxy 連線至 AlloyDB。

地端部署

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

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

AlloyDB 語言連接器和 AlloyDB Auth Proxy 提供更強大的安全防護功能,例如 Identity and Access Management (IAM) 資料庫驗證和 mTLS,但這些功能需要額外設定。直接連線預設會加密,但不支援用戶端憑證或更高的 SSL 模式:verify-ca 和 verify-full。建議您使用語言連接器或 Auth Proxy 搭配公開 IP,並僅在無法使用語言連接器或 Auth Proxy 時,才使用私人 IP 的直接連線。

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

連線方法 加密連線 IAM 驗證 IAM 授權 mTLS
直接連結 ✅ ✅ ❌ ❌
語言連接器或 Auth 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,建立跨虛擬私有雲連線,但這個方法較為複雜。
Private Service Connect ✅ ❌ ✅ 如要從多個虛擬私有雲網路連線至 AlloyDB,這是最簡單的設定方式。
公開 IP ✅ ✅ ✅ 為避免必須找出來源工作負載的 CIDR 範圍,才能授權外部網路,建議將公開 IP 與語言連接器或 Auth Proxy 搭配使用。

依據網路拓撲建立連線的最佳做法

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

後續步驟