增加私人服務存取位址空間

本頁面說明如何增加 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.list
    • compute.addresses.create
    • compute.addresses.list
    • servicenetworking.services.addPeering

程序

如要增加 AlloyDB IP 位址空間,請執行下列兩項作業:

  • 在虛擬私有雲網路中建立額外分配的 IP 位址範圍。
  • 在虛擬私有雲網路中,將額外位址範圍新增至現有的私人服務存取連線。

主控台

  1. 前往 Google Cloud 控制台的「VPC networks」(VPC 網路) 頁面。

    前往「VPC networks」(VPC 網路) 頁面

  2. 選取虛擬私有雲網路所在的專案。

  3. 選取包含現有私人服務存取連線的虛擬私有雲網路。

  4. 選取「私人服務存取」分頁標籤。

  5. 在「Private services access」(私人服務存取權) 分頁中,選取「Allocated IP ranges for services」(已分配的服務 IP 範圍) 分頁標籤。

  6. 按一下「Allocate IP range」(分配 IP 範圍)

  7. 輸入已分配範圍的「Name」(名稱) 與「Description」(說明)

  8. 為分配範圍指定「IP range」(IP 範圍)

    • 如要指定 IP 位址範圍,請選取「自訂」,然後輸入 CIDR 區塊,例如 192.168.0.0/16
    • 如要指定前置字串長度並讓 Google 選取可用範圍,請選取「Automatic」(自動),然後輸入前置字串長度,例如 16
  9. 按一下 [Allocate] (分配),建立已分配範圍。

  10. 在「Private service access」(私人服務存取) 分頁中,選取「Private connections to services」(私人服務連線) 分頁標籤。

  11. 點選「servicenetworking-googleapis-com」

  12. 在「更新私人連線」對話方塊中,按一下「已指派的配置」方塊,然後選取您先前建立的額外配置 IP 範圍。

  13. 按一下「更新」即可更新連線。

gcloud

如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell

  1. 使用 gcloud config set project 指令,將預設專案設為虛擬私有雲網路所在的專案。

    gcloud config set project PROJECT_ID
    

    其中 PROJECT_ID 是虛擬私有雲網路所在的專案 ID。

  2. 使用 compute addresses create 指令建立額外分配的 IP 位址範圍。

    • 如要指定位址範圍與前置字串長度 (子網路遮罩),請使用 addressesprefix-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
    
  3. 使用 services vpc-peerings list 指令,取得已分配給私人服務連線的 IP 範圍清單:

    gcloud services vpc-peerings list \
        --service=servicenetworking.googleapis.com \
        --network=VPC_NETWORK
    

    其中 VPC_NETWORK 是您的虛擬私有雲網路名稱,例如 my-vpc-network

    reservedPeeringRanges 隨即會顯示已分配給私人服務連線的 IP 範圍清單。

  4. 使用 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:虛擬私有雲網路的名稱。

    這個指令會啟動長期執行作業並傳回作業名稱。

  5. 確認作業是否已經成功完成。

    gcloud services vpc-peerings operations describe OPERATION_NAME
    

    OPERATION_NAME 替換為先前步驟傳回的作業名稱。