设置专用服务访问通道

专用服务访问通道是虚拟私有云 (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 网络的私有云之前或之后创建专用连接。

  1. 确保您拥有项目的以下一个或多个角色: Compute > Network Admin

    检查角色

    1. 在 Google Cloud 控制台中,前往 IAM 页面。

      转到 IAM
    2. 选择项目。
    3. 主账号列中,找到您的电子邮件地址所在的行。

      如果您的电子邮件地址不在此列,则表示您没有任何角色。

    4. 在您的电子邮件地址所在的行对应的角色列中,检查角色列表是否包含所需的角色。

    授予角色

    1. 在 Google Cloud 控制台中,前往 IAM 页面。

      转到 IAM
    2. 选择项目。
    3. 点击 授予访问权限
    4. 新的主账号字段中,输入您的电子邮件地址。
    5. 选择角色列表中,选择一个角色。
    6. 如需授予其他角色,请点击 添加其他角色,然后添加其他各个角色。
    7. 点击 Save(保存)。

准备工作

  1. 通过执行以下操作,找到您的 VPC 网络的对等互连项目 ID
    1. Google Cloud 控制台中,转到 VPC 网络对等互连。 对等互连表中列出了名称为 servicenetworking-googleapis-com 的 VPC 网络对等互连连接。
    2. 复制对等项目 ID,以便在 VMware Engine 门户中设置专用连接时使用它。
  2. 从可用选项中选择 VPC 网络以连接到您的专用服务访问通道。
    • 如果您使用 Cloud VPN 进行本地连接:请选择连接到 Cloud VPN 会话的 VPC 网络。
    • 如果您使用 Cloud Interconnect 进行本地连接:请选择 Cloud Interconnect VLAN 连接终止的 VPC 网络。
  3. 在您的项目中激活 Service Networking API]服务网络使用入门
  4. 拥有 Compute Network Admin 角色 (roles/compute.networkAdmin) 的项目所有者和 IAM 主账号可以创建分配的 IP 范围并管理专用连接。
  5. 输入专用服务连接、私有云管理和工作负载网段的地址范围。这可确保您的 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 和专用服务访问通道连接,请执行以下操作:

  1. 通过运行 gcloud compute networks create 命令创建 VPC:

    gcloud compute networks create NETWORK_ID-vpc \
        --subnet-mode=custom

    替换以下内容:

    • NETWORK_ID:此请求的网络 ID。
  2. 通过运行 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:此预留范围的说明。
  3. 可选:如果要提取用于专用连接的服务网络租户项目 (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

  1. 通过运行 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-comPEER_PROJECT 列中找到 SNTP。
  2. 可选:如果要列出专用连接,请运行 gcloud vmware private-connections create 命令:

      gcloud vmware private-connections list \
        --location=REGION

    替换以下内容:

    • REGION:要列出的网络的区域。

API

如需使用 VMware Engine API 创建 Compute Engine VPC 和专用服务访问通道连接,请执行以下操作:

  1. 通过发出 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-comPEER_PROJECT 列中找到 SNTP。
  2. 可选:如果要列出专用连接,请发出 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 之间的对等互连连接问题。

后续步骤