Application Load Balancer | Network Load Balancer | Gateway Load Balancer |
---|---|---|
Layer 7 load balancing | Layer 4 load balancing | Layer 4 and Layer 7 load balancing |
Supports routing based on content | Supports routing based on IP protocol data | Supports routing based on IP protocol data and content |
Supports routing to different targets based on URL path | Supports routing to different targets based on IP protocol data | Supports routing to different targets based on IP protocol data and URL path |
Supports connection draining, sticky sessions, and automatic failover | Supports connection draining and automatic failover | Supports connection draining, sticky sessions, and automatic failover |
Supports WebSocket and HTTP/2 | Supports TCP and UDP | Supports TCP and UDP |
Supports content-based routing and path-based routing | Supports protocol-based routing | Supports content-based routing, path-based routing, and protocol-based routing |
Integrated with AWS WAF for security | Integrated with AWS Shield for security | Integrated with AWS WAF and AWS Shield for security |
Good for web applications, microservices, and containers | Good for TCP and UDP-based applications | Good for multi-protocol and mixed workloads. |
Application Load Balancer:
Layer 7 load balancing Route traffic based on content Supports host-based routing Supports path-based routing Supports WebSocket protocol Supports HTTP/2
Network Load Balancer:
Layer 4 load balancing Route traffic based on IP protocol data Supports TCP and UDP protocols Supports static IP addresses (IPv4 and IPv6) Supports connection-based stickiness
Global Accelerator Load Balancer:
Geo-routing Route traffic to optimal endpoints based on geographic location Provides a static IP address for global access to applications Improves application availability and performance by routing traffic to healthy endpoints.