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

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

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

您可以为 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量配置网络负载均衡器。

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

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

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

  • 网络负载均衡是一项代管式服务。
  • 网络负载均衡是使用 Andromeda 虚拟网络Google Maglev 实现的。
  • 网络负载均衡器不是代理。
    • 经过负载均衡的数据包由具有数据包的来源和目的地 IP 地址、协议的后端虚拟机接收,并且如果协议基于端口,则来源和目的地端口保持不变。
    • 经过负载均衡的连接由后端虚拟机终止。
    • 来自后端虚拟机的响应直接发送到客户端,而不是通过负载均衡器返回。其行业术语称为直接服务器返回 (DSR)

下图展示了其转发规则具有 IP 地址 120.1.1.1 的网络负载均衡器。网络负载均衡器在 us-central1 区域中配置,其后端位于同一区域。

网络负载均衡器是区域级资源,并且仅支持与其配置的前端位于同一区域的后端。但是,无论负载均衡器的 IP 地址是高级层级还是标准层级,发送到网络负载均衡器的数据包仍可从互联网的任何位置发送。 如果负载均衡器的 IP 地址是高级层级,流量会经由 Google 的高品质全球主干网,使数据包在离客户端最近的 Google 边缘对接点进入和离开 Google 网络。如果负载均器的 IP 地址是标准层级,则流量会在离配置负载均衡器的 Google Cloud 区域最近的对接点进入和离开 Google 网络。

在下图中,流量从一名位于新加坡的用户路由到 us-central1 中的网络负载均衡器(转发规则 IP 地址 120.1.1.1)。

位于 asia-southeast1 附近的新加坡用户访问 us-central1 区域中的网络负载均衡器。
新加坡用户的网络负载均衡示例(点击可放大)

在下图中,流量从一名位于爱荷华州的用户路由到 us-central1 中的网络负载均衡器(转发规则 IP 地址 120.1.1.1)。

位于 us-central1 附近的爱荷华州用户访问同一 us-central1 区域中的网络负载均衡器。
爱荷华州用户的网络负载均衡示例(点击可放大)

范围

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

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

使用场景

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

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

GKE 应用的负载均衡

如果要在 GKE 中构建应用,我们建议您使用内置的 GKE 服务控制器,该控制器代表 GKE 用户部署 Google Cloud 负载均衡器。这与独立负载均衡架构相同,只不过其生命周期完全由 GKE 完全自动化并进行控制。

相关 GKE 文档:

架构

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

基于后端服务的网络负载均衡器

您可以使用区域后端服务来创建网络负载均衡器,该后端服务定义负载均衡器的行为,以及将流量分配给其后端实例组的方式。后端服务可实现旧版目标池不支持的功能,例如支持非旧版健康检查(TCP、SSL、HTTP、HTTPS 或 HTTP/2)、使用代管式实例组进行自动扩缩、连接排空和可配置的故障切换政策

基于后端服务的网络负载均衡器支持 IPv4 和 IPv6 流量。它们可以对 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量进行负载均衡。您还可以使用基于来源 IP 地址的流量导向将流量定向到特定后端。

如需了解架构详情,请参阅使用区域后端服务的网络负载均衡器

此外,您也可以将现有基于目标池的网络负载均衡器转换为使用后端服务。如需查看相关说明,请参阅将网络负载均衡器从目标池转换到后端服务

基于目标池的网络负载均衡器

目标池是 Google Cloud 的网络负载均衡器支持的旧版后端。目标池定义了一组应从负载均衡器接收传入流量的实例。

基于目标池的网络负载均衡器支持 TCP 或 UDP 流量。基于目标池的网络负载均衡器的转发规则仅支持外部 IPv4 地址。

如需了解架构详情,请参阅使用目标池后端的网络负载均衡器

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

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