Cloud Load Balancing 概览

负载平衡器在应用的多个实例间分配用户流量。负载平衡通过分散负载,降低应用过载、速度缓慢或无法运行的风险。

负载平衡的简单概览(点击放大)
负载平衡的简单概览(点击放大)

关于 Cloud Load Balancing

使用 Cloud Load Balancing,您可以通过每秒可响应超过 100 万次查询的系统在尽可能接近用户的位置传送内容。

Cloud Load Balancing 是一项通过软件定义的完全分布式托管服务。它并非基于硬件,因此您无需管理物理负载平衡基础架构。

Google Cloud 提供以下负载平衡功能:

  • 使用单一 IP 地址作为前端
  • 智能地自动扩缩后端
  • 当用户通过互联网访问您的应用时提供外部负载平衡
  • 当您的客户端位于 Google Cloud 内部时提供内部负载平衡
  • 当您的应用可在单个区域内使用时提供区域负载平衡
  • 当您的应用可在全球范围内使用时提供全球负载平衡
  • 直通式负载平衡(另请参阅直接服务器返回 (DSR) 或直接路由
  • 基于代理的负载平衡(作为传递负载平衡的替代方案)
  • 基于第 4 层的负载平衡,根据来自网络和传输层协议的数据(例如 IP 地址和 TCP 或 UDP 端口)来定向流量
  • 基于第 7 层的负载平衡,根据特性(例如 HTTP 标头和统一资源标识符)添加基于内容的路由决策
  • Cloud CDN 集成,实现缓存内容传送

如需了解更多功能,请参阅负载平衡器功能

Cloud Load Balancing 类型

下表总结了每种 Google Cloud 负载平衡器的特征,包括该负载平衡器是使用内部 IP 地址还是外部 IP 地址,该负载平衡器用于区域还是全球,以及支持的 Network Service Tiers 和流量类型。

内部还是外部 区域还是全球 支持的网络层级 代理还是直通 流量类型 负载平衡器类型
内部 区域 仅优质 直通 TCP 或 UDP 内部 TCP/UDP
区域 仅优质 代理 HTTP 或 HTTPS 内部 HTTP(S)
外部 区域 优质或标准 直通 TCP 或 UDP TCP/UDP 网络
优质层级为全球

标准层级实际为区域1
优质或标准 代理 TCP TCP 代理
优质或标准 代理 SSL SSL 代理
优质或标准 代理 HTTP 或 HTTPS 外部 HTTP(S)

1“实际为区域”表示,虽然后端服务是全球的,但如果选择标准层级,外部转发规则和外部 IP 地址必须是区域的,并且连接到全球后端服务的后端实例组或网络端点组 (NEG) 必须与转发规则和 IP 地址处于同一区域中。如需了解详情,请参阅为 HTTP(S) 负载平衡、TCP 代理负载平衡和 SSL 代理负载平衡配置标准层级

全球负载平衡与区域负载平衡

如果您的后端分布在多个区域,您的用户需要访问相同的应用和内容,并且您希望使用单个任播 IP 地址提供访问权限,应选用全球负载平衡。全球负载平衡还可以提供 IPv6 终止服务。

如果您的后端位于一个区域,并且您只需要 IPv4 终止服务,应选用区域负载平衡

外部负载平衡与内部负载平衡

Google Cloud 的负载平衡器可分为外部负载平衡器和内部负载平衡器两类:

  • 外部负载平衡器将来自互联网的流量分配到您的 Google Cloud Virtual Private Cloud (VPC) 网络。对于全球负载平衡,您需要使用 Network Service Tiers 的优质层级。对于区域负载平衡,您可以使用标准层级。

  • 内部负载平衡器将流量分配给 Google Cloud 中的实例。

外部和内部负载平衡类型(点击放大)
外部和内部负载平衡类型(点击放大)

下图演示了一种常见使用场景,即结合使用外部和内部负载平衡。在此图中,来自旧金山、爱荷华州和新加坡用户的流量被定向到一个外部负载平衡器,该负载平衡器将这些流量分配到 Google Cloud 网络中的不同区域。然后,内部负载平衡器在 us-central-1aus-central-1b 地区之间分配流量。

外部和内部负载平衡如何协同工作(点击放大)
外部和内部负载平衡如何协同工作(点击放大)

流量类型

在确定要使用哪种负载平衡器时,您还需要考虑一个因素,那就是您需要负载平衡器处理哪类流量:

  • 如果是 HTTP 和 HTTPS 流量,请使用:
    • 外部 HTTP(S) 负载平衡
    • 内部 HTTP(S) 负载平衡
  • 如果是 TCP 流量,请使用:
    • TCP 代理负载平衡
    • 网络负载平衡
    • 内部 TCP/UDP 负载平衡
  • 如果是 UDP 流量,请使用:
    • 网络负载平衡
    • 内部 TCP/UDP 负载平衡

后端区域和网络

下表总结了对处于不同 VPC 网络中的后端的支持。该表还提供了有关多 NIC 负载平衡支持的信息。

负载平衡器类型 后端区域和网络 多 NIC 相关备注
内部 TCP/UDP 负载平衡器 所有后端必须与后端服务在同一 VPC 网络和区域内。后端服务还必须与转发规则在同一区域和 VPC 网络中。 通过使用多个负载平衡器,它可以对同一后端的多个 NIC 进行负载平衡
内部 HTTP(S) 负载平衡器 所有后端必须与后端服务在同一 VPC 网络和区域内。后端服务还必须与转发规则在同一区域和 VPC 网络中。 后端虚拟机的 nic0 必须在转发规则使用的网络和区域中。
外部 HTTP(S) 负载平衡器、SSL 代理负载平衡器、TCP 代理负载平衡器 在优质层级中:后端可以位于任何区域的任何 VPC 网络中。

在标准层级中:后端必须与转发规则在同一区域,但可以位于任何 VPC 网络中。
负载平衡器仅将流量发送到 nic0 所属的任一 VPC 网络的第一个网络接口 (nic0)。

防火墙规则

下表汇总了负载平衡器访问权限所需的最低防火墙规则。

负载平衡器类型 所需的最低入站允许防火墙规则 概览 示例
外部 HTTP(S) 负载平衡
  • 运行状况检查范围
概览 示例
内部 HTTP(S) 负载平衡
  • 运行状况检查范围
  • 代理专用子网
概览 示例
内部 TCP/UDP 负载平衡
  • 运行状况检查范围
  • 客户端的内部来源 IP 地址
概览 示例
SSL 代理负载平衡
  • 运行状况检查范围
概览 示例
TCP 代理负载平衡
  • 运行状况检查范围
概览 示例
网络负载平衡
  • 运行状况检查范围
  • 互联网上客户端的外部来源 IP 地址
    (例如 0.0.0.0/0 或一组特定范围)
概览 示例

Google Cloud 负载平衡器的底层技术

本部分详细介绍各类 Google Cloud 负载平衡器,包括跳转至概览文档的链接,以便您更深入地了解相关信息。

外部和内部负载平衡类型及底层技术(点击放大)
外部和内部负载平衡类型及底层技术(点击放大)
  • Google 前端 (GFE) 是位于 Google 入网点 (PoP) 的软件定义分布式系统,可与其他系统和控制层面协同执行全球负载平衡。
  • Andromeda 是 Google Cloud 的软件定义网络虚拟化堆栈。
  • Maglev 是用于网络负载平衡的分布式系统。
  • Envoy 代理是专为云原生应用设计的开源边缘和服务代理。

内部 HTTP(S) 负载平衡

内部 HTTP(S) 负载平衡建立在 Andromeda 网络虚拟化堆栈上,是基于开源 Envoy 代理的托管式服务。此负载平衡器为第 7 层应用数据提供基于代理的负载平衡。您可以使用网址映射来指定流量路由方式。 该负载平衡器使用一个专用 IP 地址作为后端实例的前端。

外部 HTTP(S) 负载平衡

HTTP(S) 负载平衡是以 GFE 为基础实现的。这些 GFE 分布于全球各地,可通过 Google 的全球网络和控制层面协同运作。在优质层级中,GFE 可提供跨区域负载平衡,进而将流量定向至运行状况良好、有充足容量的最近后端,并尽可能在离用户最近的位置终止 HTTP(S) 流量。

内部 TCP/UDP 负载平衡

内部 TCP/UDP 负载平衡基于 Andromeda 网络虚拟化堆栈构建而成。借助内部 TCP/UDP 负载平衡,您可以通过只能由内部虚拟机实例访问的专用负载平衡 IP 地址来平衡 TCP/UDP 流量负载。使用内部 TCP/UDP 负载平衡时,系统会配置内部负载平衡 IP 地址作为专用后端实例的前端。因此您的负载平衡服务只需使用内部 IP 地址。总体而言,您的配置会变得更加简单。

内部 TCP/UDP 负载平衡支持区域托管实例组,因此您可以在整个区域内实现自动扩缩,保护您的服务免遭地区故障的影响。

外部 TCP/UDP 网络负载平衡

网络负载平衡基于 Maglev。这种负载平衡器可让您根据传入的 IP 协议数据(如地址、端口和协议类型)来平衡系统的流量负载。它是一种区域非代理负载平衡系统。网络负载平衡适用于处理 UDP 流量,以及 SSL 代理和 TCP 代理负载平衡器不支持的端口上的 TCP 和 SSL 流量。网络负载平衡器是一种直通式负载平衡器,因此它不会代理来自客户端的连接。

SSL 代理负载平衡

SSL 代理负载平衡是以全球分布的 GFE 为基础实现的。如果您选择 Network Service Tiers 的优质层级,SSL 代理负载平衡器将面向全球。在优质层级中,您可以在多个区域部署后端,该负载平衡器会自动将用户流量定向到有处理能力的最近区域。如果您选择标准层级,SSL 代理负载平衡器只能在单个区域的各后端之间引导流量。

TCP 代理负载平衡

TCP 代理负载平衡是以全球分布的 GFE 为基础实现的。如果您选择 Network Service Tiers 的优质层级,TCP 代理负载平衡器将是全球的。在优质层级中,您可以在多个区域部署后端,该负载平衡器会自动将用户流量定向到有处理能力的最近区域。如果您选择标准层级,TCP 代理负载平衡器只能在单个区域的各后端之间引导流量。

后续步骤

  • 如需帮助确定哪个 Google Cloud 负载平衡器最符合您的需求,请参阅选择负载平衡器