私人服務存取權總覽

如要讓虛擬私有雲 (VPC) 網路中的用戶端與 AlloyDB for PostgreSQL 執行個體私下通訊,您可以設定私人服務存取權。私人服務存取權會在虛擬私有雲網路和 Google 代管網路之間,建立私人虛擬私有雲網路對接連線,其中 Google 代管網路會託管 AlloyDB 執行個體所需的內部資源。

如要概略瞭解網路連線與 AlloyDB 的搭配運作方式,請參閱「連線總覽」。

叢集與內部資源之間的連線

私人服務連線可讓 AlloyDB 叢集與啟用這些叢集的內部資源通訊。

執行個體和內部資源

您在Google Cloud 專案中建立的 AlloyDB 叢集和執行個體,會依賴許多內部低階 Google Cloud資源。包括做為 AlloyDB 節點和負載平衡器的虛擬機器 (VM) 執行個體,或保存資料的儲存空間磁碟區。為叢集提供支援的所有資源,都會在 Google 內部管理的Google Cloud 專案中執行。

一般來說,您不會直接連線至這些內部資源。您必須透過 Google Cloud 控制台或 Google Cloud CLI 管理叢集和執行個體。應用程式會透過私人 IP 位址連線至 AlloyDB 執行個體,以便查詢及修改資料。AlloyDB 會使用內部 API,視需要將管理要求或資料查詢傳遞至叢集資源。

AlloyDB 執行個體則可做為邏輯抽象層,簡化這類複雜的元件集合。AlloyDB 提供私人靜態 IP 位址和與 PostgreSQL 相容的一致資料庫介面,可自由更新有效執行個體的內部網路路徑,或重新分配內部資源。這個架構可提供最佳處理量和高可用性,不會造成停機或中斷。

叢集如何使用私人服務存取權

專案中的 AlloyDB 叢集和執行個體會透過私人服務存取權與內部資源通訊。這會在您專案中的虛擬私有雲網路,與 Google 代管專案 (託管內部資源) 使用的獨立虛擬私有雲網路之間,建立永久的對接連線。透過這項連線,專案中的 AlloyDB 叢集和執行個體可以使用私人 IP 位址連線至內部資源,就像這些資源位於專案的虛擬私有雲網路中一樣。

如要設定 Google Cloud 虛擬私有雲網路的私人服務存取權,必須保留一或多個連續私人 IP 位址區塊。 Google Cloud 在專案的虛擬私有雲網路和內部專案的虛擬私有雲網路之間建立對接連線後,AlloyDB 會將預留 IP 區塊中的位址,套用至執行個體所需的低階資源。這項連線可讓叢集的所有運作部分之間建立私人網路連線。

建立使用私人服務存取權 (而非 Private Service Connect) 的 AlloyDB 叢集時,必須在專案中指定已設定私人服務存取權的虛擬私有雲網路。您的專案可能已有符合資格的虛擬私有雲網路,尤其是當專案已使用 AlloyDB 或其他需要私人服務存取權的 Google Cloud 產品時。如果專案未設定用於私人服務存取的虛擬私有雲網路,則必須先設定一個,才能建立具有私人服務存取權的叢集。

AlloyDB 建立叢集後,您就無法變更叢集的私人服務存取權設定。

支援的私人服務連線設定

AlloyDB 可在虛擬私有雲網路中使用私人服務存取設定,這些網路可與 AlloyDB 位於相同專案,或位於其他專案。

與叢集位於相同專案的虛擬私有雲網路

如何使用與 AlloyDB 叢集位於同一 Google Cloud 專案的虛擬私有雲網路設定 AlloyDB 連線能力,取決於虛擬私有雲網路中是否已有私人服務連線設定:

  • 如果虛擬私有雲網路尚未設定私人服務存取權,請建立私人服務存取權設定。

  • 如果虛擬私有雲網路已有私人服務存取權設定,請確認該設定有足夠的 AlloyDB IP 位址空間,並視需要增加位址空間。

Shared VPC 網路

如要使用位於 Google Cloud 專案 (與 AlloyDB 叢集所在專案不同) 的虛擬私有雲網路設定 AlloyDB 連線能力,請完成下列步驟:

  1. 將虛擬私有雲網路所在的專案設為Shared VPC,並將其設為主機專案,AlloyDB 所在的專案則設為服務專案。

  2. 確認虛擬私有雲網路的私人服務存取權設定,有足夠的 IP 位址空間可供 AlloyDB 使用,並視需要增加位址空間。

  3. 將可建立 AlloyDB 資源的使用者設為服務專案管理員,並在私人服務存取權設定中,授予適當分配 IP 位址範圍的存取權。

  4. 使用 Google Cloud CLI 建立 AlloyDB 叢集或執行個體,並搭配 Shared VPC 網路時,請務必使用虛擬私有雲網路的完整路徑,例如 projects/cymbal-project/global/networks/shared-vpc-network。

如要進一步瞭解 Shared VPC,請參閱「Shared VPC 總覽」和「佈建 Shared VPC」。

IP 位址範圍大小注意事項

請務必選擇足夠寬的私人服務存取權位址範圍,以容納 AlloyDB 的需求,以及任何其他需要從相同位址集區取得 IP 位址的Google Cloud 服務。您隨時可以調整這個集區的大小。

在您部署叢集的每個區域中,AlloyDB 會使用大小為 /24 的子網路。雖然大小下限為單一 /24 區塊 (256 個位址),但建議大小為 /16 區塊 (65,536 個位址)。這個範圍可讓您在多個區域建立叢集和執行個體,同時保留大量 IP 位址供其他 Google Cloud 服務使用。

在已設定私人服務存取權的叢集中佈建新執行個體時,AlloyDB 會將資源部署至新建立或現有的區域子網路 (先前由 AlloyDB 建立)。如果現有子網路已滿,AlloyDB 會在相同區域建立新的子網路,前提是分配的 IP 位址範圍夠大,足以建立大小為 /24 的額外子網路。如果 AlloyDB 現有的可用 IP 位址空間不足,無法建立子網路,則建立叢集或執行個體會失敗。您必須增加 IP 位址空間,解決位址不足的問題,才能再次嘗試建立叢集或執行個體。如要進一步瞭解如何增加 IP 位址空間,請參閱「增加專案中 AlloyDB 可用的 IP 位址空間」。刪除所有使用已分配 IP 位址範圍的叢集和執行個體後,如果不再需要該範圍,請參閱「移除私人服務存取權分配範圍」。

私人使用的公開 IP 範圍

AlloyDB 不支援透過私人服務存取權,使用私人公開 IP (PUPI) 範圍。如要從使用私人公開 IP (PUPI) 範圍的工作負載連線至 AlloyDB,必須使用 Private Service Connect。

限制

  • 私人服務存取連線僅限 RFC 1918 IP 範圍。

後續步驟