外部直通式网络负载均衡器概览

外部直通式网络负载均衡器是区域级第 4 层负载均衡器,用于在负载均衡器所在区域中的后端(实例组或网络端点组 (NEG))之间分配外部流量。这些后端必须位于同一区域和项目中,但可以位于不同的 VPC 网络中。

您可以为 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 证书仅适用于外部应用负载均衡器和外部代理网络负载均衡器。
  • 您需要转发未被代理的原始数据包。 例如,您需要保留客户端来源 IP 地址。
  • 您的现有设置使用直通式负载均衡器,您希望原封不动地将它迁移。
  • 您需要对外部直通式网络负载均衡器进行高级网络 DDoS 防护。如需了解详情,请参阅使用 Google Cloud Armor 配置高级网络 DDoS 防护

GKE 应用的负载均衡

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

相关 GKE 文档:

架构

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

基于后端服务的外部直通式网络负载均衡器

您可以使用区域级后端服务创建外部直通式网络负载均衡器,该后端服务定义负载均衡器的行为,以及将流量分配给后端的方式。基于后端服务的外部直通式网络负载均衡器支持 IPv4 和 IPv6 流量、多种协议(TCP、UDP、ESP、GRE、ICMP 和 ICMPv6)、托管式和非托管式实例组后端、使用 GCE_VM_IP 端点的可用区级 NEG 后端(包括支持多个网络接口)、精细的流量分配控制(连接跟踪连接排空流量导向加权负载均衡故障切换政策),并且可让您使用与要分配的流量类型(TCP、SSL、HTTP、HTTPS 或 HTTP/2)匹配的非旧版健康检查。

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

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

基于目标池的外部直通式网络负载均衡器

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

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

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

比较外部直通式网络负载均衡器与其他 Google Cloud 负载均衡器

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