Elastic Load Balancing
Network Load Balancer
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

什么是网络负载均衡器?

Elastic Load Balancing 支持以下类型的负载均衡器:Application Load Balancer、Network Load Balancer 和 Classic Load Balancer。本指南讨论 Network Load Balancer。有关其他负载均衡器的更多信息,请参阅 Application Load Balancer 用户指南Classic Load Balancer 用户指南

网络负载均衡器 组件

负载均衡器 充当客户端的单一接触点。负载均衡器在多个目标 (如 Amazon EC2 实例) 之间分配传入的流量。这将提高应用程序的可用性。可以向您的负载均衡器添加一个或多个侦听器。

侦听器 使用您配置的协议和端口检查来自客户端的连接请求,然后将请求转发给目标组。

每个 目标组 使用您指定的 TCP 协议和端口号,再将请求路由到一个或多个注册目标,例如 EC2 实例。您可以向多个目标组注册一个目标。您可以对每个目标组配置运行状况检查。在注册到目标组 (它是使用负载均衡器的侦听器规则指定的) 的所有目标上,执行运行状况检查。

有关更多信息,请参阅以下文档:

网络负载均衡器 概述

网络负载均衡器在开放系统互连 (OSI) 模型的第四层运行。它每秒可以处理数百万个请求。在负载均衡器收到连接请求后,它会从默认规则的目标组中选择一个目标。它尝试在侦听器配置中指定的端口上打开一个到该选定目标的 TCP 连接。

当您为负载均衡器启用可用区时,Elastic Load Balancing 会在该可用区中创建一个负载均衡器节点。默认情况下,每个负载均衡器节点仅在其可用区中的已注册目标之间分配流量。如果您启用了跨区域负载均衡,则每个负载均衡器节点会在所有启用的可用区中的已注册目标之间分配流量。有关更多信息,请参阅 Elastic Load Balancing 用户指南 中的跨区域负载均衡

如果为负载均衡器启用多个可用区,并确保每个目标组在每个启用的可用区中至少有一个目标,那么这将提高应用程序的容错能力。例如,如果一个或多个目标组在可用区中没有运行状况良好的目标,我们会从 DNS 中删除相应子网的 IP 地址,但其他可用区中的负载均衡器节点仍可用于路由流量。如果一个客户端不遵守生存时间 (TTL) 而将请求发送到已从 DNS 删除的 IP 地址,则请求会失败。

负载均衡器节点基于协议、源 IP 地址、源端口、目标 IP 地址、目标端口和 TCP 序列号,使用流式哈希算法选择目标。来自客户端的 TCP 连接具有不同的源端口和序列号,可以路由到不同的目标。每个单独的 TCP 连接在连接的有效期内路由到单个目标。

Elastic Load Balancing 为您启用的每个可用区创建一个网络接口。可用区内的每个负载均衡器节点使用该网络接口来获取一个静态 IP 地址。在您创建面向 Internet 的负载均衡器时,可以选择将一个弹性 IP 地址与每个子网关联。

您可以配置一个目标组,以便通过实例 ID 或 IP 地址注册目标。如果您使用实例 ID 指定目标,则客户端的源 IP 地址将保留并提供给您的应用程序。如果您用 IP 地址指定目标,则源 IP 地址是负载均衡器节点的私有 IP 地址。

可以根据需求变化在负载均衡器中添加和删除目标,而不会中断应用程序的整体请求流。Elastic Load Balancing 根据传输到应用程序的流量随时间的变化对负载均衡器进行扩展。Elastic Load Balancing 能够自动扩展以处理绝大部分工作负载。

您可以配置运行状况检查,这些检查可用来监控注册目标的运行状况,以便负载均衡器只能将请求发送到正常运行的目标。

有关更多信息,请参阅 Elastic Load Balancing 用户指南 中的 Elastic Load Balancing 工作原理

从 传统负载均衡器迁移的好处

使用 网络负载均衡器 而非 传统负载均衡器 有下列好处:

  • 可以处理急剧波动的工作负载,并可以扩展到每秒处理数百万个请求。

  • 支持将静态 IP 地址用于负载均衡器。还可以针对为负载均衡器启用的每个子网分配一个弹性 IP 地址。

  • 支持通过 IP 地址注册目标,包括位于负载均衡器的 VPC 之外的目标。

  • 支持将请求路由到单个 EC2 实例上的多个应用程序。可以使用多个端口向同一个目标组注册每个实例或 IP 地址。

  • 支持容器化的应用程序。计划任务时,Amazon Elastic Container Service (Amazon ECS) 可以选择一个未使用的端口,并可以使用此端口向目标组注册该任务。这样可以高效地使用您的群集。

  • 支持单独监控每个服务的运行状况,因为运行状况检查是在目标组级别定义的,而且许多 Amazon CloudWatch 指标也是在目标组级别报告的。将目标组挂载到 Auto Scaling 组的功能使您能够根据需求动态扩展每个服务。

有关每个负载均衡器类型支持的功能的更多信息,请参阅 Elastic Load Balancing 产品比较

如何开始

要创建网络负载均衡器,请尝试以下某个教程中介绍的方法:

定价

有关更多信息,请参阅 网络负载均衡器 定价