設定環境,以便在虛擬私有雲網路中使用私人集區

本頁說明如何設定網路環境,以便在虛擬私有雲網路中使用私人集區。如果您不熟悉私人集區,請參閱私人集區總覽

瞭解網路設定選項

私人集區會託管在 Google 自有的虛擬私有雲網路中,稱為服務供應者網路。設定私人集區時,您可以選擇使用服務供應商網路,或是在服務供應商網路與含有資源的虛擬私有雲網路之間建立私人連線。

根據貴機構的需求,選擇下列其中一種網路設定方案:

  • 單獨使用服務供應商網路:如果符合下列情況,請使用這個選項:

    這是建立私人集區的預設網路選項,不需要任何網路設定。如果您有興趣使用這個選項,請繼續建立私人集區

  • 在服務供應商網路和虛擬私有雲網路之間設定私人連線:私人連線可讓虛擬私有雲網路中的 VM 執行個體和私人資源池,專門使用內部 IP 位址進行通訊。適用情況:

    • 您希望建構作業能���存取虛擬私有雲網路中的資源
    • 您想要可設定的機器類型和大小

在虛擬私有雲網路與服務供應商網路之間設定私人連線

  1. 您必須具有現有的 VPC 網路,才能連線至服務供應商網路。

  2. 如要使用本指南提供的指令列範例,請安裝並設定 Google Cloud CLI

  3. 啟用 API:

    主控台


    Enable the Cloud Build and the Service Networking APIs.

    Enable the APIs

    gcloud

    啟用 Cloud Build 和 Service Networking API:

    gcloud services enable cloudbuild.googleapis.com servicenetworking.googleapis.com
    
  4. 如要取得設定私人連線所需的權限,請要求管理員在虛擬私有雲網路所在的 Google Cloud 專案中,授予您 Compute Engine 網路管理員 (roles/compute.networkAdmin) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

    您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

  5. 在虛擬私有雲網路中,分配已命名的內部 IP 範圍:

    您在此處指定的 IP 範圍將受限於虛擬私有雲網路中定義的防火牆規則

    Cloud Build 會為 Docker 橋接區域網路保留 IP 範圍 192.168.10.0/24172.17.0.0/16。為專案中的資源分配 IP 範圍時,如果 Cloud Build 建構工具要存取這些資源,建議您選取 192.168.10.0/24172.17.0.0/16 以外的範圍。

    舉例來說,由於 Google Kubernetes Engine 控制層位址範圍 192.168.10.96/28 與 Cloud Build gke-deploy 建構工具重疊,因此無法從 Cloud Build gke-deploy 建構工具存取。

    主控台

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

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

    2. 選取將連線至私人資源池的虛擬私有雲端網路。

    3. 選取「Private service access」(私人服務存取權) 分頁。

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

    5. 按一下「分配 IP 範圍」

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

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

      • 如要指定 IP 位址範圍,請選取「Custom」(自訂),然後輸入 CIDR 區塊。
      • 如要指定前置字串長度並讓 Google 選取可用範圍,請選取「Automatic」(自動),然後輸入前置字串長度。前置字串長度必須為 /24 或更短,例如 /22/21 等。
    8. 按一下 [Allocate] (分配),建立已分配範圍。

    gcloud

    如要指定位址範圍與前置字串長度 (子網路遮罩),請使用 addressesprefix-length 標記。前置字串長度必須為 /24 或更短,例如 /22、/21 等。舉例來說,如要分配 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:分配範圍的名稱,例如 my-allocated-range
    • DESCRIPTION:範圍的說明,例如 allocated for my-service
    • VPC_NETWORK:虛擬私有雲網路的名稱,例如 my-vpc-network

  6. 在服務供應商網路與虛擬私有雲網路之間建立私人連線:

    主控台

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

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

    2. 選取將連線至私人資源池的虛擬私有雲端網路。

    3. 選取「Private service access」(私人服務存取權) 分頁。

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

    5. 按一下「Create connection」,在網路與服務供應商網路之間建立私人連線。

    6. 在「Assigned allocation」中,選取您在上一個步驟中建立的分配範圍。

    7. 按一下 [Connect] (連線) 建立連線。

    gcloud

    1. 建立私人連線:

      gcloud services vpc-peerings connect \
          --service=servicenetworking.googleapis.com \
          --ranges=ALLOCATED_RANGE_NAME \
          --network=VPC_NETWORK \
          --project=PROJECT_ID
      

      將指令中的預留位置值替換為下列值:

      • ALLOCATED_RANGE_NAME:您在上一個步驟中建立的名稱分配範圍。
      • VPC_NETWORK:虛擬私有雲網路名稱。
      • PROJECT_ID:含有虛擬私有雲端網路的專案 ID。

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

    2. 確認作業是否成功完成,將 OPERATION_NAME 替換為先前步驟傳回的作業名稱。

      gcloud services vpc-peerings operations describe \
          --name=OPERATION_NAME
      
  7. [選用:共用虛擬私有雲情境]。如果您使用的是共用虛擬私有雲,請在主專案中建立分配的 IP 範圍和私人連線。這些作業通常必須由主專案中的網路管理員執行。主機專案設定私人連線後,服務專案中的 VM 執行個體就能使用私人連線與服務供應商網路建立連線。主機虛擬私有雲連線的專案和包含私人集區的專案必須屬於同一機構。

  8. [選用:使用防火牆規則]。如果您要在虛擬私人雲端網路中建立輸入防火牆規則,請在輸入規則的來源篩選器中,指定與您在此分配的 IP 範圍相同的 IP 範圍。

後續步驟