Elastic Load Balancing 会自动将传入流量分配到一个或多个可用区域中的多个目标,例如EC2实例、容器和 IP 地址。
在 AWS 平台上,Elastic Load Balancing 总共有四种类型,它们分别是 Application Load Balancer(ALB)、Network Load Balancer(NLB)、Gateway Load Balancer(GLB)、Classic Load Balancer(CLB)。
工作在第 7 层(应用层);目标类型可以为IP、实例、Lambda;协议侦听器为HTTP、HTTPS、gRPC;支持重定向、会话恢复等高级功能。这种类型是 AWS 最为推荐的类型。
当需要为具有HTTP和HTTPS流量的应用程序设置灵活的功能时,需要选择应用程序负载平衡器。应用程序负载均衡器在请求级别运行,提供针对应用程序架构(包括微服务和容器)的高级路由和可见性功能。
工作在第4层(传输层);目标类型可以为IP、实例、Application Load Balancer;协议侦听器为TCP、UDP、TLS;它每秒可以处理数百万个请求。
当需要超高性能、大规模TLS卸载、集中式证书部署、UDP支持和应用程序的静态IP地址时,请选择网络负载均衡器。网络负载均衡器在连接级别运行,能够安全地处理每秒数百万个请求,同时保持超低延迟。
工作在第 3 层(网络层)和 传输层( 第 4 层),目标类型为IP、实例;协议侦听器为 IP;它监听所有端口上的所有 IP 数据包,并将流量转发到监听程序规则中指定的目标组。
Gateway Load Balancers 用来部署、扩展和管理虚拟设备。
工作在第 4 层(传输层)或者第 7 层(应用层);协议侦听器为 TCP、SSL/TLS、HTTP、HTTPS。如果现有应用程序构建于 EC2-Classic 网络内,则应使用 Classic Load Balancer。
使用经典负载均衡器而不是应用程序负载均衡器的好处在于:支持 SSL/TLS、支持应用程序生成的 cookie 的粘性会话。