What is a 网络负载均衡器? - Elastic Load Balancing
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

What is a 网络负载均衡器?

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

网络负载均衡器 components

A load balancer 作为客户的单点联系人。负载均衡器在多个目标 (如 Amazon EC2 实例) 之间分配传入的流量。这将提高应用程序的可用性。可以向您的负载均衡器添加一个或多个侦听器。

A listener 使用您配置的协议和端口来检查客户端的连接请求,并将请求转发到目标组。

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

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

网络负载均衡器 overview

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

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

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

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

对于 UDP 流量,负载均衡器基于协议、源 IP 地址、源端口、目标 IP 地址和目标端口,使用流哈希算法选择目标。UDP 流具有相同的源和目标,因此始终在其整个生命周期内路由到单个目标。不同 UDP 流具有不同的源 IP 地址和端口,因此它们可以路由到不同的目标。

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 用户指南.

Benefits of migrating from a 传统负载均衡器

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

  • Ability to handle volatile workloads and scale to millions of requests per second.

  • Support for static IP addresses for the load balancer. You can also assign one Elastic IP address per subnet enabled for the load balancer.

  • Support for registering targets by IP address, including targets outside the VPC for the load balancer.

  • Support for routing requests to multiple applications on a single EC2 instance. You can register each instance or IP address with the same target group using multiple ports.

  • Support for containerized applications. Amazon Elastic Container Service (Amazon ECS) can select an unused port when scheduling a task and register the task with a target group using this port. This enables you to make efficient use of your clusters.

  • Support for monitoring the health of each service independently, as health checks are defined at the target group level and many Amazon CloudWatch metrics are reported at the target group level. Attaching a target group to an Auto Scaling group enables you to scale each service dynamically based on demand.

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

How to get started

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

有关常见负载均衡器配置的演示,请参阅 Elastic Load Balancing 演示

Pricing

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