AWS Load Balancer Support
ALB vs NLB: choosing the right AWS load balancer.
The Application Load Balancer works at layer 7 for HTTP and gRPC, while the Network Load Balancer works at layer 4 for TCP, UDP and TLS. The choice depends on routing needs, static addresses, client IP handling, protocols and how you pay. We match it to your traffic and migrate safely.
When You Need This
The situations where this work pays for itself.
Signs it is time
- You are setting up a new service and must pick a load balancer type
- You need path or host routing, redirects or authentication at the load balancer
- You need static IPs for allow lists, or AWS PrivateLink
- Non-HTTP protocols like TCP or UDP need balancing
- Costs or latency motivate changing an existing load balancer
What you get
- Requirements matrix and recommended load balancer type
- Cost comparison with your traffic assumptions
- Infrastructure as code for the new load balancer
- Cutover plan with rollback
How we do it
A clear, safe process you can follow along with.
1. List the requirements
We capture protocols, routing rules, TLS needs, client IP visibility, static IP needs, expected connections and throughput, and target types such as instances, IPs, containers and Lambda.
2. Match the features
ALB provides host and path routing, header and query rules, redirects, fixed responses, OIDC and Cognito authentication, WAF integration and Lambda targets. NLB provides static or Elastic IPs per Availability Zone, TCP and UDP, TLS termination, PrivateLink service endpoints and preserved source IP. Gateway Load Balancer is for third-party inline appliances.
3. Check security and client IP handling
ALB passes client IP in X-Forwarded-For. NLB can preserve the client IP for instance targets and uses Proxy Protocol v2 where needed. NLB supports security groups on newer load balancers, which must be chosen when creating them, so we check current behavior.
4. Consider combining them
When you need both static IPs and layer 7 features, an NLB can forward to an ALB target, or you can use AWS Global Accelerator in front of an ALB. We evaluate whether the extra hop is justified.
5. Compare cost and scaling
Both bill by hours and by load capacity units, with different measurements, so we estimate using your traffic with the AWS pricing calculator, including cross-AZ data transfer and the cross-zone load balancing defaults.
6. Migrate with low risk
We create the new load balancer alongside, test, then shift DNS with weighted Route 53 records or switch target group registration, keeping the old one until stable.
Mistakes we help you avoid
Common ways this goes wrong, and what we do instead.
Choosing NLB for HTTP apps that need routing
You then build routing in the application or proxies.
Choosing ALB when clients need fixed IPs
ALB addresses change, so allow-listing by IP is unreliable.
Ignoring cross-zone behavior
Uneven targets per zone cause uneven load, and cross-zone traffic can add data transfer cost.
Not planning DNS TTL for cutover
Clients with cached records keep hitting the old endpoint.
Frequently Asked Questions
When should I use NLB instead of ALB?
Use NLB for non-HTTP protocols, static IPs, very high connection rates, PrivateLink services or when you need to preserve client IP at layer 4. Use ALB for web apps needing HTTP routing.
Can an ALB have a static IP?
Not directly. Put Global Accelerator in front of it, or place an NLB with an ALB target in front of it.
Is NLB cheaper than ALB?
It depends on the traffic pattern, as each has different billing dimensions. We model your usage rather than assume.
Want Help With ALB vs NLB: choosing the right AWS load balancer?
Schedule an appointment. Tell us about your environment and we will outline the safest, highest-value approach.
Schedule Appointment › No commitment required