Last updated on January 23, 2024
Application Load Balancer vs Network Load Balancer vs Gateway Load Balancer
Feature | Application Load Balancer | Network Load Balancer | Gateway Load Balancer |
Protocols | HTTP, HTTPS, gRPC | TCP, UDP, TLS | IP |
Platforms | VPC | VPC | VPC |
Health checks | HTTP, HTTPS, gRPC | TCP, HTTP, HTTPS | TCP, HTTP, HTTPS |
Cloudwatch Metrics | Yes | Yes | Yes |
Logging | Yes | Yes | Yes |
Zonal Failover | Yes | Yes | Yes |
Connection Draining (deregistration delay) | Yes | Yes | Yes |
Load Balancing to multiple ports on the same instance | Yes | Yes | Yes |
IP addresses as targets | Yes | Yes (TCP, TLS) | Yes |
Load Balancer deletion protection | Yes | Yes | Yes |
Configuration idle connection timeout | Yes | ||
Cross-zone load balancing | Yes | Yes | Yes |
Sticky sessions | Yes | Yes | Yes |
Static IP | Yes | ||
Elastic IP address | Yes | ||
Preserve Source IP address | Yes | Yes | Yes |
Resource-based IAM permissions/ Tag-based IAM permissions |
Yes | Yes | Yes |
Slow start | Yes | ||
Web sockets | Yes | Yes | Yes |
PravateLink Support | Yes (TCP, TLS) | Yes (GWLBE) | |
Source IP address CIDR-based routing | Yes | ||
Layer 7 |
|||
Path-based routing | Yes | ||
Host-based routing | Yes | ||
Native HTTP/2 | Yes | ||
Redirects | Yes | ||
Fixed Response | Yes | ||
Lambda Functions as targets | Yes | ||
HTTP header-based routing | Yes | ||
HTTP method-based routing | Yes | ||
Query parameter-based routing | Yes | ||
Security |
|||
SSL offloading | Yes | Yes | |
Server Name Indication (SNI) | Yes | Yes | |
Back-end server encryption | Yes | Yes | |
User authentication | Yes | ||
Session resumption | Yes | Yes | |
Terminates flow/proxy behavior | Yes | Yes | Yes |
Common features between the load balancers:
- Has instance health check features
- Has built-in CloudWatch monitoring
- Logging features
- Support zonal failover
- Supports connection draining
- Support cross-zone load balancing (evenly distributes traffic across registered instances in enabled AZs)
- Resource-based IAM permission policies
- Tag-based IAM permissions
- Flow stickiness – all packets are sent to one target and return the traffic that comes from the same target.