通过端点访问已发布服务的简介

本文档简要介绍如何使用 Private Service Connect 端点连接到另一个 VPC 网络中的服务。您可以连接到自己的服务,或其他服务提供方(包括 Google)提供的服务。

客户端使用内部 IP 地址连接到端点。Private Service Connect 执行网络地址转换 (NAT),以将请求路由到服务。

如需详细了解已发布的服务,请参阅已发布服务简介

借助 Private Service Connect 端点,服务使用方可以将流量从使用方的 VPC 网络发送到服务提供方的 VPC 网络中的服务。 使用方、端点和服务必须位于同一区域。 (点击放大)。

功能和兼容性

下表总结了访问已发布服务的端点支持的配置选项和功能。

在下表中, 对勾标记表示支持该功能, 否定符号表示不支持该功能。

使用方配置(端点) 提供方负载均衡器
内部直通式网络负载均衡器 区域级内部应用负载均衡器 区域级内部代理网络负载均衡器 内部协议转发(目标实例)
使用方全球访问权限

与负载均衡器上的全球访问权限设置无关

仅当负载均衡器上启用全球访问权限

仅当负载均衡器上启用全球访问权限

与负载均衡器上的全球访问权限设置无关

Interconnect 流量

Cloud VPN 流量
自动 DNS 配置
IP 栈 IPv4 IPv4 IPv4 IPv4

下表总结了端点访问的已发布服务支持的配置选项和功能。

提供方配置(已发布服务) 提供方负载均衡器
内部直通式网络负载均衡器 区域级内部应用负载均衡器 区域级内部代理网络负载均衡器 内部协议转发(目标实例)
支持的提供方后端
  • GCE_VM_IP NEG
  • 实例组
  • GCE_VM_IP_PORT NEG
  • 混合 NEG
  • 无服务器 NEG
  • Private Service Connect NEG
  • 实例组
  • GCE_VM_IP_PORT NEG
  • 混合 NEG
  • 无服务器 NEG
  • Private Service Connect NEG
  • 实例组
不适用
PROXY 协议 仅限 TCP 流量 仅限 TCP 流量
会话亲和性模式 无(5 元组)
CLIENT_IP_PORT_PROTO
不适用 不适用 不适用

不同的负载均衡器支持不同的端口配置:有些负载均衡器支持单个端口,有些支持一系列端口,有些支持所有端口。如需了解详情,请参阅端口规范

限制

访问已发布服务的端点具有以下限制:

  • 您不能在您要访问的已发布服务所在的同一 VPC 网络中创建端点。

  • 无法从对等互连的 VPC 网络访问端点。

  • 数据包镜像无法镜像 Private Service Connect 发布的服务流量的数据包。

  • 并非所有具有负载均衡器下一个跃点的静态路由都受 Private Service Connect 支持。如需了解详情,请参阅具有负载均衡器下一个跃点的静态路由

本地访问

用于访问 Google API 的端点可以从支持的已连接本地主机进行访问。如需了解详情,请参阅从混合网络访问端点

规范

  • Private Service Connect 端点必须在已发布服务(即端点的目标)所在的区域中创建。
  • 必须在不同于包含目标服务的 VPC 网络的 VPC 网络中创建端点。
  • 默认情况下,端点只能由与端点位于同一区域和同一 VPC 网络的客户端访问。如需了解如何在其他区域提供端点,请参阅全球访问权限
  • 您分配给端点的 IP 地址必须来自常规子网
  • 当您创建连接到服务的端点时,如果服务配置了 DNS 域名,则系统会自动在您的 VPC 网络中为该端点创建专用 DNS 条目。
  • 每个端点都有自己的唯一 IP 地址,并且可以有自己的唯一 DNS 名称。

连接状态

Private Service Connect 端点、后端和服务连接具有连接状态,用于描述其连接的状态。 构成连接两端的使用方和提供方资源始终具有相同的状态。 当您查看端点详细信息描述后端查看已发布服务的详细信息时,您可以查看连接状态。

下表介绍了可能的状态。

连接状态 说明
已接受 已建立 Private Service Connect 连接。两个 VPC 网络具有连接,并且连接正常运行。
待处理

未建立 Private Service Connect 连接,并且网络流量无法在两个网络之间传输。连接可能处于以下状态,原因如下:

  • 服务连接需要明确批准,并且使用方不在使用方接受列表中。
  • 连接数超过服务连接的连接限制

由于这些原因而被阻止的连接将无限期地保持在挂起状态,直到根本问题得到解决。

已拒绝

未建立 Private Service Connect 连接。网络流量无法在两个网络之间传输。连接可能处于以下状态,原因如下:

需要注意 连接的提供方端出现问题。某些流量可能能够在两个网络之间流动,但某些连接可能无法正常运行。例如,提供方的 NAT 子网可能已用尽,无法为新连接分配 IP 地址。
不开放

服务连接已删除,Private Service Connect 连接已关闭。网络流量无法在两个网络之间传输。

连接关闭是一种终止状态。如需恢复连接,您必须重新创建服务连接和端点或后端。

全球访问权限

用于访问服务的 Private Service Connect 端点是区域级资源。但是,您可以通过配置全球访问权限,在其他区域提供端点。

全球访问权限允许任何区域中的资源将流量发送到 Private Service Connect 端点。您可以使用全球访问权限为托管在多个区域的服务提供高可用性,或允许客户端访问与其不在同一区域的服务。

下图展示了不同区域中的客户端访问同一端点:

  • 端点位于 us-west1 中并配置了全球访问权限。

  • us-west1 中的虚拟机可以将流量发送到端点,并且流量在同一区域内流动。

  • us-east1 中的虚拟机和本地网络中的虚拟机也可以连接 us-west1 中的端点,即便它们位于不同的区域。虚线表示区域间流量路径。

    图 2. 借助具有全球访问权限的 Private Service Connect 端点,服务使用方可以将流量从使用方的 VPC 网络发送到服务提供方的 VPC 网络中的服务。 客户端和端点可以位于同一区域,也可以位于不同区域(点击可放大)。

全球访问权限规范

  • 您可以随时为端点开启或关闭全球访问权限。
    • 开启全球访问权限不会导致现有连接发生流量中断。
    • 关闭全球访问权限会终止来自端点所在区域以外的区域的所有连接。
  • 您可以在共享 VPC 宿主项目或服务项目中创建具有全球访问权限的端点。客户端虚拟机、Cloud VPN 隧道或 Cloud Interconnect 的 VLAN 连接不需要与端点位于同一项目中。

  • 并非所有 Private Service Connect 服务都支持具有全球访问权限的端点。请咨询您的服务提供方,确认其服务是否支持全球访问。如需了解详情,请参阅受支持的配置

  • 全球访问权限不会为多个全球访问端点提供单个全球 IP 地址或 DNS 名称。

共享 VPC

Service Project Admin 可以在共享 VPC 服务项目中创建使用来自共享 VPC 网络的 IP 地址的端点。配置与常规端点的配置相同,但该端点使用的是从共享 VPC 的共享子网预留的 IP 地址。

IP 地址资源可以在服务项目或宿主项目中预留。IP 地址的来源必须是与服务项目共享的子网。

如需了解详情,请参阅使用来自共享 VPC 网络的 IP 地址创建端点

VPC Service Controls

VPC Service Controls 和 Private Service Connect 彼此兼容。如果部署了 Private Service Connect 端点的 VPC 网络位于 VPC Service Controls 边界内,则端点属于同一边界。任何通过端点访问的 VPC Service Controls 支持的服务都受该 VPC Service Controls 边界的政策约束。

创建端点时,使用方和提供方项目之间会进行控制平面 API 调用,以建立 Private Service Connect 连接。在位于同一 VPC Service Controls 边界内的使用方和提供方项目之间建立 Private Service Connect 连接不需要使用出站流量政策进行明确授权。通过端点与 VPC Service Controls 支持的服务进行的通信受 VPC Service Controls 边界保护。

具有负载均衡器下一个跃点的静态路由

静态路由可以配置为使用作为下一个跃点的内部直通式网络负载均衡器的转发规则 (--next-hop-ilb)。Private Service Connect 并不完全支持此类型的所有路由。

当路由和端点位于同一 VPC 网络和区域中时,使用 --next-hop-ilb 指定内部直通式网络负载均衡器转发规则名称的静态路由可用于向 Private Service Connect 端点发送流量,以及从该端点接收流量。

Private Service Connect 不支持以下路由配置:

  • 使用 --next-hop-ilb 指定内部直通式网络负载均衡器转发规则的 IP 地址的静态路由。
  • 使用 --next-hop-ilb 指定 Private Service Connect 端点转发规则的名称或 IP 地址的静态路由。

日志记录

  • 您可以在包含使用端点访问另一个 VPC 网络中服务的虚拟机的子网上启用 VPC 流日志。日志显示虚拟机与端点之间的流。

  • 您可以使用审核日志来查看端点连接状态的变化情况。端点的连接状态变化情况会被捕获到 GCE 转发规则类型的资源的系统事件元数据中。您可以通过过滤 pscConnectionStatus 来查看这些条目。

    例如,当服务提供方允许来自您项目的连接时,端点的连接状态会由 PENDING 变为 ACCEPTED,并且此变化会反映在审核日志中。

价格

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

配额

您可以创建用于访问已发布服务的端点的数量由 PSC Internal LB Forwarding Rules 配额控制。如需了解详情,请参阅配额

组织政策限制条件

Organization Policy Administrator 可以使用 constraints/compute.disablePrivateServiceConnectCreationForConsumers 限制条件来定义一组端点类型,以禁止用户为这些类型的端点创建转发规则。

如需了解如何创建使用此限制条件的组织政策,请参阅禁止使用方按连接类型部署端点

后续步骤