AWS ALB vs NLB Cost Calculator

Load balancers don't bill by throughput. They bill by LCU — Load Balancer Capacity Units — and you pay for the single largest dimension, not the sum of them. A balancer pushing 2 Gbps but only 5 new connections/sec still bills 2 LCU, because bandwidth is the binding dimension. ALB and NLB price LCU differently ($0.008 vs $0.006) and count dimensions differently (ALB caps at 25 new connections/LCU; NLB tolerates 800). This calculator models both against your exact traffic: new connections, active connections, bandwidth, and — for ALB — rule evaluations beyond the first 10. Then it puts ALB and NLB head to head.

📐 Traffic Profile

Describe your load balancer's steady-state traffic. The engine computes LCU for both ALB and NLB from the same numbers and shows which dimension binds each. All four LCU dimensions are evaluated; the max wins.

📋 ALB / NLB LCU & Pricing Reference (2026)

One LCU = the smaller of the two capacities per dimension. You are billed for the MAX of the dimensions, rounded up. Fixed hourly is per load balancer. us-east-1 baseline; other regions vary ±10%.

DimensionALB per LCUNLB per LCU
New connections / flows per sec25800 (TCP)
Active connections / flows3,000100,000
Bandwidth1 Gbps1 Gbps
Rule evaluations per sec (ALB)1,000
New TLS flows per sec (NLB)50
Source/dest IP tuples (NLB)240,000
Price per LCU-hour$0.008$0.006
Fixed per LB-hour$0.0225$0.0225

ALB rule evaluations count only rules evaluated beyond the first 10 free rules. NLB bandwidth per LCU is 1 Gbps for both TCP and TLS. Source: AWS Pricing Calculator, July 2026. Verify against your region.

The Dimension You're Not Watching Is the One You Pay For

Most teams size a load balancer by "how much traffic" and stop. But LCU billing doesn't care about your gut feel — it cares about four independent dimensions, and bills you for whichever is largest. Get the largest one wrong and you either over-provision (paying for LCU you don't use) or, worse, you assume NLB is always cheaper and miss that ALB's rule-evaluation dimension is silently the binding constraint on a path-based routing setup.

1. "Pay for the Max, Not the Sum" — The Core Rule

Four dimensions are computed. The LCU count is the ceiling of the maximum, not the total. A balancer at 2 Gbps, 5 new conn/s, 3,000 active, 100 rule-evals/s computes LCU = max(2/1, 5/25, 3000/3000, 100/1000) = max(2, 0.2, 1, 0.1) = 2 LCU. Bandwidth binds. Doubling active connections to 6,000 (2 LCU) or adding 50 rules (still 0.05 LCU) changes nothing — you're already capped by bandwidth. This is why throwing more rules at an ALB usually costs $0 until you cross a dimension boundary. The calculator shows you exactly which dimension is binding so you know what actually moves the bill.

⚡ The Insight: If your binding dimension is bandwidth, ALB and NLB cost the same per Gbps (both 1 Gbps/LCU) — NLB is only 25% cheaper because its LCU-hour is $0.006 vs $0.008. But if your binding dimension is new connections, NLB is 32× more efficient (800 vs 25 per LCU). The workload shape, not the vendor, decides the gap.

2. The Rule-Evaluation Gotcha (ALB Only)

ALB counts rule evaluations at 1,000 per LCU-second — but only for rules evaluated beyond the first 10. Ten free rules is a lot; most simple path-based setups never cross it. The moment you do — 50 content-based rules on a 2,000 rps endpoint evaluates 2,000 × 40 = 80,000 rule-evals/s = 80 LCU from rules alone, which can become the binding dimension even when bandwidth is modest. This is the trap: a URL-rewrite-heavy ALB can bill more in rule LCU than in bandwidth LCU. NLB has no rule concept at all — another reason NLB wins pure L4 workloads.

3. ALB vs NLB — When Each Wins

NeedUse ALB when…Use NLB when…
HTTP routingPath/host-based rules, redirects, auth, gRPC, WebSocket upgradeNot applicable — L4 only
Connection rateFine up to ~tens of k new conn/s before LCU explodes800 new flows/LCU — absorbs hundreds of k/s cheaply
Latency+1 rule = +~1ms (see ALB Rule Latency Inspector)Lowest latency, no HTTP parsing, static IP option
Cost at high connPricier per connectionUp to 32× cheaper on connection-bound workloads
TLS terminationNative, offloadedSupported, adds TLS-flow LCU dimension

4. The Fixed Hourly Floor

Every load balancer costs $0.0225/hr = $16.43/month before a single request. Two balancers in two AZs for HA = $32.86/mo floor. At low traffic this fixed cost dominates — a dev ALB serving 5 rps still costs ~$16/mo. If you're running multiple ALBs for marginal traffic, consolidating behind one ALB with host-based routing (free rules!) often cuts the fixed floor in half. The calculator's fixed-vs-LCU split makes this visible.

5. Who Should Care Most

ProfileTypical Monthly BillWhat This Calculator Reveals
Small API / internal$16–40/moFixed hourly floor dominates. One ALB, host-based routing beats three separate ALBs. NLB unlikely to help at this scale.
Standard web app$40–200/moBandwidth usually binds. ALB vs NLB within 25%. Rule count matters only if you exceed 10 content rules at high rps.
Connection-heavy (games, MQTT, IoT)$200–2,000/moNew-connection dimension binds. NLB is dramatically cheaper — 32× more efficient per LCU. Switching can cut the bill 3–5×.
Rule-heavy edge router$150–1,000/moRule-eval LCU can become binding. Audit rule count; NLB can't do the routing, so the fix is rule consolidation, not LB swap.