产品比较
您可以根据自己的应用程序需求选择合适的负载均衡器。如果您需要灵活的应用程序管理,我们建议您使用 Application Load Balancer。如果您的应用程序需要极高的性能和静态 IP,我们建议您使用网络负载均衡器。如果您有在 EC2-Classic 网络中构建的现有应用程序,则应使用 Classic Load Balancer。
功能 | Application Load Balancer | 网络负载均衡器 | Gateway Load Balancer | Classic Load Balancer |
---|---|---|---|---|
负载均衡器类型 | 第 7 层 | 第 4 层 | 第 3 层网关 + 第 4 层负载均衡 | 第 4/7 层 |
目标类型 | IP、实例、Lambda | IP、实例、Application Load Balancer | IP、实例 | |
终止流程/代理行为 | 是 | 是 | 否 | 是 |
协议侦听器 | HTTP、HTTPS、gRPC | TCP、UDP、TLS | IP | TCP、SSL/TLS、HTTP、HTTPS |
访问方式 | VIP | VIP | 路由表条目 | |
第 7 层 | ||||
重新导向 | ✔ | |||
固定响应 | ✔ | |||
不同步缓解模式 | ✔ | |||
基于 HTTP 标头的路由 | ✔ | |||
HTTP2/gRPC | ✔ | |||
常见配置和特性 | ||||
慢启动 | ✔ | |||
本地区域 | ✔ | |||
IP 地址 - 静态、弹性 | ✔ | |||
Connection draining(取消注册延迟) | ✔ | ✔ | ✔ | ✔ |
可配置的空闲连接超时 | ✔ | ✔ | ||
PrivateLink 支持 | ✔(TCP、TLS) | ✔ (GWLBE) | ||
区域隔离 | ✔ | ✔ | ||
会话恢复 | ✔ | ✔ | ||
长期使用的 TCP 连接 | ✔ | ✔ | ||
对同一实例上的多个端口进行负载均衡 | ✔ | ✔ | ✔ | |
负载均衡器删除保护 | ✔ | ✔ | ✔ | |
保留源 IP 地址 | ✔ | ✔ | ✔ | |
WebSockets | ✔ | ✔ | ✔ | |
支持的网络/平台 | VPC | VPC | VPC | EC2-Classic、VPC |
跨区域负载均衡 | ✔ | ✔ | ✔ | ✔ |
IAM 权限(资源,基于标签) | ✔ | ✔ | ✔ | ✔(仅基于资源) |
流量粘性(流的所有数据包都发送到一个目标,且返回流量来自同一个目标) |
对称 |
对称 |
对称 |
对称 |
目标失败行为 |
目标关闭失效,除非所有目标都运行状况不佳(失效开放) | 目标关闭失效,除非所有目标都运行状况不佳(失效开放) | 现有流量继续流向现有的目标设备,新的流量将重新路由到运行状况良好的目标设备。 | |
运行状况检查 | HTTP、HTTPS、gRPC | TCP、HTTP、HTTPS | TCP、HTTP、HTTPS | TCP、SSL/TLS、HTTP、HTTPS |
安全性 | ||||
安全组 | ✔ | ✔ | ✔ | |
SSL 卸载 | ✔ | ✔ | ✔ | |
服务器名称指示 (SNI) | ✔ | ✔ | ||
后端服务器加密 | ✔ | ✔ | ✔ | |
用户身份验证 | ✔ | |||
自定义安全策略 | ✔ | |||
ALPN | ✔ | ✔ | ||
Kubernetes 控制器 | ||||
Direct-to-pod | ✔ | ✔ (Fargate pod) | ||
负载均衡到多个命名空间 | ✔ | |||
支持完全私有的 EKS 集群 | ✔ | ✔ | ||
日志记录和监控 | ||||
CloudWatch 指标 | ✔ | ✔ | ✔ | ✔ |
日志记录 | ✔ | ✔ | ✔ | ✔ |
安全性
您可以创建和管理与弹性负载均衡关联的安全组,以便为应用程序负载均衡器、网络负载均衡器和经典负载均衡器提供其他联网和安全选项。您可以将任何负载均衡器配置为面向 Internet 的负载均衡器,也可以创建一个没有公有 IP 地址的负载均衡器作为内部(非面向 Internet 的)负载均衡器。
高可用性
Elastic Load Balancer 具有高度可用性。您可以在单个可用区或多个可用区中的 Amazon EC2 实例之间分配传入流量。Elastic Load Balancer 会自动扩展其请求处理容量以响应传入的应用程序流量。为确保您的目标可用且运行良好,Elastic Load Balancer 以可配置的节奏对目标进行运行状况检查。
高吞吐量
Elastic Load Balancer 旨在随着流量的增长处理流量,并且每秒可以对数百万个请求进行负载均衡。它还可以处理突然波动的流量模式。
运行状况检查
Elastic Load Balancer 仅将流量路由到运行良好的目标,例如 EC2 实例、容器、IP 地址、微服务、Lambda 函数和设备。借助 Elastic Load Balancing,您可以通过两种方式更深入地了解应用程序的运行状况:(1) 运行状况检查改进,使您能够配置详细的错误代码。通过运行状况检查,您可以监控负载均衡器背后的每项服务的运行状况;(2) 新指标,用于深入了解 EC2 实例上运行的每项服务的流量。
粘性会话
粘性会话是一种将来自同一客户端的请求路由到同一目标的机制。Elastic Load Balancer 支持粘性会话。粘性是在目标组级别定义的。
运营监控和日志记录
Amazon CloudWatch 会报告 Application Load Balancer 和 Classic Load Balancer 指标,例如请求计数、错误计数、错误类型、请求延迟等。Amazon CloudWatch 还会跟踪网络负载均衡器和网关负载均衡器指标,例如活动流量计数、新流量计数、已处理字节数等。Elastic Load Balancer 还与 Amazon CloudTrail 集成,后者可以跟踪对 ELB 的 API 调用。
删除保护
您可以在 Elastic Load Balancer 上启用删除保护,以防止其被意外删除。