Service comparisons / Application Load Balancer vs Network Load Balancer vs Gateway Load Balancer

ALB vs NLB vs Gateway Load Balancer

The Application Load Balancer routes HTTP requests by content, the Network Load Balancer handles TCP and UDP with static IPs and very low latency, and the Gateway Load Balancer inserts firewall appliances. Which to pick and why.

Last checked against AWS documentation · How we write our content

QuestionApplication Load BalancerNetwork Load BalancerGateway Load Balancer
Use it whenWeb apps and APIs need routing by path, host or headerYou need TCP or UDP, static IP addresses, or extreme performanceTraffic must pass through third-party virtual appliances such as firewalls
LayerLayer 7 (HTTP, HTTPS, gRPC, WebSockets)Layer 4 (TCP, UDP, TLS)Layer 3 (IP packets, using the GENEVE protocol)
Static IPNo; use its DNS name (or put Global Accelerator in front)Yes, one per AZ, and you can assign Elastic IPsNot applicable; reached through Gateway Load Balancer endpoints
ExtrasAWS WAF, user authentication with Cognito or OIDC, Lambda targetsPreserves client source IP; can front a PrivateLink endpoint serviceScales appliances and keeps flows sticky to one appliance
Watch out forCan't be given an Elastic IPCan't attach AWS WAFNot for spreading app traffic across web servers

Elastic Load Balancing has three current types. Scenarios usually give away the answer through one detail: the protocol, a need for fixed IPs, or a firewall appliance.

How to choose

Exam traps