Elastic Load Balancing features
Layer 7
Feature
|
Application Load Balancer
|
Network Load Balancer
|
Gateway Load Balancer
|
Classic Load Balancer
|
---|---|---|---|---|
Redirects
|
✔ |
- |
- |
- |
Fixed Response
|
✔ |
- |
- |
- |
Desync Mitigation Mode
|
✔ |
- |
- |
- |
HTTP header based routing
|
✔ |
- |
- |
- |
HTTP2/gRPC
|
✔ |
- |
- |
- |
Common configurations and characteristics
Feature
|
Application Load Balancer
|
Network Load Balancer
|
Gateway Load Balancer
|
Classic Load Balancer
|
---|---|---|---|---|
Slow start
|
✔ |
- |
- |
- |
Outpost support
|
✔ |
- |
- |
- |
Local Zone
|
✔ |
- |
- |
- |
IP address - Static, Elastic
|
- |
✔ |
- |
- |
Connection draining (deregistration delay)
|
✔ |
✔ |
✔ |
✔ |
Configurable idle connection timeout
|
✔ |
- |
- |
✔ |
PrivateLink Support
|
- |
✔ (TCP, TLS) |
✔ (GWLBE) |
- |
Zonal Isolation
|
- |
✔ |
✔ |
- |
Session resumption
|
✔ |
✔ |
- |
- |
Long-lived TCP connection
|
- |
✔ |
✔ |
- |
Load Balancing to multiple ports on the same instance
|
✔ |
✔ |
✔ |
- |
Load Balancer deletion protection
|
✔ |
✔ |
✔ |
- |
Preserve Source IP address
|
✔ |
✔ |
✔ |
- |
WebSockets
|
✔ |
✔ |
✔ |
- |
Supported network/Platforms
|
VPC |
VPC |
VPC |
EC2-Classic, VPC |
Cross-zone Load Balancing
|
✔ |
✔ |
✔ |
✔ |
IAM Permissions(Resource, Tag based)
|
✔ |
✔ |
✔ |
✔ (Only resource based) |
Flow Stickiness (All packets of a flow are sent to one target, and return traffic comes from same target)
|
Symmetric |
Symmetric |
Symmetric |
Symmetric |
Target Failure behavior
|
Fail close on targets, unless all targets are unhealthy(fail open) |
Fail close on targets, unless all targets are unhealthy(fail open) |
Existing flows continue to go to existing target appliances, new flows are rerouted to healthy target appliances. |
- |
Health Checks
|
HTTP, HTTPS, gRPC |
TCP, HTTP, HTTPS |
TCP, HTTP, HTTPS |
TCP, SSL/TLS, HTTP, HTTPS |
Security
Feature
|
Application Load Balancer
|
Network Load Balancer
|
Gateway Load Balancer
|
Classic Load Balancer
|
---|---|---|---|---|
Security Groups
|
✔ |
✔ |
- |
✔ |
SSL Offloading
|
✔ |
✔ |
- |
✔ |
Server Name Indication (SNI)
|
✔ |
✔ |
- |
- |
Back-end Server Encryption
|
✔ |
✔ |
- |
✔ |
User Authentication
|
✔ |
- |
- |
- |
Custom Security Policy
|
- |
- |
- |
✔ |
ALPN
|
✔ |
✔ |
- |
- |
Product Comparisons
You can select the appropriate load balancer based on your application needs. If you need flexible application management, we recommend that you use an Application Load Balancer. If extreme performance and static IP is needed for your application, we recommend that you use a Network Load Balancer. If you have an existing application that was built within the EC2-Classic network, then you should use a Classic Load Balancer.
Feature
|
Application Load Balancer
|
Network Load Balancer
|
Gateway Load Balancer
|
Classic Load Balancer
|
---|---|---|---|---|
Load Balancer type
|
Layer 7 |
Layer 4 |
Layer 3 Gateway + Layer 4 Load Balancing |
Layer 4/7 |
Target type
|
IP, Instance, Lambda |
IP, Instance, Application Load Balancer |
IP, Instance |
- |
Terminates flow/proxy behavior
|
Yes |
Yes |
No |
Yes |
Protocol listeners
|
HTTP, HTTPS, gRPC |
TCP, UDP, TLS |
IP |
TCP, SSL/TLS, HTTP, HTTPS |
Reachable via
|
VIP |
VIP |
Route table entry |
- |
Kubernetes Controller
Feature
|
Application Load Balancer
|
Network Load Balancer
|
Gateway Load Balancer
|
Classic Load Balancer
|
---|---|---|---|---|
Direct-to-pod
|
✔ |
✔ (Fargate pods) |
- |
- |
Load Balance to multiple namespaces
|
✔ |
- |
- |
- |
Support for fully private EKS clusters
|
✔ |
✔ |
- |
- |
Logging and monitoring
Feature
|
Application Load Balancer
|
Network Load Balancer
|
Gateway Load Balancer
|
Classic Load Balancer
|
---|---|---|---|---|
CloudWatch Metrics
|
✔ |
✔ |
✔ |
✔ |
Logging
|
✔ |
✔ |
✔ |
✔ |
Security
High availability
High throughput
Health checks
Sticky sessions
Operational monitoring & logging
Delete protection