本頁說明連線至 AlloyDB for PostgreSQL 的選項,包括何時該使用 AlloyDB Auth Proxy 或 AlloyDB 連接器。無論您需要使用 Private Service Connect 或其他方法連線,這項工具都能協助您為工作負載選擇最佳選項。
詳情請參閱「連線總覽」。
本文將說明下列事項:
- 要搭配 AlloyDB 使用的網路設定類型。
- 如何安全連線。
- 連線最佳做法。
- 工作負載位置如何影響連線需求。
連線至 AlloyDB 的建議選項
請參閱下表,瞭解工作負載的建議連線選項:
- 建議使用直接連線、語言連接器或 Auth Proxy,連線至私人 IP (私人服務存取權或 Private Service Connect) 和公開 IP。
- 連線需求,例如無伺服器虛擬私有雲 (VPC) 存取連接器和直接虛擬私有雲輸出。詳情請參閱「比較直接 VPC 輸出和 VPC 連接器 | Cloud Run 說明文件」。
- 私人 IP 的注意事項:私人服務連線與 Private Service Connect,以及公用 IP。
評估工作負載
選擇連線選項前,請先評估工作負載。 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,但需要 [額外設定](/alloydb/docs/connect-external)。 Cloud Shell ❌ ❌ ✅ ✅ 建議您搭配使用驗證 Proxy 和 Cloud Shell 的公開 IP。您可以連線至私人 IP,但需要 [額外設定](/alloydb/docs/connect-external)。 Cloud Run、Cloud Functions v2 ✅ ✅ ✅ ✅ 需要無伺服器虛擬私有雲存取連接器或直接虛擬私有雲輸出。 App Engine 標準環境、彈性環境 ✅ ✅ ✅ ✅ 需要無伺服器虛擬私有雲存取連接器。 GKE、Compute Engine ✅ ✅ ✅ ✅ 建議使用私人 IP。如果您不需要傳輸虛擬私有雲對等互連,請使用私人服務存取權。否則請使用 Private Service Connect。 地端部署 ✅ ✅ ✅ ✅ 私人 IP 需要從地端到目標執行個體的網路路徑。使用語言連接器或驗證 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,都請使用無伺服器虛擬私有雲存取連接器搭配私人 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-ca 和 verify-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,這樣就能建立安全連線,不必設定授權網路。
後續步驟
- 建立及查詢資料庫。
- 從 Compute Engine 連線。
- 使用驗證 Proxy 從 Cloud Shell 連線。
- 透過 Cloud VPN 或 Cloud Interconnect 連線。
- 瞭解 AlloyDB 連線概念。