本頁面說明如何增加 AlloyDB 用於叢集和執行個體的私人服務連線設定可用 IP 位址空間。
如果您在尚未有任何叢集或執行個體的區域中建立 AlloyDB 叢集或執行個體,AlloyDB 會在該區域中建立子網路。如果 AlloyDB 可用的現有 IP 位址空間不足以建立子網路,您嘗試建立叢集或執行個體時就會失敗。您必須增加 IP 位址空間,解決位址不足的問題,才能重試建立叢集或執行個體。
事前準備
- 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
- 您必須在使用的 Google Cloud 專案中具備下列其中一個 IAM 角色:
roles/alloydb.admin(AlloyDB 管理員預先定義的 IAM 角色)roles/owner(擁有者基本 IAM 角色)roles/editor(編輯者基本 IAM 角色)
如果您不具備上述任一角色,請與機構管理員聯絡,並要求存取權。
- 如要增加 IP 位址範圍,您也必須具備下列 IAM 權限:
compute.networks.listcompute.addresses.createcompute.addresses.listservicenetworking.services.addPeering
程序
如要增加 AlloyDB IP 位址空間,請執行下列兩項作業:
- 在虛擬私有雲網路中建立額外的已分配 IP 位址範圍。
- 在虛擬私有雲網路中,將額外位址範圍新增至現有的私人服務存取連線。
控制台
前往 Google Cloud 控制台的「VPC networks」(VPC 網路) 頁面。
選取虛擬私有雲網路所在的專案。
選取包含現有私人服務存取連線的虛擬私有雲網路。
選取「私人服務連線」分頁標籤。
在「私人服務連線」分頁中,選取「已分配的服務 IP 範圍」分頁標籤。
按一下「Allocate IP range」(分配 IP 範圍)。
輸入已分配範圍的「Name」(名稱) 與「Description」(說明)。
為分配範圍指定「IP range」(IP 範圍):
- 如要指定 IP 位址範圍,請選取「自訂」,然後輸入 CIDR 區塊,例如
192.168.0.0/16。 - 如要指定前置字串長度並讓 Google 選取可用範圍,請選取「Automatic」(自動),然後輸入前置字串長度,例如
16。
- 如要指定 IP 位址範圍,請選取「自訂」,然後輸入 CIDR 區塊,例如
按一下 [Allocate] (分配),建立已分配範圍。
在「Private service access」(私人服務連線) 分頁中,選取「Private connections to services」(私人服務連線) 分頁標籤。
點選「servicenetworking-googleapis-com」。
在「Update a private connection」(更新私人連線) 對話方塊中,按一下「Assigned allocation」(指派的配置) 方塊,然後選取先前建立的額外配置 IP 範圍。
按一下「更新」即可更新連線。
gcloud
如要使用 gcloud CLI,可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用
gcloud config set project指令,將預設專案設為虛擬私有雲網路所在的專案。gcloud config set project PROJECT_ID
其中
PROJECT_ID是虛擬私有雲網路所在的專案 ID。使用
compute addresses create指令建立額外分配的 IP 位址範圍。如要指定位址範圍與前置字串長度 (子網路遮罩),請使用
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如要單純指定前置字串長度 (子網路遮罩),請直接使用
prefix-length標記。如果省略位址範圍, Google Cloud會自動選取虛擬私有雲網路中未使用的位址範圍。下列範例會以16位元前置字串長度選取未使用的 IP 位址範圍。gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
將下列的預留位置替換為相關值:
RESERVED_RANGE_NAME:分配的範圍名稱,例如additional-alloydb-range。DESCRIPTION:範圍的說明,例如allocated to extend AlloyDB range。VPC_NETWORK:虛擬私有雲網路的名稱,例如my-vpc-network。
下列範例會建立與 Google 的私人連線,讓
default虛擬私有雲網路中的 VM 執行個體可以透過私人服務存取權與支援該功能的 Google 服務連線。gcloud compute addresses create additional-alloydb-range \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="allocated to extend AlloyDB range" \ --network=default使用
services vpc-peerings list指令,取得已分配給私人服務連線的 IP 範圍清單:gcloud services vpc-peerings list \ --service=servicenetworking.googleapis.com \ --network=VPC_NETWORK其中
VPC_NETWORK是您的虛擬私有雲網路名稱,例如my-vpc-network。reservedPeeringRanges後會顯示已分配給私人服務連線的 IP 範圍清單。使用
services vpc-peerings update指令,將額外位址範圍新增至私人服務連線。gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME,EXISTING_RANGES_LIST \ --network=VPC_NETWORK將下列的預留位置替換為相關值:
RESERVED_RANGE_NAME:您建立的其他已分配 IP 位址範圍名稱。EXISTING_RANGES_LIST:以半形逗號分隔的清單,列出已分配給私人服務連線的 IP 位址範圍。VPC_NETWORK:虛擬私有雲網路的名稱。
這個指令會啟動長時間執行的作業並傳回作業名稱。
確認作業是否已經成功完成。
gcloud services vpc-peerings operations describe OPERATION_NAME
將
OPERATION_NAME替換為先前步驟傳回的作業名稱。