设置专用服务访问通道
专用服务访问通道是虚拟私有云 (VPC) 网络与 VMware Engine 网络之间的专用连接。本页面介绍了如何设置对 Google Cloud VMware Engine 的专用服务访问通道以及如何将 VPC 网络连接到您的私有云。
专用服务访问通道可实现以下行为:
- 独占通信,通过使用您的 VPC 网络中的虚拟机 (VM) 实例和 VMware 虚拟机中的内部 IP 地址实现。虚拟机实例不需要接入互联网或具备外部 IP 地址,通过专用服务访问通道即可访问可用服务。
- VMware 虚拟机与支持使用内部 IP 地址的专用服务访问通道的 Google Cloud 支持服务之间的通信。
- 如果您具有使用 Cloud VPN 或 Cloud Interconnect 连接到您的 VPC 网络的本地连接,则可以使用该现有“本地连接”连接到您的 VMware Engine 私有云。
您可以设置独立于 VMware Engine 私有云创建的专用服务访问通道。您可以在创建要连接 VPC 网络的私有云之前或之后创建专用连接。
-
确保您拥有项目的以下一个或多个角色: Compute > Network Admin
检查角色
-
在 Google Cloud 控制台中,前往 IAM 页面。
转到 IAM - 选择项目。
-
在主账号列中,找到您的电子邮件地址所在的行。
如果您的电子邮件地址不在此列,则表示您没有任何角色。
- 在您的电子邮件地址所在的行对应的角色列中,检查角色列表是否包含所需的角色。
授予角色
-
在 Google Cloud 控制台中,前往 IAM 页面。
转到 IAM - 选择项目。
- 点击 授予访问权限。
- 在新的主账号字段中,输入您的电子邮件地址。
- 在选择角色列表中,选择一个角色。
- 如需授予其他角色,请点击 添加其他角色,然后添加其他各个角色。
- 点击 Save(保存)。
-
准备工作
- 通过执行以下操作,找到您的 VPC 网络的对等互连项目 ID:
- 在 Google Cloud 控制台中,转到 VPC 网络对等互连。 对等互连表中列出了名称为 servicenetworking-googleapis-com 的 VPC 网络对等互连连接。
- 复制对等项目 ID,以便在 VMware Engine 门户中设置专用连接时使用它。
- 从可用选项中选择 VPC 网络以连接到您的专用服务访问通道。
- 如果您使用 Cloud VPN 进行本地连接:请选择连接到 Cloud VPN 会话的 VPC 网络。
- 如果您使用 Cloud Interconnect 进行本地连接:请选择 Cloud Interconnect VLAN 连接终止的 VPC 网络。
- 在您的项目中激活 Service Networking API]服务网络使用入门。
- 拥有 Compute Network Admin 角色 (
roles/compute.networkAdmin
) 的项目所有者和 IAM 主账号可以创建分配的 IP 范围并管理专用连接。 - 输入专用服务连接、私有云管理和工作负载网段的地址范围。这可确保您的 VPC 网络子网与您在 VMware Engine 中使用的 IP 地址之间不存在 IP 地址冲突。
多 VPC 连接
借助 VMware Engine,您可以从不同的 VPC 网络访问同一私有云,而无需更改 Google Cloud 中部署的任何现有 VPC 架构。例如,当您拥有分别用于测试和开发的独立 VPC 网络时,多 VPC 连接会非常有用。
这种情况要求 VPC 网络能够在同一私有云中或跨多个私有云在不同的 vSphere 资源组中与 VMware 虚拟机或其他目标地址进行通信。
默认情况下,您可以在每个区域中对等互连 3 个 VPC 网络。此对等互连限制包括互联网访问网络服务使用的 VPC 对等互连。如需提高此限制,请与 Cloud Customer Care 团队联系。
共享 VPC
如果您使用共享 VPC,请在宿主项目中创建分配的 IP 范围和专用连接。这些任务通常必须由宿主项目中的网络管理员执行。设置宿主项目后,服务项目中的虚拟机实例即可使用专用连接。
创建专用连接
如需创建专用连接,您必须先创建 Compute Engine VPC 和专用服务访问连接。您可以使用 Google Cloud CLI 执行此操作:
使用 Google Cloud CLI 创建 Compute Engine VPC 和专用服务访问通道连接。
如需使用 Google Cloud CLI 创建 Compute Engine VPC 和专用服务访问通道连接,请执行以下操作:
通过运行
gcloud compute networks create
命令创建 VPC:gcloud compute networks create NETWORK_ID-vpc \ --subnet-mode=custom
替换以下内容:
NETWORK_ID
:此请求的网络 ID。
通过运行
gcloud compute addresses create
命令创建预留范围:gcloud compute instances create VM_NAME \ [--image=IMAGE | --image-family=IMAGE_FAMILY] \ --image-project=IMAGE_PROJECT \ --machine-type=MACHINE_TYPE
gcloud compute addresses create RESERVED_RANGE_ID-range \ --global \ --purpose=VPC_PEERING \ --prefix-length=24 \ --description="DESCRIPTION" \ --network=RESERVED_RANGE_ID-vpc
替换以下内容:
RESERVED_RANGE_ID
:此请求的预留范围 ID。DESCRIPTION
:此预留范围的说明。
可选:如果要提取用于专用连接的服务网络租户项目 (SNTP) 和 VPC,请运行
gcloud compute networks peerings list
命令:gcloud compute networks peerings list \ --network=NETWORK_ID
在 PEER_PROJECT 列中找到 SNTP,并在 PEER_NETWORK 中找到 SNVPC。
使用 Google Cloud CLI 或 VMware Engine API 创建具有 PRIVATE_SERVICE_ACCESS
类型和 GLOBAL
路由模式的专用连接:
gcloud
通过运行
gcloud vmware private-connections create
命令创建专用连接:gcloud vmware private-connections create PRIVATE_CONNECTION_ID \ --location=REGION\ --description="" \ --vmware-engine-network=REGION-default \ --service-project=SERVICE_NETWORKING_TENANT_PROJECT\ --type=PRIVATE_SERVICE_ACCESS \ --routing-mode=GLOBAL
替换以下内容:
PRIVATE_CONNECTION_ID
:此请求的专用连接 ID。REGION
:要在其中创建此网络的区域。SERVICE_NETWORKING_TENANT_PROJECT
:此服务网络租户 VPC 的项目名称。您可以在对等互连名称servicenetworking-googleapis-com
的 PEER_PROJECT 列中找到 SNTP。
可选:如果要列出专用连接,请运行
gcloud vmware private-connections create
命令:gcloud vmware private-connections list \ --location=REGION
替换以下内容:
REGION
:要列出的网络的区域。
API
如需使用 VMware Engine API 创建 Compute Engine VPC 和专用服务访问通道连接,请执行以下操作:
通过发出
POST
请求来创建专用连接:POST "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateConnections?private_connection_id=PRIVATE_CONNECTION_ID" -d '{ "description": "My first private connection", "vmware_engine_network": "projects/PROJECT_ID/locations/REGION/vmwareEngineNetworks/REGION -default", "type": "PRIVATE_SERVICE_ACCESS", "routing_mode": "GLOBAL", "service_network": "projects/SERVICE_NETWORKING_TENANT_PROJECT/global/networks/servicenetworking" }'
替换以下内容:
PRIVATE_CONNECTION_ID
:此请求的专用连接 ID。REGION
:要在其中创建此专用连接的区域。SERVICE_NETWORKING_TENANT_PROJECT
:此服务网络租户 VPC 的项目名称。您可以在对等互连名称servicenetworking-googleapis-com
的 PEER_PROJECT 列中找到 SNTP。
可选:如果要列出专用连接,请发出
GET
请求:
GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateConnections"
替换以下内容:
PROJECT_ID
:此请求的项目名称。REGION
:要在其中列出专用连接的区域。
修改专用连接
您可以使用 Google Cloud CLI 或 VMware Engine API 修改专用连接。以下示例将更改说明,并将路由模式更新为 REGIONAL:
gcloud
通过运行 gcloud vmware private-connections
update
命令修改专用连接:
gcloud vmware private-connections update PRIVATE_CONNECTION_ID \ --location=REGION \ --description="Updated description for the private connection" \ --routing-mode=REGIONAL
替换以下内容:
PROJECT_ID
:此请求的项目名称。REGION
:要在其中更新此专用连接的区域。PRIVATE_CONNECTION_ID
:此请求的专用连接 ID。
API
如需使用 VMware Engine API 修改专用连接,请发出 PATCH
请求:
PATCH "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateConnections/PRIVATE_CONNECTION_ID?update_mask=description, routing_mode" -d '{ "description": "Updated description for the private connection", "routing_mode": "REGIONAL" }'
替换以下内容:
PROJECT_ID
:此请求的项目名称。REGION
:要在其中更新此专用连接的区域。PRIVATE_CONNECTION_ID
:此请求的专用连接 ID。
描述专用连接
如需使用 Google Cloud CLI 或 VMware Engine API 获取任何专用连接的说明,请执行以下操作:
gcloud
通过运行 gcloud vmware
private-connections describe
命令获取专用连接的说明:
gcloud vmware private-connections describe PRIVATE_CONNECTION_ID \ --location=REGION
替换以下内容:
PRIVATE_CONNECTION_ID
:此请求的专用连接 ID。REGION
:专用连接所在的区域。
API
如需使用 VMware Engine API 获取专用连接的说明,请发出 GET
请求:
GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateConnections/PRIVATE_CONNECTION_ID"
替换以下内容:
PROJECT_ID
:此请求的项目名称。PRIVATE_CONNECTION_ID
:此请求的专用连接 ID。REGION
:专用连接所在的区域。
列出专用连接的对等互连路由
如需使用 Google Cloud CLI 或 VMware Engine API 列出与专用连接交换的对等互连路由,请执行以下操作:
gcloud
通过运行 gcloud vmware private-connections routes list
命令列出与专用连接交换的对等互连路由:
gcloud vmware private-connections routes list \ --private-connection=PRIVATE_CONNECTION_ID \ --location=REGION
替换以下内容:
PRIVATE_CONNECTION_ID
:此请求的专用连接 ID。REGION
:专用连接所在的区域。
API
如需使用 VMware Engine API 列出与专用连接交换的对等互连路由,请创建 GET
请求:
GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateConnections/PRIVATE_CONNECTION_ID/peeringRoutes"
替换以下内容:
PROJECT_ID
:此请求的项目名称。REGION
:专用连接所在的区域。PRIVATE_CONNECTION_ID
:此请求的专用连接 ID。
路由限制
私有云可以接收的路由数量上限为 200。 例如,这些路由可以来自本地网络、对等互连 VPC 网络以及同一 VPC 网络中的其他私有云。此路由限制对应于每个 BGP 会话限制的 Cloud Router 自定义路由通告的最大数量。
在给定区域中,您可以使用专用服务访问通道,通告最多 100 条从 VMware Engine 到 VPC 网络的唯一路由。例如,这些唯一路由包括私有云管理 IP 地址范围、NSX-T 工作负载网络分段和 HCX 网络 IP 地址范围。此路由限制包含该区域中的所有私有云,对应于 Cloud Router 的已知路由限制。
如需了解路由限制,请参阅 Cloud Router 配额和限制。
问题排查
以下视频介绍了如何验证和排查 Google Cloud VPC 与 Google Cloud VMware Engine 之间的对等互连连接问题。