Private Service Connect 端口映射简介

本页面简要介绍了 Private Service Connect 端口映射。

借助 Private Service Connect 端口映射,使用方虚拟机 (VM) 实例可以通过单个 Private Service Connect 端点与特定提供方虚拟机上的特定服务端口进行私密通信。

服务使用方会将流量发送到端点的各种客户端目标端口。Private Service Connect 使用提供方定义的映射,将流量转发到指定的服务端口和提供方虚拟机。在某些网络环境中,此方法也称为端口转发。

端口映射与常规 Private Service Connect

托管式服务通常设计为虚拟机集群,其中不同的虚拟机代表同一服务的不同实例。每个虚拟机都会在相同端口上公开相同的操作。例如,数据库服务可能使用端口 1000 执行数据库读取操作,使用端口 2000 执行数据库写入操作。使用方虚拟机通过定位与服务实例关联的虚拟机上的端口来与特定服务实例通信。

Private Service Connect 端点服务连接之间的常规(负载均衡)连接不适合此情况。借助常规 Private Service Connect 连接,使用方虚拟机会将流量发送到端点 IP 地址的一个或多个端口。所有流量都经过负载均衡,并发送到任何健康状况良好的提供方虚拟机(配置为接收流量的端口的后端)。

相比之下,Private Service Connect 端口映射消除了负载均衡。这种方法可让使用方虚拟机根据接收流量的客户端目标端口来定位特定提供方虚拟机的特定服务端口。

图 1. Private Service Connect 端口映射根据为端口映射 NEG 配置的映射将流量从端点的客户端目标端口转发到提供方虚拟机的服务端口(点击可放大)。

借助 Private Service Connect 端口映射,使用方虚拟机会通过以下过程与特定提供方虚拟机通信:

  1. 使用方虚拟机使用指定的客户端目标端口将数据包发送到端点的 IP 地址。客户端目标端口充当数据包的预期目标虚拟机和端口的唯一标识符。
  2. Private Service Connect 使用接收流量的客户端目标端口的映射来确定数据包的目标位置。
  3. Private Service Connect 将流量转发到目标虚拟机和服务端口。

例如,在图 1 中,数据包按以下方式转发:

  • 发送到端点的客户端目标端口 1001 的数据包会转发到 vm-1 的服务端口 1000
  • 发送到端点的客户端目标端口 1002 的数据包会转发到 vm-1 的服务端口 2000
  • 发送到端点的客户端目标端口 1003 的数据包会转发到 vm-2 的服务端口 1000
  • 发送到端点的客户端目标端口 1004 的数据包会转发到 vm-2 的服务端口 2000

Deployment

部署 Private Service Connect 端口映射连接与为已发布服务部署常规 Private Service Connect 端点连接不同,具体体现在以下方面:

  1. 服务提供方创建端口映射服务。端口映射服务使用端口映射网络端点组 (NEG)。此配置类似于内部直通式网络负载均衡器,但流量不会进行负载均衡。
  2. 服务提供方配置端口映射 NEG 的网络端点,以指定从 Private Service Connect 端点的客户端目标端口到特定提供方虚拟机的服务端口的映射。
  3. 服务提供方创建一个与其端口映射服务的转发规则关联的服务连接。
  4. 服务提供方与服务使用方共享客户端目标端口及其映射。Google Cloud 不会自动处理此操作。
  5. 服务使用方将工作负载配置为通过使用提供方定义的端口映射与托管式服务进行通信。

规格

Private Service Connect 端口映射具有以下规范:

  • Private Service Connect 端口映射连接需要使用方 VPC 网络中的 Private Service Connect 端点,以连接到提供方 VPC 网络中的服务连接。
  • 该服务连接与端口映射服务相关联。端口映射服务的配置方式与内部直通式网络负载均衡器类似,但流量不会进行负载均衡。端口映射服务由以下各项组成:
    • 用于连接到后端服务的转发规则。必须为 TCPUDP 流量配置转发规则。转发规则必须配置为转发所有客户端目标端口的流量,例如,通过在 Google Cloud CLI 中指定 --ports=ALL。不过,您只需在端口映射 NEG 中为您计划使用的客户端目标端口定义映射。
    • 配置为使用端口映射网络端点组 (NEG)后端服务。服务提供方使用端口映射 NEG 的网络端点来定义从 Private Service Connect 端点的客户端目标端口到服务端口和提供方虚拟机组合的唯一映射。
  • 端口映射服务仅会根据在端口映射 NEG 中配置的映射来转发流量,而不会对流量进行负载均衡。
  • 提供方服务必须与使用方共享有效的客户端目标端口及其各自的映射。Private Service Connect 不会与使用方共享此信息。
  • 使用方必须将其工作负载配置为通过使用提供方定义的端口映射与托管式服务进行通信。
  • 无论 Private Service Connect 端点是否配置为使用全球访问权限,Private Service Connect 端口映射都支持这些端点。
  • Private Service Connect 端口映射支持混合访问。使用方的本地工作负载可以通过 Cloud Interconnect 连接或 Cloud VPN 访问 Private Service Connect 端点来到达提供方虚拟机。

限制

  • Private Service Connect 端口映射不支持 IPv6 流量。

  • 连接了端口映射 NEG 的后端服务不支持健康检查。如果后端服务具有端口映射 NEG,验证会阻止配置健康检查。

将负载均衡与 Private Service Connect 端口映射搭配使用

Private Service Connect 端口映射仅会根据接收流量的客户端目标端口来转发流量。如果您要将负载均衡与 Private Service Connect 端口映射搭配使用,则可以执行以下操作:

  • 要求使用方在使用方端实现负载均衡。在使用方虚拟机上运行的软件可以将流量发送到交替的客户端目标端口。
  • 在提供方 VPC 网络中创建第二个服务连接以连接到负载均衡器(而不是端口映射服务)。使用端口映射 NEG 中的虚拟机作为负载均衡器后端服务中的后端。使用方可以将需要进行负载均衡的流量发送到与第二个服务连接关联的端点。

配额

如需了解与 Private Service Connect 端口映射相关的配额和限制,请参阅配额和限制

价格

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

后续步骤