本頁面說明如何設定網路環境,以便在虛擬私有雲網路中使用私人集區。如果您不熟悉私人集區,請參閱「私人集區總覽」。
瞭解網路設定選項
私人集區會託管在 Google 擁有的虛擬私有雲網路中,也就是服務供應商網路。設定私有集區時,您可以選擇使用服務供應商網路,或在服務供應商網路與包含資源的虛擬私有雲網路之間建立私有連線。
根據貴機構的需求,選擇下列其中一種網路設定架構:
單獨使用服務供應商網路:如果符合以下描述,請使用這個選項:
- 您並非要透過建構作業存取私人網路中的資源
- 您希望可設定機型和大小
這是建立私人集區的預設網路選項,不需要任何網路設定。如有興趣,請繼續建立私人集區。
在服務供應商網路與虛擬私有雲網路之間設定私人連線:私人連線提供內部 IP 位址,可讓虛擬私有雲網路中的 VM 執行個體和私人集區進行專屬通訊。如果符合以下描述,請使用這個選項:
- 您希望建構作業存取虛擬私有雲網路中的資源
- 您希望可設定機型和大小
在虛擬私有雲網路與服務供應商網路之間設定私人連線
您必須擁有現有的虛擬私有雲網路,才能連線至服務供應商網路。
如要使用本指南提供的指令列範例,請安裝及設定 Google Cloud CLI。
啟用 API:
控制台
如果尚未啟用 Cloud Build 和 Service Networking API,請啟用。
啟用 API 時所需的角色
如要啟用 API,您必須具備
serviceusage.services.enable權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。gcloud
啟用 Cloud Build 和 Service Networking API:
gcloud services enable cloudbuild.googleapis.com servicenetworking.googleapis.com-
為確保 具備設定私人連線所需的權限,請要求管理員在虛擬私有雲網路所在的專案中,針對服務帳戶授予 Compute Engine Network Admin (
roles/compute.networkAdmin) IAM 角色。 Google Cloud 如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。 在虛擬私有雲網路中,分配具名的內部 IP 範圍:
您在此指定的 IP 範圍會受到虛擬私有雲網路中定義的防火牆規則限制。
Cloud Build 會保留
192.168.10.0/24和172.17.0.0/16IP 範圍,供 Docker 橋接器網路使用。為專案中的資源分配 IP 範圍時,如果 Cloud Build 建構工具要存取這些資源,建議您選取192.168.10.0/24和172.17.0.0/16以外的範圍。舉例來說,由於重疊,Cloud Build
gke-deploy建構工具無法存取 Google Kubernetes Engine 控制層位址範圍192.168.10.96/28。控制台
前往 Google Cloud 控制台的「VPC networks」(虛擬私有雲網路) 頁面。
選取要連線至私人集區虛擬私有雲網路的虛擬私有雲網路。
選取「私人服務連線」分頁標籤。
在「私人服務連線」分頁中,選取「服務專用的已分配 IP 範圍」分頁。
按一下「分配 IP 範圍」。
輸入已分配範圍的「Name」(名稱) 與「Description」(說明)。
為分配範圍指定「IP range」(IP 範圍):
- 如要指定 IP 位址範圍,請選取「自訂」,然後輸入 CIDR 區塊。
- 如要指定前置長度,並讓 Google 選取可用範圍,請選取「自動」,然後輸入前置長度。前置字串長度必須小於或等於
/24,例如/22、/21等。
按一下 [Allocate] (分配),建立已分配範圍。
gcloud
如要指定位址範圍和前置字串長度 (子網路遮罩),請使用
addresses和prefix-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。
在服務供應商網路與您的虛擬私有雲網路之間建立私人連線:
控制台
前往 Google Cloud 控制台的「VPC networks」(虛擬私有雲網路) 頁面。
選取要連線至私人集區虛擬私有雲網路的虛擬私有雲網路。
選取「私人服務存取」分頁標籤。
在「私人服務連線」分頁中,選取「私人服務連線」分頁標籤。
按一下「建立連線」,在您的網路與服務供應商網路之間建立私人連線。
在「Assigned allocation」(已指派的分配範圍) 中,選取您在上一個步驟中建立的分配範圍。
按一下 [Connect] (連線) 建立連線。
gcloud
建立私人連線:
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。
這個指令會啟動長時間執行的作業,並傳回作業名稱。
檢查作業是否成功,並將
OPERATION_NAME替換成上一個步驟傳回的作業名稱。gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
[選用:Shared VPC 情境]。如果您使用 Shared VPC,請在主專案中建立已分配的 IP 範圍和私人連線。這些作業通常必須由主專案中的網路管理員執行。在主機專案設定私人連線後,服務專案中的 VM 執行個體就能透過私人連線與服務供應商網路連線。代管虛擬私有雲連線的專案,以及包含私人集區的專案,必須屬於同一個機構。
[選用:使用防火牆規則]。在虛擬私有雲網路中建立輸入防火牆規則時,請在輸入規則的來源篩選器中,指定您在此處分配的相同 IP 範圍。
後續步驟
- 瞭解如何建立及管理私人集區。