本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是网络负载均衡器?
Elastic Load Balancing 会自动将您的传入流量分配到一个或多个可用区域中的多个目标,例如EC2实例、容器和 IP 地址。它会监控已注册目标的运行状况,并仅将流量传输到运行状况良好的目标。弹性负载均衡 根据传入流量随时间的变化对负载均衡器进行扩展。它可以自动扩展来处理绝大部分工作负载。
弹性负载均衡 支持以下负载均衡器:Application Load Balancer、Network Load Balancer、Gateway Load Balancer 和经典负载均衡器。您可以选择最适合自己需求的负载均衡器类型。本指南讨论的是网络负载均衡器。有关其他负载均衡器的更多信息,请参阅 Application Load Balancer 用户指南、Gateway Load Balancer 用户指南和 经典负载均衡器用户指南。
网络负载均衡器组件
负载均衡器充当客户端的单一接触点。负载均衡器将传入流量分配到多个目标,例如 Amazon EC2 实例。这将提高应用程序的可用性。可以向您的负载均衡器添加一个或多个侦听器。
侦听器使用您配置的协议和端口检查来自客户端的连接请求,然后将请求转发给目标组。
目标组使用您指定的协议和端口号将请求路由到一个或多个已注册的目标,例如EC2实例。Network Load Balancer 目标组支持UDP、、TCP _ 和TLS协议。TCP UDP您可以向多个目标组注册一个目标。您可以对每个目标组配置运行状况检查。在注册到目标组 (它是使用负载均衡器的侦听器规则指定的) 的所有目标上,执行运行状况检查。
有关更多信息,请参阅 文档:
网络负载均衡器概述
Network Load Balancer 在开放系统互联 (OSI) 模型的第四层运行。它每秒可以处理数百万个请求。在负载均衡器收到连接请求后,它会从默认规则的目标组中选择一个目标。它尝试在监听器配置中指定的端口上打开与所选目标的TCP连接。
当您为负载均衡器启用可用区时,Elastic Load Balancing 会在该可用区中创建一个负载均衡器节点。默认情况下,每个负载均衡器节点仅在其可用区中的已注册目标之间分配流量。如果您启用了跨可用区负载均衡,则每个负载均衡器节点会在所有启用的可用区中的已注册目标之间分配流量。有关更多信息,请参阅 更新 Network Load Balancer 的可用区域。
要提高应用程序的容错能力,您可以为负载均衡器启用多个可用区,并确保每个目标组在每个启用的可用区中至少有一个目标。例如,如果一个或多个目标组在可用区中没有健康的目标,我们会从中删除相应子网的 IP 地址DNS,但其他可用区中的负载均衡器节点仍可用于路由流量。如果客户端不遵守 time-to-live (TTL),并在从 IP 地址中删除后向其发送请求DNS,则请求将失败。
对于TCP流量,负载均衡器使用基于协议、源 IP 地址、源端口、目标 IP 地址、目标端口和TCP序列号的流哈希算法选择目标。来自客户端的TCP连接具有不同的源端口和序列号,并且可以路由到不同的目标。在TCP连接生命周期内,每个单独的连接都被路由到一个目标。
对于UDP流量,负载均衡器使用基于协议、源 IP 地址、源端口、目标 IP 地址和目标端口的流哈希算法选择目标。一个UDP流具有相同的源和目的地,因此它在其整个生命周期中始终如一地路由到单个目标。不同的UDP流量具有不同的源 IP 地址和端口,因此它们可以路由到不同的目标。
Elastic Load Balancing 将为启用的每个可用区创建一个网络接口。可用区内的每个负载均衡器节点使用该网络接口来获取一个静态 IP 地址。在您创建面向 Internet 的负载均衡器时,可以选择将一个弹性 IP 地址与每个子网关联。
在创建目标组时,指定其目标类型,此类型将确定您如何注册其目标。例如,您可以注册实例IDs、IP 地址或 Application Load Balancer。目标类型还会影响是否会保留客户端 IP 地址。有关更多信息,请参阅 客户端 IP 保留。
可以根据需求变化在负载均衡器中添加和删除目标,而不会中断应用程序的整体请求流。弹性负载均衡 根据传输到应用程序的流量随时间的变化对负载均衡器进行扩展。弹性负载均衡 能够自动扩展来处理绝大部分工作负载。
您可以配置运行状况检查,这些检查可用来监控注册目标的运行状况,以便负载均衡器只能将请求发送到正常运行的目标。
有关更多信息,请参阅 弹性负载均衡 用户指南中的 Elastic Load Balancing 工作原理
从经典负载均衡器迁移的好处
使用网络负载均衡器而不是经典负载均衡器具有以下好处:
-
可以处理急剧波动的工作负载,并可以扩展到每秒处理数百万个请求。
-
支持将静态 IP 地址用于负载均衡器。还可以针对为负载均衡器启用的每个子网分配一个弹性 IP 地址。
-
Support 支持按 IP 地址注册目标,包括负载均衡器外部的目标。VPC
-
Support 支持将请求路由到单个EC2实例上的多个应用程序。可以使用多个端口向同一个目标组注册每个实例或 IP 地址。
-
支持容器化的应用程序。Amazon 弹性容器服务 (AmazonECS) 可以在计划任务时选择未使用的端口,并使用此端口向目标组注册任务。这样可以高效地使用您的群集。
-
Support 支持独立监控每项服务的运行状况,因为运行状况检查是在目标群体级别定义的,而许多 Amazon CloudWatch 指标是在目标群体级别报告的。将目标组挂载到 Auto Scaling 组的功能使您能够根据需求动态扩展每个服务。
要详细了解每种负载均衡器类型支持的功能,请参阅 弹性负载均衡 产品比较
开始使用
要使用创建 Network Load Balancer AWS Management Console,请参阅Network Load Balancers 入门。要使用创建 Network Load Balancer AWS Command Line Interface,请参阅 开始使用网络负载均衡器 AWS CLI
有关常见负载均衡器配置的演示,请参阅 Elastic Load Balancing 演示
定价
有关更多信息,请参阅网络负载均衡器定价