已发布服务简介

本文档简要介绍如何使用 Private Service Connect 向服务使用方提供服务。

作为服务提供方,您可以使用 Private Service Connect,通过您的 VPC 网络中的内部 IP 地址发布服务。服务使用方可以使用其 VPC 网络中的内部 IP 地址访问您发布的服务。

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

服务使用方类型

有两种类型的使用方可以连接到 Private Service Connect 服务:

端点基于转发规则。

端点可让服务使用方将流量从使用方的 VPC 网络发送到服务提供方的 VPC 网络中的服务(点击可放大)。

后端基于负载均衡器。

使用全球外部应用负载均衡器的后端允许具有互联网访问权限的服务使用方将流量发送到服务提供方的 VPC 网络中的服务(点击可放大)。

NAT 子网

Private Service Connect 服务连接配置了一个或多个 NAT 子网(也称为 Private Service Connect 子网)。来自使用方 VPC 网络的数据包使用来源 NAT (SNAT) 进行转换,以便其原始的来源 IP 地址转换为来自提供方 VPC 网络中的 NAT 子网的来源 IP 地址。

服务连接可以有多个 NAT 子网。您可以随时将 NAT 子网添加到服务连接,这不会中断流量。

虽然一个服务连接可以配置多个 NAT 子网,但一个 NAT 子网不能用于多个服务连接。

Private Service Connect NAT 子网不能用于虚拟机 (VM) 实例或转发规则等资源。子网仅用于为传入的使用方连接的 SNAT 提供 IP 地址。

NAT 子网大小调整

发布服务时,您需要创建 NAT 子网并选择 IP 地址范围。子网的大小决定了多少个并发 Private Private Connect 端点或后端可以连接到服务连接。

系统会根据 Private Service Connect 连接的数量使用 NAT 子网中的 IP 地址。如果 NAT 子网中的所有 IP 地址都已使用,则任何其他 Private Service Connect 连接都将失败。因此,请务必适当设置 NAT 子网的大小。

选择子网大小时,请考虑以下事项:

  • NAT 子网中有四个不可用的 IP 地址,因此可用 IP 地址数量为 2(32 - PREFIX_LENGTH) - 4。例如,如果您创建了一个前缀长度为 /24 的 NAT 子网,则 Private Service Connect 可以使用 252 个 IP 地址进行 SNAT。包含四个可用 IP 地址的 /29 子网是 VPC 网络支持的最小子网大小。
  • 与服务连接相连的每个端点或后端占用 NAT 子网中的一个 IP 地址。
  • 在估算端点和后端所需的 IP 地址数量时,请考虑任何多租户服务或使用 Private Service Connect 多点访问权限的使用方
  • TCP 或 UDP 连接、客户端或使用方 VPC 网络的数量不影响 NAT 子网中 IP 地址的使用。

例如,如果有两个端点连接到单个服务连接,则系统会使用 NAT 子网中的两个 IP 地址。如果端点数量不变,您可以为此服务连接使用一个具有四个可用 IP 地址的 /29 子网。

NAT 子网监控

为了帮助确保 Private Service Connect 连接不会因 NAT 子网中的 IP 地址不可用而失败,我们建议您执行以下操作:

  • 监控 private_service_connect/producer/used_nat_ip_addresses 服务连接指标。确保使用的 NAT IP 地址数量不超过服务连接的 NAT 子网的容量。
  • 监控服务连接的连接状态。如果连接的状态为需要注意,则表示连接的 NAT 子网中可能不再有任何可用的 IP 地址。
  • 对于多租户服务,您可以使用连接限制,以帮助确保单个使用方不会耗尽服务连接的 NAT 子网的容量。

如果需要,您可以随时将 NAT 子网添加到服务连接,这不会中断流量。

NAT 规范

在设计要发布的服务时,请考虑 Private Service Connect NAT 的以下特性:

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

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

    为避免客户端连接超时,请执行以下操作之一:

    • 确保所有连接的持续时间都不到 20 分钟。

    • 确保某些流量的发送频率高于每 20 分钟一次。您可以在应用中使用检测信号或 keepalive,或使用 TCP keepalive。例如,您可以在区域内部应用负载均衡器或区域内部代理网络负载均衡器的目标代理中配置 keepalive。

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

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

  • Private Service Connect 的 SNAT 不支持 IP 片段。

连接数上限

单个提供方虚拟机最多可以接受来自单个 Private Service Connect 端点的 65,536 个 TCP 连接和 65,536 个 UDP 连接。Private Service Connect 端点可以跨所有提供方后端聚合接收的 TCP 和 UDP 连接总数没有限制。使用方虚拟机在启动与 Private Service Connect 端点的 TCP 或 UDP 连接时,可以使用所有 65,536 个端口。所有网络地址转换都在提供方主机上本地进行,不需要集中分配的 NAT 端口池。

服务连接

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

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

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

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

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

连接偏好设置

每个服务连接都有一个连接首选项,用于指定是否自动接受连接请求。共有三种处理方式:

  • 自动接受所有连接。服务连接会自动接受来自任何使用方的所有入站连接请求。自动接受可能会被阻止传入连接的组织政策覆盖。
  • 接受选定网络的连接。仅当使用方 VPC 网络在服务连接的使用方接受列表中时,服务连接才会接受入站连接请求。
  • 接受选定项目的连接。仅当使用方项目在服务连接的使用方接受列表中时,服务连接才会接受入站连接请求。

我们建议您接受选定项目或网络的连接。如果您通过其他方式控制使用方访问权限并希望启用对服务的宽松访问权限,则自动接受所有连接可能比较合适。

连接状态

服务连接具有描述其连接的状态的连接状态。如需了解详情,请参阅连接状态

使用方接受和拒绝列表

使用方接受列表和使用方拒绝列表是服务连接的安全功能。接受和拒绝列表可让服务提供方指定哪些使用方可以建立与其服务的 Private Service Connect 连接。使用方接受列表指定是否接受连接,使用方拒绝列表指定是否拒绝连接。这两个列表都可让您按连接资源的 VPC 网络或项目指定使用方。如果您将某个项目或网络同时添加到接受列表和拒绝列表,则来自该项目或网络的连接请求会被拒绝。 不支持按文件夹指定使用方。

使用方接受列表和使用方拒绝列表可让您指定项目或 VPC 网络,但不能同时指定这两者。您可以在不中断连接的情况下将列表从一种类型更改为另一种类型,但必须在单次更新中进行此项更改。否则,某些连接可能会暂时更改为待处理状态。

使用方名单用于控制端点是否可以连接到已发布的服务,但不控制哪些人可以向该端点发送请求。例如,假设使用方有一个共享 VPC 网络,其中连接了两个服务项目。如果已发布的服务在使用方接受列表中包含 service-project1,而在使用方拒绝列表中包含 service-project2,则适用以下规则:

  • service-project1 中的使用方可以创建连接到已发布服务的端点。
  • service-project2 中的使用方无法创建连接到已发布服务的端点。
  • 如果没有防火墙规则或政策阻止该流量,service-project2 中的客户端可以向 service-project1 中的端点发送请求。

如需了解使用方接受列表如何与组织政策交互作用,请参阅使用方接受列表与组织政策之间的交互作用

使用方接受列表限制

使用方接受列表具有连接数限制。这些限制会设置服务连接可以从指定的使用方项目或 VPC 网络接受的 Private Service Connect 端点和后端连接的总数。

提供方可以使用连接限制来防止个别使用方耗尽提供方 VPC 网络中的 IP 地址或资源配额。每个接受的 Private Service Connect 连接都会从为使用方项目或 VPC 网络配置的限制中减去。您在创建更新使用方接受列表时设置这些限制。您可以在描述服务连接时查看其连接。

传播的连接不计入这些限制。

例如,假设一种场景,服务连接具有使用方接受列表,其中包含 project-1project-2,两者的连接限制均为一个。项目 project-1 请求两个连接,project-2 请求一个连接,project-3 请求一个连接。由于 project-1 的连接限制为一个,因此第一个连接会被接受,第二个连接会保持待处理状态。来自 project-2 的连接会被接受,来自 project-3 的连接会保持待处理状态。可通过提高 project-1 的限制接受来自 project-1 的第二个连接。如果将 project-3 添加到使用方接受列表,则该连接会从待处理状态转换为已接受状态。

连接协调

连接协调可确定对服务连接的接受或拒绝列表的更新是否会影响现有的 Private Service Connect 连接。如果启用了连接协调,更新接受或拒绝列表可能会终止现有连接。之前被拒绝的连接可能会变为已接受。如果停用了连接协调,则更新接受或拒绝列表仅会影响新的和待处理的连接。

例如,假设一个具有来自 Project-A 的多个已接受连接的服务连接。Project-A 在服务连接的接受列表中。服务连接通过从接受列表中移除 Project-A 进行更新。

如果启用了连接协调,则来自 Project-A 的所有现有连接都会变为 PENDING 状态,这会终止两个 VPC 网络之间的网络连接,并立即停止网络流量。

如果停用了连接协调,则来自 Project-A 的现有连接不会受影响。网络流量仍然可以跨现有 Private Service Connect 连接流动。但是,不允许建立任何新的 Private Service Connect 连接。

如需了解如何为新的服务连接配置连接协调,请参阅通过明确批准发布服务

如需了解如何为现有服务连接配置连接协调,请参阅配置连接协调

传播连接数

使用端点连接到服务连接的使用方可以启用连接传播。传播的连接可让使用方 VPC spoke 中的工作负载访问提供方 VPC 网络中的托管式服务,就像两个 VPC 网络通过端点直接连接一样。每个传播的连接都使用服务连接的 NAT 子网中的 IP 地址。

查看已发布服务的详细信息时,您可以查看与已连接端点关联的传播连接的数量。此计数不包括因提供方的传播连接数限制阻止的传播连接。

传播连接数限制

服务连接具有传播连接数限制,这可让服务提供方对单个使用方可以与服务连接建立的传播连接数进行限制。如果未指定此项,则默认传播连接数限制为 250。

  • 如果服务连接的连接首选项为 ACCEPT_MANUAL,则该限制适用于使用方接受列表中列出的每个项目或 VPC 网络。
  • 如果连接首选项为 ACCEPT_AUTOMATIC,则该限制适用于包含已连接端点的每个项目。

如果使用方超出传播连接数限制,则不会再创建传播连接。如需允许创建更多传播端点,您可以提高传播连接数限制。 当您提高此限制时,只要新连接不超过更新后的限制,Network Connectivity Center 就会创建因此限制而被阻止的传播连接。更新此限制不会影响现有的传播连接。

防止配额用尽

可访问提供方 VPC 网络的任何使用方发起的 Private Service Connect 端点和传播连接的总数由 PSC ILB consumer forwarding rules per producer VPC network 配额控制。特别是对于多租户服务,请务必防止耗尽此配额。

您可以使用以下限制来防范配额耗尽:

  • 使用方接受列表连接数限制控制可以创建从单个使用方 VPC 网络或项目到服务连接的连接的 Private Service Connect 端点总数。降低这些限制不会影响现有连接。这些限制不适用于传播的连接。
  • 传播连接数限制控制可以建立从单个使用方到服务连接的传播连接总数。降低此限制不会影响现有的传播连接。

示例

以下示例展示了传播连接数限制和使用方接受列表限制如何与 PSC ILB consumer forwarding rules per producer VPC network 配额搭配使用。

假设使用方在 spoke VPC 网络 spoke-vpc-1 中创建了两个端点。这两个端点都连接到 producer-vpc-1 中的 service-attachment-1。spoke 连接到启用了连接传播的 Network Connectivity Center hub,并且没有其他 spoke 连接到该 hub。

服务提供方将 service-attachment-1 配置为使用方接受列表限制对于接受列表中的每个项目为 4。提供方将传播连接数限制配置为 2,并指定单个项目最多可以有两个传播的连接。

此示例配置包含两个端点,不包含传播的连接(点击可放大)。

此配置的配额和限制用量如下:

配额/限制 用法 说明
每个提供方 VPC 网络的 PSC ILB 使用方转发规则数 2 每个端点一个
consumer-project-1 的服务连接使用方接受列表连接数限制 2 每个端点一个
consumer-project-1 的服务连接传播连接数限制 0 无传播的连接

假设 consumer-project-1 将另一个名为 spoke-vpc-2 的 spoke 连接到与 spoke-vpc-1 相同的 Network Connectivity Center hub。此操作会在 consumer-project-1 中创建两个传播的连接,每个现有端点对应一个。

此示例配置包含两个端点和两个传播的连接(点击可放大)。

此配置的配额和限制用量如下:

配额/限制 用法 说明
每个提供方 VPC 网络的 PSC ILB 使用方转发规则数 4 每个端点一个,每个传播的连接一个
consumer-project-1 的服务连接使用方接受列表连接数限制 2 每个端点一个
consumer-project-1 的服务连接传播连接数限制 2 每个传播的连接一个

Consumer-project-1 已用尽其传播连接数上限。如果使用方添加另一个 VPC spoke,Private Service Connect 不会创建任何新的传播连接。

假设另一个使用方在 consumer-project-2 中拥有两个 VPC spoke。这些 spoke 连接到启用了传播连接的 Network Connectivity Center hub。其中一个 VPC spoke 包含一个连接到 service-attachment-1 的端点。

此示例配置包含三个端点和三个传播的连接(点击可放大)。

此配置的配额和限制用量如下:

配额/限制 用法 说明
每个提供方 VPC 网络的 PSC ILB 使用方转发规则数 6 consumer-project-1 中 4 个,在 consumer-project-2 中 2 个
consumer-project-1 的服务连接使用方接受列表连接数限制 2 consumer-project-1 中每个端点一个
consumer-project-2 的服务连接使用方接受列表连接数限制 1 consumer-project-2 中每个端点一个
consumer-project-1 的服务连接传播连接数限制 2 consumer-project-1 中每个传播的连接一个
consumer-project-2 的服务连接传播连接数限制 1 consumer-project-2 中每个传播的连接一个

DNS 配置

如需了解已发布服务的 DNS 配置以及连接到已发布服务的端点,请参阅服务的 DNS 配置

多区域配置

您可以通过创建以下配置,在多个区域中提供某个服务。

提供方配置:

  • 在每个区域中部署服务。服务的每个区域实例都必须在支持后端访问的负载均衡器上配置。

  • 创建服务连接以发布服务的每个区域实例。

使用方配置:

在此配置中,端点使用默认的全球负载均衡政策(首先按运行状况,然后按距离客户端最近的位置)来路由流量。

使用全球外部应用负载均衡器,具有互联网访问权限的服务使用方可以将流量发送到服务提供方的 VPC 网络中的服务。由于服务部署在多个区域中,因此负载均衡器可以将流量路由到距离最近且运行状况良好的区域中的 NEG(点击可放大)。

IP 版本转换

对于已发布服务和服务连接的 Private Service Connect 端点之间的连接,使用方转发规则的 IP 地址的 IP 版本决定了端点的 IP 版本以及端点的出站流量。端点的 IP 版本可以是 IPv4 或 IPv6,但不能同时是这两者。如果 IPv4 地址的子网是单栈,则使用方可以使用该地址。如果 IPv4 或 IPv6 地址的子网是双栈,则使用方可以使用该地址。使用方可以将 IPv4 和 IPv6 端点同时连接到同一服务连接,这对于将服务迁移到 IPv6 很有帮助。

对于已发布服务和服务连接的 Private Service Connect 端点之间的连接,提供方转发规则的 IP 版本决定了服务连接的 IP 版本以及服务连接的出站流量。服务连接的 IP 版本可以是 IPv4 或 IPv6,但不能同时是这两者。如果 IPv4 地址的子网是单栈,则提供方可以使用该地址。如果 IPv4 或 IPv6 地址的子网是双栈,则提供方可以使用该地址。

提供方转发规则的 IP 地址的 IP 版本必须与服务连接的 NAT 子网的堆栈类型兼容。如果提供方转发规则为 IPv4,则 NAT 子网可以是单栈或双栈。如果提供方转发规则为 IPv6,则 NAT 子网必须是双栈。

Private Service Connect 不支持将 IPv4 端点与 IPv6 服务连接相连接。在这种情况下,端点创建会失败,并显示以下错误消息:

Private Service Connect forwarding rule with an IPv4 address cannot target an IPv6 service attachment.

支持的配置可以使用以下组合:

  • IPv4 端点到 IPv4 服务连接
  • IPv6 端点到 IPv6 服务连接
  • IPv6 端点到 IPv4 服务连接

    在此配置中,Private Service Connect 会自动在两个 IP 版本之间进行转换。

对于 Private Service Connect 后端和服务附件之间的连接,使用方和提供方转发规则都必须使用 IPv4。

功能和兼容性

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

根据所选的提供方负载均衡器,提供方服务可以支持通过端点和/或后端访问。

端点支持

本部分汇总了使用端点访问发布服务时可供使用方和提供方使用的配置选项。

使用方配置

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

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

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

仅当创建服务连接之前在负载均衡器上启用全球访问权限

仅当创建服务连接之前在负载均衡器上启用全球访问权限

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

Interconnect 流量

Cloud VPN 流量
自动 DNS 配置 仅限 IPv4 仅限 IPv4 仅限 IPv4 仅限 IPv4
连接传播 仅限 IPv4 仅限 IPv4 仅限 IPv4 仅限 IPv4
IPv4 端点
  • IPv4 提供方转发规则
  • IPv4 提供方转发规则
  • IPv4 提供方转发规则
  • IPv4 提供方转发规则
IPv6 端点
  • IPv4 提供方转发规则
  • IPv6 提供方转发规则
  • IPv4 提供方转发规则
  • IPv4 提供方转发规则
  • IPv4 提供方转发规则
  • IPv6 提供方转发规则

提供方配置

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

提供方配置(已发布服务) 提供方负载均衡器
内部直通式网络负载均衡器 区域级内部应用负载均衡器 区域级内部代理网络负载均衡器 内部协议转发(目标实例)

支持的提供方后端:

  • GCE_VM_IP 可用区级 NEG
  • 实例组
  • 端口映射 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
不适用 不适用 不适用
IP 版本
  • IPv4 提供方转发规则
  • IPv6 提供方转发规则
  • IPv4 提供方转发规则
  • IPv4 提供方转发规则
  • IPv4 提供方转发规则
  • IPv6 提供方转发规则

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

后端支持

已发布服务的 Private Service Connect 后端需要两个负载均衡器:使用方负载均衡器和提供方负载均衡器。本部分汇总了使用后端访问发布服务时可供使用方和提供方使用的配置选项。

使用方配置

下表介绍了已发布服务的 Private Service Connect 后端支持的使用方负载均衡器,包括可与每个使用方负载均衡器搭配使用的后端服务协议。使用方负载均衡器可以访问在受支持的提供方负载均衡器上托管的已发布服务。

使用方负载均衡器 协议 IP 版本

全球外部应用负载均衡器(支持多个区域

注意:不支持传统版应用负载均衡器。

  • HTTP
  • HTTPS
  • HTTP2
IPv4

区域级外部应用负载均衡器

  • HTTP
  • HTTPS
  • HTTP2
IPv4

区域级内部应用负载均衡器

  • HTTP
  • HTTPS
  • HTTP2
IPv4

跨区域内部应用负载均衡器

  • HTTP
  • HTTPS
  • HTTP2
IPv4

区域级内部代理网络负载均衡器

  • TCP
IPv4

跨区域内部代理网络负载均衡器

  • TCP
IPv4

区域级外部代理网络负载均衡器

  • TCP
IPv4

全球外部代理网络负载均衡器

如需将此负载均衡器与 Private Service Connect NEG 关联,请使用 Google Cloud CLI 或发送 API 请求。

注意:不支持传统代理网络负载均衡器。

  • TCP/SSL
IPv4

提供方配置

下表介绍了已发布服务的 Private Service Connect 后端支持的提供方负载均衡器配置。

配置 提供方负载均衡器
内部直通式网络负载均衡器 区域级内部应用负载均衡器 区域级内部代理网络负载均衡器
支持的提供方后端
  • 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
  • 实例组
转发规则协议
  • TCP
  • HTTP
  • HTTPS
  • HTTP/2
  • TCP
转发规则端口 建议使用单个端口,请参阅提供方端口配置 支持单个端口 支持单个端口
PROXY 协议
IP 版本 IPv4 IPv4 IPv4

提供方端口配置

当使用方后端连接到内部直通式网络负载均衡器上托管的已发布服务时,Google Cloud 会选择使用方要使用的端口。端口的选择基于生产者的转发规则端口配置。为提供方负载均衡器创建转发规则时,请考虑以下事项:

  • 我们建议您指定单个端口。在此配置中,使用相同的端口。
  • 如果指定多个端口,需遵循以下规则:

    • 如果包含端口 443,使用方后端会使用端口 443
    • 如果不包含端口 443,使用方后端会使用列表按字母顺序排序后的第一端口。例如,如果您指定端口 80 和端口 1111,则使用端口 1111 的使用方后端。
    • 更改提供方后端使用的端口可能会导致服务使用方服务中断。

      例如,假设您创建了一个公开服务,其中转发规则使用端口 4438443,后端虚拟机在端口 4438443 上做出响应。当使用方后端连接到该服务时,它会使用端口 443 进行通信。

      如果您将后端虚拟机更改为仅在端口 8443 上进行响应,则使用方后端将无法再访问已发布的服务。

  • 请不要使用 --port=ALL。如果使用此配置,使用端口 1 的使用方后端将无法正常运行。

共享 VPC

Service Project Admin 可以在共享 VPC 服务项目中创建连接到共享 VPC 网络中的资源的服务连接。

配置与常规服务连接的配置相同,但以下几点除外:

  • 提供方负载均衡器的转发规则与来自共享 VPC 网络的 IP 地址相关联。转发规则的子网必须与服务项目共享。
  • 服务连接使用来自共享 VPC 网络的 Private Service Connect 子网。此子网必须与服务项目共享。

日志记录

您可以在包含后端虚拟机的子网上启用 VPC 流日志。日志显示 Private Service Connect 子网中后端虚拟机与 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 边界保护。

查看使用方连接信息

默认情况下,Private Service Connect 将使用方的来源 IP 地址转换为服务提供方 VPC 网络中某个 Private Service Connect 子网内的地址。如果您要查看使用方的原始来源 IP 地址,可以在发布服务时启用 PROXY 协议。Private Service Connect 支持 PROXY 协议版本 2。

并非所有服务都支持 PROXY 协议。如需了解详情,请参阅功能和兼容性

如果启用了 PROXY 协议,则可以通过 PROXY 协议标头获取使用方的来源 IP 地址和 PSC 连接 ID (pscConnectionId)。

PROXY 协议标头的格式取决于使用方端点的 IP 版本。如果服务连接的负载均衡器具有 IPv6 地址,则使用方可以同时连接到 IPv4 和 IPv6 地址。将应用配置为接收和读取要接收的 IP 流量版本的 PROXY 协议标头。

对于通过传播的连接流动的使用方流量,使用方的来源 IP 地址和 PSC 连接 ID 是指传播的 Private Service Connect 端点。

为服务连接启用 PROXY 协议时,更改仅会应用于新连接。现有连接不包含 PROXY 协议标头。

如果启用了 PROXY 协议,请查看有关后端 Web 服务器软件的文档,了解如何解析和处理客户端连接 TCP 载荷中的传入 PROXY 协议标头。如果在服务连接上启用了 PROXY 协议,但后端 Web 服务器未配置为处理 PROXY 协议标头,则 Web 请求的格式可能不正确。如果请求格式不正确,则服务器无法解读该请求。

Private Service Connect 连接 ID (pscConnectionId) 以类型-长度-值 (TLV) 格式编码在 PROXY 协议标头中。

字段 字段长度 字段值
类型 1 个字节 0xE0 (PP2_TYPE_GCP)
长度 2 个字节 0x8(8 个字节)
8 个字节 按网络顺序显示的 8 字节 pscConnectionId

您可以通过使用方转发规则提供方服务连接查看 8 字节 pscConnectionId 值。

对于给定时间点的所有活跃连接,pscConnectionId 值在全球范围内都是唯一的。但是,随着时间的推移,在以下情况下可能会重复使用 pscConnectionId

  • 在给定的 VPC 网络中,如果您删除端点(转发规则),并使用相同的 IP 地址创建一个新端点,则可能会使用同一 pscConnectionId 值。

  • 如果您删除包含端点(转发规则)的 VPC 网络,则在等待七天后,用于这些端点的 pscConnectionId 值可能会用于另一个 VPC 网络中的其他端点。

您可以将 pscConnectionId 值用于调试,以及跟踪数据包的来源。

您可以从提供方服务连接获取单独的 16 字节 Private Service Connect 服务连接 ID (pscServiceAttachmentId)。pscServiceAttachmentId 值是用于标识 Private Service Connect 服务连接的全局唯一 ID。您可以使用 pscServiceAttachmentId 值来获得可见性及执行调试。此值不会包含在 PROXY 协议标头中。

价格

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

配额

可访问提供方 VPC 网络的任何使用方发起的 Private Service Connect 端点和传播连接的总数由 PSC ILB consumer forwarding rules per producer VPC network 配额 控制。

即使关联的服务连接被删除或配置为拒绝连接,端点也会计入此配额,直到被删除为止。即使 Network Connectivity Center hub 上停用了连接传播或传播连接的 spoke 被删除,传播连接也会计入此配额,直到关联的端点被删除为止。

本地访问

Private Service Connect 服务通过端点提供。这些端点可以从支持的已连接本地主机进行访问。如需了解详情,请参阅从本地主机访问端点

限制

已发布服务具有以下限制:

如需了解问题和解决方法,请参阅已知问题