連線總覽

本頁摘要說明如何連線至 PostgreSQL 適用的 AlloyDB 服務資料庫:

  • 網路:AlloyDB 執行個體會使用虛擬私有雲 (VPC) 上的公開或私人 IP。各種技術可讓您從 VPC 外部執行的應用程式建立安全連線。

  • 授權:AlloyDB Auth Proxy 可讓您使用身分與存取權管理 (IAM),控管哪些使用者能存取資料。您可以使用 VPC 防火牆,進一步調整 AlloyDB 資源的存取權。

  • 驗證:使用標準 PostgreSQL 使用者驗證技術登入執行個體。AlloyDB 也支援使用標準 PostgreSQL 使用者角色的 IAM 驗證。

網路

即使 AlloyDB 執行個體包含許多節點,應用程式也會透過單一靜態 IP 位址連線至執行個體。這個位址可以是您在首次設定執行個體叢集時指定的虛擬私有雲私人位址,也可以是允許從虛擬私有雲外部直接連線的公開 IP。

私人 IP

使用私人 IP 設定 AlloyDB 時,執行個體會取得虛擬私有雲中的私人 IP 位址。

私人 IP 位址會透過兩種方式影響應用程式的連線:

  • 專案虛擬私有雲中其他位置執行的應用程式,可以連線至執行個體 (或代表執行個體的 Proxy),不需要額外步驟或資源。

    舉例來說,將 psql 用戶端連線至執行個體一文說明如何連線至 AlloyDB 執行個體,方法是在虛擬私有雲中的 Compute Engine VM 上執行 psql 指令列程式。

  • 在 VPC 外部執行的應用程式需要中介服務,才能連線至 AlloyDB 執行個體。解決方案包括在執行個體的 VPC 內 VM 上執行 Proxy 服務,或是使用其他Google Cloud 產品在應用程式和 VPC 之間建立永久連線。

    詳情請參閱從虛擬私有雲外部連線至叢集

透過私人 IP 建立連線通常延遲時間較短,且攻擊媒介有限,因為不需要經過網際網路。

如要進一步瞭解 AlloyDB 中的私人 IP,請參閱私人 IP 簡介

公開 IP

使用公開 IP 設定 AlloyDB 時,執行個體會取得公開 IP 位址,供可透過公開網際網路存取的連入連線使用。您也可以使用授權外部網路,以 CIDR 格式指定可存取執行個體的 IP 位址範圍。

建議搭配 AlloyDB 語言連接器使用公開 IP,確保用戶端與執行個體之間的連線安全無虞。

如要進一步瞭解如何將公開 IP 和已授權的外部網路新增至執行個體,請參閱「使用公開 IP 連線」。

AlloyDB 也支援執行個體的輸出連線。您可以啟用輸出公開 IP,直接從外部來源使用資料庫移轉服務或自行管理的 pglogical 設定,將資料庫遷移至 AlloyDB。AlloyDB 也支援使用外部資料包裝函式 (例如 postgres_fdworacle_fdw) 連線至外部資料來源。

如要進一步瞭解如何啟用傳出公開 IP,請參閱「為執行個體新增傳出連線」。

授權

您可以使用 AlloyDB 語言連接器、AlloyDB Auth Proxy 或 VPC 防火牆規則,控管 AlloyDB 叢集的存取權。

AlloyDB 語言連接器

AlloyDB 語言連接器是用戶端程式庫,可透過 TLS 1.3 和 IAM 授權,在連線至 AlloyDB 叢集時提供自動 mTLS。

您可以直接從各自的程式設計語言使用這些程式庫。這些函式庫提供的功能與 AlloyDB Proxy 相同,但不需要外部程序。這樣一來,連線至 AlloyDB 時,安全性會更高,設定需求也會減少。

詳情請參閱 AlloyDB 語言連接器總覽

使用 IAM 和 AlloyDB Auth Proxy 控管存取權

雖然您可以透過執行個體的 IP 位址直接連線,但我們建議在實際工作環境中使用 AlloyDB Auth Proxy。這項服務提供以 IAM 為基礎的存取權控管,以及 Proxy 與叢集之間的端對端加密。

詳情請參閱「AlloyDB Auth Proxy 簡介」。

使用防火牆規則限制虛擬私有雲存取權

與任何雲端專案一樣,您應調整 VPC 的防火牆規則,只允許應用程式連線的 IP 範圍或子網路存取網路。使用外部應用程式時,這點尤其重要,詳情請參閱「從虛擬私有雲外部連線至叢集」。

如要進一步瞭解如何設定虛擬私有雲的防火牆,請參閱虛擬私有雲防火牆規則

驗證

AlloyDB 支援兩種資料庫使用者,各自以不同的方式向資料庫進行驗證:

  • 標準 PostgreSQL 使用者角色會使用使用者名稱和密碼進行驗證。您可以使用一般的 PostgreSQL 使用者管理技術管理這些帳戶。詳情請參閱「管理 AlloyDB 使用者角色」。

  • IAM 使用者和服務帳戶會使用 OAuth 2.0 權杖,以資料庫使用者的身分進行驗證。您可以使用Google Cloud IAM 系統管理這些帳戶。詳情請參閱「管理 IAM 驗證」。

應用程式向 AlloyDB 執行個體完成驗證後,即可將該執行個體視為一般的 PostgreSQL 伺服器。建立執行個體的網路和授權路徑後,您可以使用標準 PostgreSQL 技術登入執行個體並存取資料。無論是使用 psql 等工具手動登入,還是使用 PostgreSQL 程式碼程式庫以程式輔助方式連線至資料庫,都適用這項規定。

通常,首次使用新的 AlloyDB 叢集進行驗證時,您需要以 postgres 使用者身分登入叢集的主要執行個體,並使用建立叢集時指定的密碼。接著,您應該為應用程式建立不具管理員權限的資料庫使用者。

後續步驟