私人服務存取權是指在您的Google Cloud 虛擬私有雲 (VPC) 網路與 Google 管理或第三方服務之間建立的私人連線。這可讓 VPC 網路中的 VM 執行個體使用內部 IP 位址與這些服務通訊,而不會將流量暴露於公開網際網路。
事前準備
如要建立私人連線,請完成下列事前準備:
- 您必須具有現有的 VPC 網路,才能連線至服務供應商的網路。VM 執行個體必須使用這個 VPC 網路,以私人連線的方式連線至服務。
- 請按照「事前準備」頁面中的步驟,建立設定正確的 Google Cloud 專案 (或選擇現有專案)。
為 Live Stream API 啟用私人服務存取權
虛擬私有雲說明文件中提供了設定私人服務存取權的一般程序。本頁面會將程序調整為適用於 Live Stream API。
啟用 Service Networking API。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud services enable servicenetworking.googleapis.com
Windows (PowerShell)
gcloud services enable servicenetworking.googleapis.com
Windows (cmd.exe)
gcloud services enable servicenetworking.googleapis.com
如要取得設定私人連線所需的權限,請要求管理員為您授予虛擬私人雲端網路所在 Google Cloud 專案的 Compute Engine 網路管理員 (
roles/compute.networkAdmin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理存取權」。在虛擬私人雲端網路中,使用
addresses create
指令分配命名的 IP 範圍,如以下範例所示。如要指定位址範圍和前置字串長度 (也是子網路遮罩),請使用
addresses
和prefix-length
標記。例如,如要分配 CIDR 區塊 192.168.0.0/13,請將位址指定為192.168.0.0
,並將前置字串長度指定為13
。使用下列任何指令資料之前,請先替換以下項目:
RESERVED_RANGE_NAME
:分配範圍的名稱,例如my-allocated-range
DESCRIPTION
:範圍的說明,例如allocated for my-service
VPC_NETWORK
:虛擬私有雲網路的名稱,例如my-vpc-network
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=13 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Windows (PowerShell)
gcloud compute addresses create RESERVED_RANGE_NAME ` --global ` --purpose=VPC_PEERING ` --addresses=192.168.0.0 ` --prefix-length=13 ` --description="DESCRIPTION" ` --network=VPC_NETWORK
Windows (cmd.exe)
gcloud compute addresses create RESERVED_RANGE_NAME ^ --global ^ --purpose=VPC_PEERING ^ --addresses=192.168.0.0 ^ --prefix-length=13 ^ --description="DESCRIPTION" ^ --network=VPC_NETWORK
您應該會收到類似以下的回應:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].
如要單純指定前置字串長度,請使用
prefix-length
標記。如果省略位址範圍, Google Cloud 會自動選取虛擬私人雲端網路中未使用的位址範圍。下列範例會以 13 位元前置字串長度選取未使用的 IP 位址範圍。使用下列任何指令資料之前,請先替換以下項目:
RESERVED_RANGE_NAME
:分配範圍的名稱,例如my-allocated-range
DESCRIPTION
:範圍的說明,例如allocated for my-service
VPC_NETWORK
:虛擬私有雲網路的名稱,例如my-vpc-network
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=13 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Windows (PowerShell)
gcloud compute addresses create RESERVED_RANGE_NAME ` --global ` --purpose=VPC_PEERING ` --prefix-length=13 ` --description="DESCRIPTION" ` --network=VPC_NETWORK
Windows (cmd.exe)
gcloud compute addresses create RESERVED_RANGE_NAME ^ --global ^ --purpose=VPC_PEERING ^ --prefix-length=13 ^ --description="DESCRIPTION" ^ --network=VPC_NETWORK
您應該會收到類似以下的回應:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].
上述範例會建立與 Google 的私人連線,讓提供的虛擬私有雲網路 (例如
my-vpc-network
) 中的 VM 執行個體可以透過私人服務存取權,與支援該功能的 Google 服務連線。Live Stream API 需要為每個區域分配 CIDR/13 區塊。如果您打算在多個區域中使用 Live Stream API,請分配較大的區塊。下表說明依區域數量分配的建議區塊大小:
區域數量 prefix-length
標記的值1 13 2 12 3-4 11 5-8 10 7-16 9 在服務供應商網路與虛擬私有雲網路之間建立私人連線:
建立私人連線。
使用下列任何指令資料之前,請先替換以下項目:
RESERVED_RANGE_NAME
:您在上一個步驟中建立的分配範圍名稱VPC_NETWORK
:虛擬私有雲網路的名稱PROJECT_ID
:含有虛擬私有雲網路的專案的 Google Cloud 專案 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
Windows (PowerShell)
gcloud services vpc-peerings connect ` --service=servicenetworking.googleapis.com ` --ranges=RESERVED_RANGE_NAME ` --network=VPC_NETWORK ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud services vpc-peerings connect ^ --service=servicenetworking.googleapis.com ^ --ranges=RESERVED_RANGE_NAME ^ --network=VPC_NETWORK ^ --project=PROJECT_ID
您應該會收到類似以下的回應:
Operation "operations/OPERATION_ID" finished successfully.
這個指令會建立長時間執行作業 (LRO)。
如果指令執行成功,請跳到下一個步驟。否則,請檢查作業狀態。
使用下列任何指令資料之前,請先替換以下項目:
OPERATION_ID
:前一個步驟傳回的作業 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud services vpc-peerings operations describe \ --name=operations/OPERATION_ID
Windows (PowerShell)
gcloud services vpc-peerings operations describe ` --name=operations/OPERATION_ID
Windows (cmd.exe)
gcloud services vpc-peerings operations describe ^ --name=operations/OPERATION_ID
您應該會收到類似以下的回應:
Operation "operations/OPERATION_ID" finished successfully.
(選用) 如果您使用的是 VPC Service Controls,請為剛建立的私人連線啟用 VPC-SC。
使用下列任何指令資料之前,請先替換以下項目:
VPC_NETWORK
:虛擬私有雲網路的名稱
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud services vpc-peerings enable-vpc-service-controls \ --service=servicenetworking.googleapis.com \ --network=VPC_NETWORK
Windows (PowerShell)
gcloud services vpc-peerings enable-vpc-service-controls ` --service=servicenetworking.googleapis.com ` --network=VPC_NETWORK
Windows (cmd.exe)
gcloud services vpc-peerings enable-vpc-service-controls ^ --service=servicenetworking.googleapis.com ^ --network=VPC_NETWORK
您應該會收到類似以下的回應:
Operation "operations/OPERATION_ID" finished successfully.
(選用) 如果您有連線至虛擬私有雲的內部部署網路,可以設定對等連線,讓內部部署主機與服務供應商的網路進行通訊。詳情請參閱內部主機疑難排解。