本頁說明如何建立 AlloyDB for PostgreSQL 私人服務存取權所需的虛擬私有雲 (VPC) IP 位址範圍。如要瞭解 AlloyDB 如何使用私人服務存取權,讓內部資源彼此通訊,請參閱「關於私人服務存取權」。
如要在與 AlloyDB 叢集位於相同Google Cloud 專案的虛擬私有雲 (VPC) 網路中建立私有服務存取設定,請執行下列兩項作業:
在虛擬私有雲網路中建立分配的 IP 位址範圍。
在虛擬私有雲網路與基礎 Google Cloud 虛擬私有雲網路之間建立私人連線。 您也可以設定私人服務連線,將 AlloyDB 叢集連線至位於其他Google Cloud 專案的資源。如要這麼做,您必須使用共用虛擬私有雲合併這兩個專案的虛擬私有雲網路。
事前準備
- 您使用的 Google Cloud 專案必須已啟用 AlloyDB 存取權。
- 您必須在使用的 Google Cloud 專案中擁有下列其中一個 IAM 角色:
roles/alloydb.admin
(AlloyDB 管理員預先定義的 IAM 角色)roles/owner
(擁有者基本 IAM 角色)roles/editor
(編輯者基本 IAM 角色)
如果您不具備上述任一角色,請與機構管理員聯絡,並要求存取權。
- 如要建立私人服務存取設定,您也必須具備下列 IAM 權限:
compute.networks.list
compute.addresses.create
compute.addresses.list
servicenetworking.services.addPeering
建立虛擬私有雲 IP 位址範圍
主控台
前往「VPC networks」(VPC 網路) 頁面。
選取 AlloyDB 和 VPC 網路所在的專案。
按一下要用於私人服務存取權的虛擬私有雲網路名稱。
在「虛擬私有雲網路詳細資料」頁面中,捲動瀏覽分頁標籤清單,找到並點選「私人服務存取權」分頁標籤。
在「Private service access」(私人服務存取) 分頁中,按一下「Allocated IP ranges for services」(已分配的服務 IP 範圍) 分頁標籤。
按一下「Allocate IP range」(分配 IP 範圍)。
在「Name」(名稱) 和「Description」(說明) 欄位中,輸入已分配範圍的名稱和說明。
為分配範圍指定「IP range」(IP 範圍) 值:
如要指定 IP 位址範圍,請按一下「自訂」,然後輸入 CIDR 區塊,例如
192.168.0.0/16
。為 AlloyDB 提供充足的位址空間,建議前置字元長度為
16
或更短。如要指定前置字串長度並讓 Google 選取可用範圍,請按照下列步驟操作:
按一下「自動」。
請以純數字形式輸入前置字元長度,例如
16
。
按一下 [Allocate] (分配),建立已分配範圍。
在「Private service access」(私人服務存取) 分頁中,按一下「Private connections to services」(私人服務連線) 分頁標籤。
按一下 [Create connection] (建立連線),在網路與服務生產端之間建立私人連線。
確認 Google Cloud Platform 是已連結服務的生產者。
在「Assigned allocation」(已指派的分配範圍) 部分,選取您先前建立的已分配 IP 範圍。
按一下 [Connect] (連線) 建立連線。
gcloud
如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用
gcloud config set
指令,將預設專案設為 AlloyDB 和 VPC 網路所在的專案。gcloud config set project PROJECT_ID
將
PROJECT_ID
替換為 AlloyDB 和 VPC 網路所在的專案 ID。使用
gcloud compute addresses create
指令建立已分配的 IP 位址範圍。為 AlloyDB 提供足夠的位址空間,建議前置長度為
16
以下。如要指定位址範圍與前置字串長度 (子網路遮罩),請使用
--addresses
和--prefix-length
標記。例如,如要分配 CIDR 區塊192.168.0.0/16
,請將位址指定為192.168.0.0
,並將前置字串長度指定為16
。gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
更改下列內容:
RESERVED_RANGE_NAME
:分配範圍的名稱,例如my-allocated-range
DESCRIPTION
:範圍的說明,例如allocated for my-service
VPC_NETWORK
:虛擬私有雲網路的名稱,例如my-vpc-network
。如果是共用虛擬私有雲網路,請設為虛擬私有雲網路的完整路徑,例如projects/cymbal-project/global/networks/shared-vpc-network
。
如要單純指定前置字串長度 (子網路遮罩),請使用
--prefix-length
標記。如果省略位址範圍,Google Cloud 會自動選取您 VPC 網路中未使用的位址範圍。下列範例會以
16
位元前置字串長度選取未使用的 IP 位址範圍:gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
下列範例會建立與 Google 的私人連線,讓
default
虛擬私有雲網路中的 VM 執行個體可以透過私人服務存取權與支援該功能的 Google 服務連線。gcloud compute addresses create google-managed-services-default \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="peering range for Google" \ --network=default
使用
gcloud services vpc-peerings connect
指令建立私人連線。gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK
更改下列內容:
RESERVED_RANGE_NAME
:您建立的已分配 IP 位址範圍名稱VPC_NETWORK
:虛擬私有雲網路名稱
這個指令會啟動長期執行作業並傳回作業名稱。
確認作業是否已經成功完成。
gcloud services vpc-peerings operations describe --name=OPERATION_NAME
將
OPERATION_NAME
替換為先前步驟傳回的作業名稱。