私人服務存取權總覽

本頁說明 PostgreSQL 適用的 AlloyDB 如何使用私人服務存取權,在 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 叢集和執行個體會透過私人服務存取權與內部資源通訊。這會在您專案中的虛擬私有雲 (VPC) 網路,與 Google 管理專案 (用於代管內部資源) 所用的獨立 VPC 之間,建立永久對等互連連線。透過這項連線,專案中的 AlloyDB 叢集和執行個體可以使用私人 IP 位址連線至內部資源,就像位於專案的 VPC 中一樣。

使用 Google Cloud 虛擬私有雲網路設定私人服務存取權時,需要預留一或多個連續的私人 IP 位址區塊。Google Cloud 在專案的虛擬私有雲和內部專案的虛擬私有雲之間建立對等互連連線後,AlloyDB 會將預留 IP 區塊中的位址套用至執行個體所需的低階資源。這樣一來,叢集的所有工作部分就能透過私有網路連線。

建立 AlloyDB 叢集時,您需要在專案中指定已設定私人服務存取的虛擬私有雲網路。如果專案已使用 AlloyDB 或其他需要私有服務存取的 Google Cloud 產品,專案可能已有符合資格的 VPC 網路。如果專案尚未設定虛擬私有雲網路以供私人服務存取,您必須先設定,才能建立 AlloyDB 叢集。

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

支援的私人服務存取權設定

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

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

如要使用與 AlloyDB 叢集位於相同 Google Cloud 專案的虛擬私有雲網路設定 AlloyDB 連線,請視虛擬私有雲網路中是否已存在私人服務存取權設定,採取不同做法。

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

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

共用虛擬私有雲網路

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

  1. 將虛擬私有雲網路所在的專案設定為「共用虛擬私有雲」,並將該專案設為「主專案」,AlloyDB 所在的專案則設為「服務專案」

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

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

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

如要進一步瞭解共用虛擬私有雲,請參閱「共用虛擬私有雲總覽」和「佈建共用虛擬私有雲」。

IP 位址範圍大小考量事項

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

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

在設定私人服務存取權的叢集中佈建新執行個體時,AlloyDB 會在先前建立的新建或現有區域子網路中部署資源。如果系統發現現有子網路已滿,且分配的 IP 位址範圍夠大,可建立大小為 /24 的額外子網路,AlloyDB 就會在相同區域中建立新的子網路。如果 AlloyDB 可用的現有 IP 位址空間不足以建立子網路,您嘗試建立叢集或執行個體時就會失敗。您必須增加 IP 位址空間,解決位址不足的問題,才能重試建立叢集或執行個體。如要進一步瞭解如何增加 IP 位址空間,請參閱「增加專案中 AlloyDB 可用的 IP 位址空間」。

私人使用的公開 IP 範圍

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

限制

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

後續步驟