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.