外部 TCP/UDP 网络负载平衡概览

Google Cloud 外部 TCP/UDP 网络负载平衡(此后称为网络负载平衡)是区域级的直通式负载平衡器。网络负载平衡器在同一区域中的虚拟机实例之间分配 TCP 或 UDP 流量。

网络负载平衡器可以接收以下来源的流量:

  • 互联网上的任何客户端
  • 具有外部 IP 的 Google Cloud 虚拟机
  • 可通过 Cloud NAT 或基于实例的 NAT 访问互联网的 Google Cloud 虚拟机

网络负载平衡具有以下特点:

  • 网络负载平衡是一项代管式服务。
  • 网络负载平衡是使用 Andromeda 虚拟网络Google Maglev 实现的。
  • 网络负载平衡器不是代理。
    • 经过负载平衡的数据包由后端虚拟机接收,并且数据包的来源 IP 保持不变。
    • 经过负载平衡的连接由后端虚拟机终止。
    • 来自后端虚拟机的响应直接发送到客户端,而不是通过负载平衡器返回。其行业术语称为直接服务器返回

下图展示了加利福尼亚、纽约和新加坡的用户。他们均连接到后端资源(myapp、test 和 travel)。当新加坡的用户连接到美国西部后端时,流量会进入离新加坡最近的区域,因为范围是任播的。然后,流量将路由到地区后端。

三个地区后端和三个转发规则(点击放大)
网络负载平衡示例(点击放大)

协议、方案和范围

每个网络负载平衡器要么支持 TCP 流量,要么支持 UDP 流量。

网络负载平衡器会平衡来自互联网的流量。

网络负载平衡器按地区划分范围,而非全球范围。这意味着网络负载平衡器不能跨多个区域。负载平衡器可以为一个区域内的所有可用区提供服务。

使用场景

在以下情况可使用网络负载平衡:

  • 您需要对非 TCP 流量进行负载平衡,或者需要对其他负载平衡器不支持的 TCP 端口进行负载平衡。
  • 可以通过后端解密 SSL 流量,但负载平衡器不可以。网络负载平衡器无法执行此任务。当后端解密 SSL 流量时,虚拟机的 CPU 负担增大。
  • 您可以自行管理后端虚拟机的 SSL 证书。由 Google 管理的 SSL 证书仅适用于 HTTP(S) 负载平衡和 SSL 代理负载平衡。
  • 您需要转发未被代理的原始数据包。 例如,您需要保留客户端来源 IP 地址。
  • 您的现有设置使用直通式负载平衡器,您希望原封不动地将它迁移。

架构

网络负载平衡器的架构取决于您是使用基于后端服务的网络负载平衡器还是基于目标池的网络负载平衡器。

  • 基于后端服务的网络负载平衡器。可以使用区域后端服务创建新的网络负载平衡器,后端服务定义负载平衡器的行为以及它如何将流量分配到其后端实例组。后端服务可实现旧版目标池不支持的新功能,例如支持非旧版运行状况检查(TCP、SSL、HTTP、HTTPS 或 HTTP/2)、使用代管式实例组进行自动扩缩、连接排空和可配置的故障转移政策

    此选项目前为预览版

  • 基于目标池的网络负载平衡器。之前,网络负载平衡器的唯一选择是基于目标池的网络负载平衡器。目标池是 Google Cloud 的网络负载平衡器支持的旧版后端。目标池定义了一组应从负载平衡器接收传入流量的实例。

    如需了解详情,请参阅使用目标池后端的网络负载平衡器。此选项通常受支持。

比较网络负载平衡和其他 Google Cloud 负载平衡器

如需了解各种 Google Cloud 负载平衡器之间的具体区别,请参阅以下文档: