专用服务访问通道是您的 Google Cloud 虚拟私有云 (VPC) 网络与 Google 管理的服务或 第三方服务之间的安全专用连接。这样一来,您 VPC 网络中的虚拟机实例便可以使用内部 IP 地址与这些服务进行通信,而不会将流量暴露在公共互联网上。
准备工作
如需建立专用连接,请先满足以下前提条件:
- 您必须有一个 用于接入服务提供方网络 的 VPC 网络。虚拟机实例必须使用此 VPC 网络通过专用连接接入服务。
- 按照 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
如需获得设置专用连接所需的权限,请让您的管理员为您授予Compute Engine Network Admin(
roles/compute.networkAdmin)IAM 角色,该角色位于 Google Cloud VPC 网络所在的项目中。如需详细了解如何授予角色,请参阅 管理访问权限。在 VPC 网络中,使用
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:您的 VPC 网络的名称,例如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 会自动在您的 VPC 网络中选择一个未使用的 地址范围。以下示例选择的是前缀长度为 17 位的未使用的 IP 地址范围:在使用下面的命令数据之前, 请先进行以下替换:
RESERVED_RANGE_NAME:已分配范围的名称,例如my-allocated-rangeDESCRIPTION:对该范围的描述,例如allocated for my-serviceVPC_NETWORK:您的 VPC 网络的名称,例如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 的专用连接,以便提供的 VPC 网络(例如
my-vpc-network)中的虚拟机实例可以使用专用服务访问通道来访问支持专用连接的 Google 服务。Live Stream API 要求每个区域分配一个 CIDR/17 块。如果您计划在多个区域中使用 Live Stream API,请分配一个更大的块。下表介绍了建议分配的块大小,具体取决于区域数量:
区域数量 prefix-length标志的值1 17 2 16 3-4 15 5-8 14 9-16 13 在服务提供方网络与您的 VPC 网络之间创建专用连接:
创建专用连接。
在使用下面的命令数据之前, 请先进行以下替换:
RESERVED_RANGE_NAME:您在上一步中创建的分配范围的名称VPC_NETWORK:您的 VPC 网络的名称PROJECT_ID:包含您的 VPC 网络的 项目的 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:您的 VPC 网络的名称
执行以下命令:
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.
(可选)如需启用对服务提供方的本地访问权限,请将 SRT/RTMP IP 地址作为自定义路由通告添加到 Cloud Router。 然后,更新 Service Networking VPC 对等互连以导出自定义路由,从而通过对等互连连接扩展本地网络的连接。 如需了解详情,请参阅 本地主机问题排查。