Private Service Connect

Private Service Connect 允许跨属于不同群组、团队、项目或组织的 VPC 网络以不公开方式使用服务。您可以使用由您定义且位于您的 VPC 网络内部的 IP 地址发布和使用服务。

您可以使用 Private Service Connect 访问 Google API 和服务,或另一个 VPC 网络中的代管式服务。

使用 Private Service Connect 访问 Google API

默认情况下,如果您有一个使用 Google 服务(例如 Cloud Storage)的应用,那么该应用将连接到该服务的默认 DNS 名称,例如 storage.googleapis.com。即使默认 DNS 名称的 IP 地址是可公开路由的,从 Google Cloud 资源发送的流量仍会保留在 Google 网络中。

通过 Private Service Connect,您可以使用 VPC 网络中的全局内部 IP 地址创建专用端点。您可以使用有意义的名称(例如 storage-vialink1.p.googleapis.combigtable-adsteam.p.googleapis.com)将这些 DNS 名称分配给这些内部 IP 地址。这些名称和 IP 地址在 VPC 网络内部,以及通过 Cloud VPN 隧道或 Cloud Interconnect 连接 (VLAN) 连接到的任何本地网络。您可以控制要将哪些流量引导至哪个端点,并且可以证明流量保留在 Google Cloud 中。

通过此选项,您可以访问 API 软件包中包含的所有 Google API 和服务。如果您只需要访问某些 API 和服务,则使用使用方 HTTP(S) 服务控制的 Private Service Connect 允许您选择哪些 API 和服务适用于受支持的区域服务端点

如需详细了解用于访问 Google API 的 Private Service Connect 配置,请参阅使用场景

图 1. 借助 Private Service Connect,您可以使用 VPC 网络的专用 VPC Connect 端点向您的 Google API 发送流量。

使用 Private Service Connect 通过使用方 HTTP(S) 服务控制访问 Google API

您可以使用内部 HTTP(S) 负载均衡器创建带有使用方 HTTP(S) 服务控制的 Private Service Connect 端点。内部 HTTP(S) 负载均衡器提供以下功能:

图 2。 借助 Private Service Connect,您可以使用 Private Service Connect 端点将流量发送到受支持的区域级 Google API。使用负载均衡器会增加使用方 HTTP(S) 服务控制。(点击可放大。)

使用 Private Service Connect 发布和使用代管式服务

通过 Private Service Connect,服务提供方可以向服务使用方提供服务。服务提供方 VPC 网络可支持多个服务使用方。

有两种类型的 Private Service Connect 端点可以连接到已发布的服务:

图 3。 基于转发规则的 Private Service Connect 端点允许服务使用方将流量从使用方的 VPC 网络发送到服务提供方的 VPC 网络中的服务。(点击可放大。)

图 4: 使用全球外部 HTTP(S) 负载均衡器,具有互联网访问权限的服务使用方可以将流量发送到服务提供方的 VPC 网络中的服务(点击可放大)。

服务使用方的关键概念

您可以使用 Private Service Connect 端点以使用您的 VPC 网络之外的服务。服务使用方创建 Private Service Connect 端点,以连接到目标服务。

端点和目标

您可以使用 Private Service Connect 端点连接到目标服务。端点在您的 VPC 网络中有一个内部 IP 地址,并且基于转发规则资源。

您将流量发送到端点,该端点将其转发到您的 VPC 网络之外的目标。

端点类型 支持的目标 可访问者

用于访问 Google API 的 Private Service Connect 端点

全球内部 IP 地址

API 软件包
  • 所有 API (all-apis):大多数 Google API
    (与 private.googleapis.com 相同)。
  • VPC-SC (vpc-sc):VPC Service Controls 支持的 API
    (与 restricted.googleapis.com 相同)。
  • 与端点位于同一 VPC 网络中的虚拟机(所有区域)
  • 连接到包含端点的 VPC 网络的本地系统

用于通过使用方 HTTP(S) 服务控制访问 Google API 的 Private Service Connect

内部 HTTPS 负载均衡器的区域级内部 IP 地址

区域服务端点

此端点是一个具有简单网址映射和单个后端服务的内部 HTTP(S) 负载均衡器。如需配置目标,请将负载均衡器的后端服务连接到引用区域服务端点的 Private Service Connect 网络端点组

  • 与端点位于同一 VPC 网络和区域中的虚拟机
  • 连接到包含端点的 VPC 网络的本地系统(如果 Cloud VPN 隧道或 Cloud Interconnect 连接 (VLAN) 与端点位于同一区域)

用于访问其他 VPC 网络中已发布服务的 Private Service Connect 端点

区域内部 IP 地址

另一个 VPC 网络中的已发布服务。此服务可以由您自己的组织或第三方管理。

此类端点的目标是服务连接

  • 与端点位于同一 VPC 网络和区域中的虚拟机
  • 连接到包含端点(使用 Cloud VPN隧道)的 VPC 网络的本地系统与端点位于同一区域

用于通过使用方 HTTP(S) 服务控制访问已发布的服务的 Private Service Connect 端点

外部 HTTPS 负载均衡器的全球外部 IP 地址

另一个 VPC 网络中的已发布服务。此服务可以由您自己的组织或第三方管理。

此端点是一个全球外部 HTTP(S) 负载均衡器,具有简单的网址映射和单项后端服务。如需配置目标,请将负载均衡器的后端服务连接到引用服务连接的 Private Service Connect 网络端点组

  • 可访问互联网的系统

服务提供方的主要概念

为了将服务提供给使用方,您需要创建一个或多个专用子网。然后,您可以创建一个引用这些子网的服务连接

Private Service Connect 子网

为了公开服务,服务提供方首先会创建一个或多个子网,并将其用途设置为 Private Service Connect

  • 如果您的服务供基于转发规则的 Private Service Connect 端点使用,则使用方的来源 IP 地址将使用来源 NAT (SNAT) 转换为从某个 Private Service Connect 选择的 IP 地址。

    如果您要保留使用方连接 IP 地址信息,请参阅查看使用方连接信息

  • 如果您的服务由基于全球外部 HTTP(S) 负载均衡器的 Private Service Connect 端点使用,则系统不会使用该子网,也不会执行 NAT。但是,您必须创建该子网才能发布服务。

Private Service Connect 子网不能用于虚拟机实例或转发规则等资源。子网仅用于为传入的使用方连接的 SNAT 提供 IP 地址。虽然可以为一个已发布的服务配置多个子网,但一个 Private Service Connect 子网不能用于多个已发布的服务。

Private Service Connect 子网容量

创建服务提供方 Private Service Connect 子网时,请考虑以下事项:

  • Private Service Connect 子网可为任意有效大小,并且可以使用任何有效的 IP 地址范围,包括公开使用的专用 IP 地址。

    • 如果您的服务由基于转发规则的 Private Service Connect 端点使用,我们建议您将 Private Service Connect 子网配置为 /22 或更短(例如 /21)的前缀长度。

    • 如果您的服务由基于全球外部 HTTP(S) 负载均衡器的 Private Service Connect 端点使用,则系统不会使用该子网。您可以使用前缀长度 /29 配置 Private Service Connect 子网以创建具有最小支持大小的子网。

  • 专用 Service Connect 子网中有四个预留 IP 地址,因此可用 IP 地址数量为 2(32 -PREFIX_LENGTH - 4。例如,如果您创建了一个前缀长度为 /22 的 Private Service Connect 子网,则 Private Service Connect 可以使用 1020 个 IP 地址。

Private Service Connect 子网的 SNAT 配置

Private Service Connect 子网的 SNAT 配置包括以下内容:

  • 执行 SNAT 时,使用方 VPC 网络中的每个客户端虚拟机将使用 Private Service Connect 子网中的 IP 地址,获得 1024 个来源地址和来源端口元组。

  • UDP 映射空闲超时为 30 秒,且无法配置。

  • TCP 既定连接空闲超时为 20 分钟,且无法配置。

  • TCP 临时连接空闲超时为 30 秒,且无法配置。

  • 在重用任何 5 元组(Private Service Connect 子网来源 IP 地址和来源端口以及目标协议、IP 地址和目标端口)之前,均存在两分钟的延迟。

服务连接

服务提供方通过服务连接公开其服务。

  • 为了公开服务,服务提供方会创建引用该服务的负载平衡器转发规则的服务连接。

  • 为了访问服务,服务使用方会创建引用服务连接的端点。

服务连接 URI 的格式为 projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

每个负载均衡器只能由单个服务连接引用。 您不能将多个服务连接配置为使用同一负载均衡器。

连接偏好设置

创建服务时,您可以选择提供该服务的方式。可以选择以下两种方法:

  • 自动接受所有项目的连接 - 任何服务使用方都可以配置一个端点,并自动连接到该服务。

  • 接受选定项目的连接 - 服务使用方可以配置一个端点以连接到服务,而服务提供方会接受或拒绝连接请求。

本地访问

  • 用于访问 Google API 的 Private Service Connect 端点可以从支持的已连接本地主机进行访问。如需了解详情,请参阅从本地主机使用 Private Service Connect

  • 具有 HTTP(S) 服务控制的 Private Service Connect 端点可以从支持的已连接本地主机进行访问。如需了解详情,请参阅从本地主机使用 Private Service Connect

  • 用于访问其他 VPC 网络中的代管式服务的 Private Service Connect 端点可以从支持的已连接本地主机进行访问(仅使用 Cloud VPN)。如需了解详情,请参阅从本地主机使用 Private Service Connect

  • 具有可用于访问代管式服务的 HTTP(S) 服务控制的 Private Service Connect 端点基于全球外部 HTTP(S) 负载均衡器,可以从任何能够访问互联网的系统进行访问。

价格

如需了解 Private Service Connect 的价格,请参阅 VPC 价格页面

组织政策限制条件

组织政策管理员可以使用 constraints/compute.disablePrivateServiceConnectCreationForConsumers 限制条件来定义一组 Private Service Connect 端点类型,以禁止用户为这些类型的端点创建转发规则。您可以使用该限制条件来阻止用户创建用于访问 Google API 的 Private Service Connect 端点用于访问托管式服务的 Private Service Connect 端点。该限制条件适用于新配置,但不会影响现有连接

配额

Private Service Connect 端点和服务连接设有配额。如需了解详情,请参阅配额

后续步骤