Elastic Load Balancing 经典2009年〜
将流量自动分发到多台服务器以提高可用性和容错性的服务
它能做什么
Elastic Load Balancing (ELB) 是将接收到的流量 (访问) 自动分发到多个 EC2 实例或容器等目标的服务。防止负载集中在单台服务器上,当某台服务器发生故障时其他服务器接管处理,从而提高应用的可用性和容错性。根据流量自动扩缩容。
使用场景
适用于 Web 应用的负载均衡、微服务间的流量控制、SSL/TLS 终止处理的集中化、蓝绿部署的实现、与 Auto Scaling 结合的自动扩缩容配置等多服务器系统的基础设施。
日常类比
可以将其比作餐厅的接待员。当客人 (请求) 到来时,接待员 (负载均衡器) 将其引导到空闲的餐桌 (服务器)。均匀分配避免某张桌子客满,即使某张桌子不可用也继续引导到其他桌子。
什么是 Elastic Load Balancing
Elastic Load Balancing 是 AWS 提供的全托管负载均衡服务。负载均衡器是将客户端请求分发到多个后端服务器的设备。ELB 根据流量自动扩缩容,能应对突发的访问增长。健康检查功能自动检测异常目标,仅向正常目标发送流量。
负载均衡器类型
ELB 有 3 种类型。Application Load Balancer (ALB) 针对 HTTP/HTTPS 流量优化,支持基于 URL 路径和主机名的路由,是 Web 应用最常用的类型。Network Load Balancer (NLB) 处理 TCP/UDP 流量,具有超低延迟和每秒数百万请求的处理能力。Gateway Load Balancer (GWLB) 用于与第三方网络设备的集成。
与 Auto Scaling 的配合
ELB 与 Auto Scaling 结合可构建真正弹性的系统。Auto Scaling 根据流量自动增减 EC2 实例数量,ELB 自动将流量分发到新添加的实例。这种组合在高峰期用足够的服务器处理,闲时减少服务器降低成本。 有关与 Auto Scaling 配合的实务技巧,也可参阅 相关书籍 (Amazon)。
入门指南
要开始使用 ELB,在 EC2 控制台的负载均衡器部分点击「创建负载均衡器」。选择类型 (ALB、NLB、GWLB),设置监听器 (接收端口) 和目标组 (分发目标)。在目标组中注册 EC2 实例后,即可通过负载均衡器的 DNS 名称访问。
注意事项
- ALB and NLB have different pricing models, so choose the right type for your use case
- Improperly configured health checks can cause healthy instances to be marked as unhealthy, preventing traffic from reaching them
- For HTTPS, you can obtain free SSL/TLS certificates from AWS Certificate Manager (ACM) and configure them on the load balancer