Loading...


Updated 21 Oct 2026 • 7 mins read

AWS load balancer pricing has a fixed hourly charge per load balancer and a usage charge in capacity units that almost nobody understands. This guide explains ALB, NLB, and Gateway Load Balancer rates, how LCUs are measured and which dimension bills, worked US examples, the hidden IPv4 charge, and how to cut the bill.
AWS load balancer pricing has two parts, and most teams understand only the first. The hourly charge is simple: $0.0225 an hour, about $16.43 a month, for every Application or Network Load Balancer, before it serves a single request. The second part, billed in Load Balancer Capacity Units, is where the bill actually accumulates, and it is metered on four dimensions that AWS evaluates every hour and bills only the highest of. Which dimension is driving a given load balancer's LCUs, new connections, active connections, bytes, or rule evaluations, is a question most engineers cannot answer, which is why the LCU line is both large and unmanaged on estates that run a load balancer per microservice.
This guide explains the pricing for all three current types, how LCUs are measured and which dimension bills, the IPv4 charge every public load balancer carries, worked US examples, and how to cut the bill, from consolidation to rule ordering. Rates are from the official Elastic Load Balancing pricing page for US East as of October 2026; other regions run up to 20 percent higher.
The short answer: AWS load balancer pricing is an hourly charge plus usage in capacity units. In US East, an Application Load Balancer and a Network Load Balancer each cost $0.0225 per hour, about $16.43 a month, plus $0.008 per LCU-hour for ALB and $0.006 per NLCU-hour for NLB; a Gateway Load Balancer costs $0.0125 per hour plus $0.004 per GLCU-hour. An LCU is measured each hour on four dimensions for ALB, 25 new connections per second, 3,000 active connections per minute, 1 GB of processed bytes, and 1,000 rule evaluations per second, and only the highest dimension bills. Every public load balancer also carries one public IPv4 address per Availability Zone at $0.005 per hour, about $7 to $11 a month. A lightly used ALB costs $25 to $40 a month; a busy production ALB $100 to $300; and the fastest way to cut the bill is consolidating many per-service load balancers behind one with host- and path-based routing.
| Type | Layer | Hourly (US East) | Usage rate | Usage dimensions | Typical monthly |
|---|---|---|---|---|---|
| Application Load Balancer (ALB) | 7 (HTTP, HTTPS, gRPC) | $0.0225 ($16.43/mo) | $0.008 per LCU-hour | New connections 25/s; active 3,000/min; 1 GB/hr processed; 1,000 rule evaluations/s | $25 to $300 |
| Network Load Balancer (NLB) | 4 (TCP, UDP, TLS) | $0.0225 ($16.43/mo) | $0.006 per NLCU-hour | Per protocol: 800 new TCP conn/s (50 TLS); 100,000 active/min (3,000 TLS); 1 GB/hr | $22 to $150 |
| Gateway Load Balancer (GWLB) | 3 (GENEVE) | $0.0125 ($9.13/mo) | $0.004 per GLCU-hour | New flows; active flows; 1 GB/hr processed | $12 to $80 plus endpoints |
| GWLB endpoint | n/a | $0.01 per hour | $0.0035 per GB | Bytes through the endpoint | $7.30 plus usage |
| Classic Load Balancer (legacy) | 4 and 7 | $0.025 ($18.25/mo) | $0.008 per GB | Processed bytes | $20 to $100 |
| Public IPv4 address | n/a | $0.005 per IP per hour | n/a | One per AZ per public load balancer | $7.30 to $10.95 per load balancer |
Every hour, AWS measures each dimension, divides the measurement by the dimension's per-LCU allowance, and bills the largest result. The dimensions are not summed. A load balancer that handles 50 new connections a second (2 LCUs on that dimension), 1,500 active connections (0.5 LCU), 0.5 GB processed (0.5 LCU), and 500 rule evaluations a second (0.5 LCU) bills 2 LCUs that hour, $0.016, because new connections is its highest dimension.
Which dimension dominates depends on the workload, and knowing it is the whole optimization. APIs with many short requests are driven by new connections. Long-lived WebSocket or streaming connections are driven by active connections. Large responses, file downloads, and media are driven by processed bytes. An ALB with dozens of listener rules, where every request is tested against many rules before matching, is driven by rule evaluations, which is the dimension most teams never check. NLB's connection allowances are 32 times ALB's, which is why NLB is usually cheaper for the same traffic: it is being measured against a far more generous ruler.
US East, 730-hour month, three Availability Zones.
| Scenario | Driving dimension | LCUs/hr | Hourly + LCU | IPv4 (3 AZ) | Monthly |
|---|---|---|---|---|---|
| Internal admin ALB, light traffic | Processed bytes, 0.1 GB/hr | 0.1 | $16.43 + $0.58 | $10.95 | About $28 |
| Medium API on ALB, 10,000 req/min, 500 concurrent | New connections, about 4 LCU | 4 | $16.43 + $23.36 | $10.95 | About $51 |
| Same API on NLB | Bytes, about 2 NLCU | 2 | $16.43 + $8.76 | $10.95 | About $36 |
| Media download ALB, 60 GB/hr processed | Processed bytes | 60 | $16.43 + $350.40 | $10.95 | About $378 |
| ALB with 40 listener rules, 2,000 req/s, most matching late | Rule evaluations, about 30 LCU | 30 | $16.43 + $175.20 | $10.95 | About $203 |
| Twelve per-microservice ALBs at low traffic | Hourly and IPv4 only | 0.2 each | 12 x $17.60 | 12 x $10.95 | About $343 |
Two rows carry the lesson. The media ALB's bill is almost entirely bytes, so compression and a CDN in front of it are the fix, not a different load balancer. The twelve per-microservice ALBs cost $343 a month to serve almost no traffic, because each one pays the hourly charge and three public addresses; one ALB with host- and path-based routing serves all twelve for about $40. The rule-evaluation row is the one teams discover last: forty rules with the common paths listed at the bottom can make rule evaluations the driving dimension on a busy ALB.
An ALB routes by host header and path, so one can front many services. Replacing twelve per-service ALBs with one cuts eleven hourly charges and thirty-three public IPv4 addresses, about $300 a month, and usually improves manageability. On Kubernetes, one ingress controller behind one ALB replaces a Service of type LoadBalancer per deployment.
TCP services, gRPC without path routing, and anything that terminates TLS on the target can use NLB at a 25 percent lower unit rate against a far more generous connection allowance. Keep ALB where host and path routing, authentication, WebSockets, or Kubernetes ingress features earn it.
Rules are evaluated in priority order until one matches. Put the highest-traffic paths first, consolidate rules with wildcards, and remove rules for retired services. On a busy ALB this alone can halve the LCU line.
Compression, efficient serialization, and a CDN in front of public content cut the bytes dimension, which drives cost on data-heavy workloads and also reduces the egress billed behind the load balancer.
Load balancers with no healthy targets, left behind by retired services and finished tests, bill hourly plus addresses indefinitely. They are among the commonest items in any cloud waste audit.
Every public load balancer carries one IPv4 address per zone at $3.65 a month each. Internal load balancers need none; many public ones could be internal behind a CDN. The charge is small per load balancer and large across an estate, as our guide to Elastic IP charges sets out.
A shared ALB's cost belongs to the services routed through it in proportion to their traffic; an unattributed LCU line is one nobody optimizes.
The LCU problem is that the bill shows capacity units per load balancer and the question is which service and which dimension caused them. Explorer shows each load balancer's hourly, LCU, and IPv4 charges beside the EC2, EKS, and Fargate services it fronts, by team and account, tracked over time, so an LCU spike after a deploy is visible that week rather than on the invoice. Dimension Studio attributes a shared load balancer's cost to the services routed through it by usage-driven rules, so the ingress ALB that fronts twenty services is twenty lines on twenty teams' numbers rather than one line on the platform team's.
Atlas inventories every load balancer and its addresses with an owner and a cost, flags the ones with no healthy targets and the estates running a load balancer per service, and records the change behind a cost movement; its recommendations weigh purpose and criticality, so a production ingress and a leftover test ALB get different advice. Monitor catches an LCU spike, a new rule set, a response size that doubled, a service that started holding connections open, with the cause, routed to the owning team's Slack channel; Tickets turns the consolidation or cleanup into an assigned item in Jira, ServiceNow, or Asana tracked to a measured saving; and Iris answers which services drove load balancer cost this month in plain English. The line nobody understood becomes a per-service number someone owns
AWS load balancer pricing is cheap per load balancer and expensive per estate, because the hourly charge and the addresses multiply across every service that got its own, and because LCUs are billed on a dimension most teams never identify. Consolidate behind host- and path-based routing, choose NLB where Layer 7 earns nothing, order and prune rules, compress bytes, delete the idle, count the addresses, and attribute each load balancer to the service it fronts. Then the bill is the cost of the traffic you actually serve. That attribution is what Opslyft's cost control provides across load balancers and every other shared resource; for the transfer charges that ride beside load balancer traffic, see our AWS data transfer fees guide.
In US East, an Application Load Balancer or Network Load Balancer costs $0.0225 per hour, about $16.43 a month, plus usage billed in capacity units: $0.008 per LCU-hour for ALB and $0.006 per NLCU-hour for NLB. A Gateway Load Balancer is $0.0125 per hour plus $0.004 per GLCU-hour. Each public load balancer also carries one public IPv4 address per Availability Zone at $0.005 per hour. A lightly used ALB runs $25 to $40 a month; a busy production ALB can run $100 to $300.
A Load Balancer Capacity Unit is how AWS meters ALB usage. Each hour, AWS measures four dimensions, new connections per second (25 per LCU), active connections per minute (3,000 per LCU), processed bytes (1 GB per hour per LCU), and rule evaluations per second (1,000 per LCU), and bills only the highest of the four, at $0.008 per LCU-hour. NLB uses three dimensions per protocol (800 new TCP connections per second, 100,000 active, 1 GB per hour) at $0.006; Gateway Load Balancer uses flows and bytes at $0.004.
Same hourly rate; NLB's capacity unit is 25 percent cheaper and its connection dimensions are far more generous, so for the same traffic NLB is usually cheaper, often by half or more on the usage line. ALB costs more because it does more: Layer 7 routing, host and path rules, WebSockets, authentication, and Kubernetes ingress. Choose on features; if NLB can do the job, it is the cheaper one.
Four usual causes. Many small load balancers, each paying $16.43 plus two or three public IP addresses before any traffic; one load balancer per microservice is the classic pattern. Processed bytes on large responses, which drive LCUs on data-heavy APIs. Rule evaluations, when an ALB carries dozens of listener rules and every request evaluates many. And idle load balancers left behind by retired services, still billing hourly and IPv4 charges.
Consolidate: one ALB with host- and path-based routing can replace many per-service ALBs, cutting hourly and IPv4 charges. Choose NLB where Layer 7 features are not needed. Order listener rules so common paths match early and keep rule counts low. Compress responses to reduce processed bytes. Delete load balancers with no healthy targets. And attribute each load balancer's cost to the service it fronts, so the team that owns the service sees the line.
The free tier includes 750 hours a month of load balancer usage across ALB and CLB, and 15 LCUs for ALB, for 12 months on legacy-tier accounts; accounts created since July 2025 receive credits instead. After that, every hour and every LCU bills.
Opslyft shows each load balancer's hourly, LCU, and IPv4 charges in Explorer beside the services and clusters it fronts, by team and account, and Dimension Studio attributes a shared load balancer's cost to the services routed through it. Atlas inventories every load balancer with an owner, flags ones with no healthy targets, and Monitor catches an LCU spike with its cause, so the LCU line nobody understands becomes a per-service number someone owns.