私人服務連線可讓Google Cloud 虛擬私有雲網路與 Google 管理或第三方服務建立安全私密連線。這項功能可讓虛擬私有雲網路中的 VM 執行個體使用內部 IP 位址與這些服務通訊,而不會將流量暴露於公開網際網路上。
事前準備
如要建立私人連線,請完成下列事前準備:
- 您必須具有現有的虛擬私有雲網路,可用來連線至服務供應商的網路。VM 執行個體必須使用這個虛擬私有雲網路,以私人連線的方式連線至服務。
- 按照 Live Stream API「事前準備」頁面的步驟,建立設定正確的 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/17,請將位址指定為192.168.0.0,並將前置字串長度指定為17。使用下列任何指令資料之前,請先替換以下項目:
RESERVED_RANGE_NAME:分配的範圍名稱,例如my-allocated-rangeDESCRIPTION:範圍的說明,例如allocated for my-serviceVPC_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 會自動選取虛擬私有雲網路中未使用的位址範圍。下列範例會以 17 位元前置字串長度選取未使用的 IP 位址範圍。使用下列任何指令資料之前,請先替換以下項目:
RESERVED_RANGE_NAME:分配的範圍名稱,例如my-allocated-rangeDESCRIPTION:範圍的說明,例如allocated for my-serviceVPC_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/17 區塊。如果您打算在多個區域使用 Live Stream API,請分配較大的區塊。下表說明建議分配的區塊大小 (視區域數量而定):
區域數量 prefix-length旗標的值1 17 2 16 3-4 15 5-8 14 9-16 13 在服務供應商網路與您的虛擬私有雲網路之間建立私人連線:
建立私人連線。
使用下列任何指令資料之前,請先替換以下項目:
RESERVED_RANGE_NAME:您在上一個步驟中建立的分配範圍名稱VPC_NETWORK:虛擬私有雲網路的名稱PROJECT_ID:虛擬私有雲網路所在專案的專案 ID Google Cloud
執行下列指令:
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.
(選用) 如要啟用地端部署存取服務供應商,請在 Cloud Router 上新增 SRT/RTMP IP 位址做為自訂路由通告。接著,更新 Service Networking 虛擬私有雲端對等互連,匯出自訂路徑,透過對等互連連線擴展本機網路的連線。詳情請參閱排解地端部署主機問題。