An Application Load Balancer in us-east-1 costs $16.43 a month before it serves a single request. Give four small services their own internet-facing ALB and you pay that floor four times, with public IPv4 addresses billed on top.
AWS load balancer pricing has two parts: an hourly charge that ignores traffic, and capacity units that follow it. Here's how Elastic Load Balancing pricing works for ALB, NLB, GWLB and CLB, what moves the capacity-unit charge, and how to find load balancers you don't need. Rates are from AWS's us-east-1 Price List, checked in September 2026.
How AWS load balancer pricing works
Every load balancer bills for each hour or partial hour it runs, plus capacity units for its traffic. The Classic Load Balancer is the exception: it bills per GB processed instead.
A partial hour bills as a full hour. Capacity units are averaged over the hour, and you pay only for the dimension with the highest usage. The unit is a Load Balancer Capacity Unit (LCU) on ALB, an NLCU (Network LCU) on NLB and a GLCU (Gateway LCU) on GWLB.
| Type | Hourly (us-east-1) | Unit rate | What the unit measures |
|---|---|---|---|
| ALB | $0.0225 | $0.008 per LCU-hour | New and active connections, processed bytes, rule evaluations |
| NLB | $0.0225 | $0.006 per NLCU-hour | New and active connections, processed bytes, per protocol |
| GWLB | $0.0125 | $0.004 per GLCU-hour | New flows, active flows, processed bytes |
| CLB | $0.025 | $0.008 per GB | GB processed |
ELB meters have no volume tiers, so an LCU-hour costs the same at 1 LCU as at 10,000. Hourly rates do vary by Region: Frankfurt (eu-central-1) charges $0.027 per ALB-hour, 20% above us-east-1. The Elastic Load Balancing pricing page has the rest, and every figure below is illustrative for us-east-1.
What an AWS load balancer costs with zero traffic
The hourly charge accrues whether or not a request arrives. At 730 hours a month in us-east-1, that sets a floor per type.
| Type | Per hour | Per 730-hour month | Can also bill with zero traffic |
|---|---|---|---|
| ALB | $0.0225 | $16.43 | Public IPv4, LCU reservation, trust store association |
| NLB | $0.0225 | $16.43 | Public IPv4, LCU reservation |
| GWLB | $0.0125 | $9.13 | Each GWLB endpoint at $7.30/month, LCU reservation |
| CLB | $0.025 | $18.25 | Public IPv4 |
Each public IPv4 address a load balancer holds adds $0.005 an hour, or $3.65 a month, billed under VPC pricing. I don't budget a fixed IPv4 figure per load balancer. Count the addresses on your own bill instead.
CloudWatch reports ELB metrics only when requests flow. An idle ALB can show no datapoints at all rather than zeros, so an empty graph may mean an idle load balancer.
Four services, four ALBs: the consolidation math
If each small service got its own ALB, you're paying four hourly floors. At near-zero traffic, four ALBs cost 4 × $16.425 = $65.70 a month in us-east-1. One ALB routing by host or path costs $16.43, saving $49.28 a month plus the public IPv4 addresses the other three held. Small container services hit this often, next to the other fees a Fargate estimate leaves out.
The routing rules rarely cost anything. ALB ignores the rule evaluation dimension when 10 or fewer rules are configured. Past that, rule evaluations equal request rate × (rules processed − 10), at 1,000 per second per LCU.
Consolidation has limits: 100 rules per ALB (adjustable), 100 target groups (not adjustable), 25 certificates (adjustable) and 50 listeners. The trade is four configs for one shared config. I'd group services that deploy together, so a listener change never waits on a team that doesn't own it.
When one ALB is still too much
For an internal API that sees a handful of requests an hour, the floor is nearly the whole ELB bill. Compare $16.43 a month with API Gateway's per-request pricing at your real request volume before you commit to either.
Which ALB dimension sets your LCU bill
One ALB LCU covers 25 new connections per second, 3,000 active connections per minute, 1 GB processed per hour for EC2, container and IP targets, and 1,000 rule evaluations per second. ALB bills only the highest.
Take AWS's first ALB example, priced for a 730-hour month: 1 new connection per second lasting 2 minutes, 5 requests per second, 300 KB per connection and 60 rules processed per request.
| Dimension | Calculation | LCUs | Billed? |
|---|---|---|---|
| New connections | 1 ÷ 25 | 0.04 | No |
| Active connections | 120 ÷ 3,000 | 0.04 | No |
| Processed bytes | 300 KB/s × 3,600 s = 1.08 GB | 1.08 | Yes |
| Rule evaluations | 5 × (60 − 10) = 250/s ÷ 1,000 | 0.25 | No |
The hour costs $0.0225 + 1.08 × $0.008 = $0.03114, or $22.73 a month, and $16.43 of that is the hourly charge. AWS shows $22.42 because its examples use a 720-hour month.
Run this traffic in the Elastic Load Balancing Pricing Calculator and change one input at a time. On a live ALB, ConsumedLCUs shows billed LCUs, and the ELB FAQs note that CloudWatch exposes all four dimensions.
Same traffic, Lambda targets: 42% more
Lambda targets get 0.4 GB per LCU instead of 1 GB. The same traffic becomes 1.08 ÷ 0.4 = 2.7 LCUs, and the hour costs $0.0225 + $0.0216 = $0.0441. That's $32.19 a month, $9.46 (42%) more, before Lambda's own charges. Pick "Lambda targets" in the calculator to reproduce it, and compare LambdaTargetProcessedBytes with StandardProcessedBytes on a mixed ALB.
Certificate keys, mTLS and rules that raise LCUs
Three settings shrink what one LCU covers:
- Certificate key size. RSA up to 2K and ECDSA up to 256 allow 25 new connections per second per LCU. RSA 4K allows 5, and RSA 8K allows 1. At 100 new HTTPS connections per second, that's 4 LCUs versus 20. If new connections is your billed dimension, the monthly LCU charge rises from $23.36 to $116.80.
- Mutual TLS. Active connections per LCU drop to 1,500 per minute, and processed bytes include the certificate headers the ALB inserts.
- Target Optimizer. Target groups with it enabled get half of every dimension: 12.5 new connections per second, 1,500 active per minute, 0.5 GB per hour and 500 rule evaluations per second.
NLB and GWLB use the same highest-wins idea with different allowances, and NLB bills each protocol on its own.
AWS load balancer pricing by type: where ALB, NLB, GWLB and CLB get expensive
Pick the type by protocol and features first. The price gap then follows whichever dimension your traffic stresses, so neither ALB nor NLB is cheaper in general.
| Per capacity unit | New conn/s | Active (per minute) | GB/hour | Gets expensive when |
|---|---|---|---|---|
| ALB | 25 | 3,000 | 1 | New HTTPS connections, big keys, Lambda |
| NLB TCP | 800 | 100,000 | 1 | Bytes grow |
| NLB UDP | 400 | 50,000 | 1 | Flows or bytes grow |
| NLB TLS | 50 | 3,000 | 1 | Connections stay open for minutes |
| GWLB | 600 | 60,000 | 1 | Endpoints and cross-zone traffic |
| CLB | n/a | n/a | n/a | Every GB bills at $0.008 |
To compare, switch the calculator to the NLB, GWLB or CLB tab to price the same traffic.
Network Load Balancer: TLS listeners burn NLCUs far faster
Each NLB protocol bills on its own highest dimension, and the charges are added. Per NLCU, TLS allows 16× fewer new connections than TCP (50 against 800) and about 33× fewer active connections (3,000 against 100,000).
Take 100 TCP and 100 TLS connections per second, each lasting 3 minutes and moving 1,000 bytes. TCP bills 0.36 NLCU on bytes. TLS bills 6 NLCUs on active connections (18,000 ÷ 3,000). The hour costs $0.0225 + $0.00216 + $0.036 = $0.06066, or $44.28 a month. Make both streams TCP and it's $0.02682 an hour, $19.58 a month.
Know which listener carries your long-lived connections. And if an NLB only connects API Gateway to an ALB, REST APIs can integrate privately with the ALB, which AWS says lowers cost by removing that hop.
Gateway Load Balancer and its endpoints
A GWLB costs $0.0125 an hour plus $0.004 per GLCU-hour. Its endpoints bill separately under AWS PrivateLink at $0.01 an hour and $0.0035 per GB. AWS's multi-AZ example charges the hourly rate per Availability Zone, while the price list describes it per load balancer. Check a multi-AZ GWLB against your first invoice before you budget it.
Classic Load Balancer: per-GB instead of LCUs
A CLB costs $0.025 an hour plus $0.008 per GB, with no capacity units. Its floor is $18.25 a month against $16.43 for an ALB, and 100 GB adds $0.80. AWS supports migrating to an ALB, but the saving depends on which ALB dimension your traffic stresses, so price both first.
Charges that bill outside the ELB line
A load balancer also creates charges under VPC, data transfer and PrivateLink. In us-east-1:
- Public IPv4 addresses. $0.005 per in-use address-hour, $3.65 a month each, for every address your load balancers consume. ALB can take addresses from VPC IPAM pools, including BYOIP, to optimize that cost. See how public IPv4 charges work across your account.
- Cross-zone data transfer. Cross-zone load balancing sends traffic to targets in other Availability Zones. It's free on ALB, where it's on by default, and on CLB. NLB and GWLB with it enabled pay regional data transfer at $0.01 per GB. GWLB ships with it off.
- Internet data transfer out. Standard EC2 data transfer rates apply. After the first 100 GB a month, aggregated globally, the first 10 TB costs $0.09 per GB.
- GWLB endpoints. PrivateLink bills them at a single per-GB rate with no tiers.
- Targets. EC2 instances and Lambda functions bill under their own services.
LCU reservation is a capacity floor, not a discount
An LCU reservation sets a minimum capacity. The load balancer still scales above it but never drops below it. AWS aims it at known events, spiky traffic and migrations with a fixed start time, and suggests it when spikes more than double normal traffic in under five minutes.
Reserved LCU-hours are billed at the same rate as LCU-hours: $0.008 for ALB, $0.006 for NLB and $0.004 for GWLB. Usage above the reservation bills as normal LCUs, and unused reserved capacity still bills. You're buying readiness, not a lower rate.
- ALB minimum: 100 LCUs in total, so $0.80 an hour, $19.20 a day or $584 a month on top of the $16.43 hourly charge.
- NLB minimum: 2,750 LCUs per Availability Zone, so $16.50 an hour or $396 a day per AZ.
- Overage: 200 LCUs reserved and 240 used costs $1.60 + $0.32 + $0.0225 = $1.9425 an hour on an ALB.
The default reserved-LCU quota is 0, so request an increase first. You can raise a reservation as often as you like but lower it only twice a day, and it bills until you cancel. ALB capacity reservations covers sizing with PeakLCUs.
# AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
MinimumLoadBalancerCapacity:
CapacityUnits: 100
aws elbv2 describe-capacity-reservation --load-balancer-arn <your-load-balancer-arn>
The CLI command shows a provisioned state while a reservation is active. I treat a reservation like a feature flag with an expiry: the change that adds it names the day it comes out.
Why is my AWS load balancer bill higher than expected?
Count before you guess. A usage type is the meter name on each bill line, such as LoadBalancerUsage or LCUUsage.
- Count what's billing. In Cost Explorer, group ELB cost by usage type, then filter by API operation. ALB hours show as
LoadBalancerUsagewithLoadBalancing:Application. NLB, GWLB and CLB useLoadBalancing:Network,LoadBalancing:GatewayandLoadBalancing. Divide hours by the hours in the month: 4,464 ALB-hours in a 31-day month is six full-month load balancers (6 × 744). - Check every Region. Prefixes: none for
us-east-1,USW2-,EU-(eu-west-1) andEUC1-(eu-central-1). - If
LCUUsagedominates, find an ALB's billed dimension withConsumedLCUs,ProcessedBytes,NewConnectionCountandActiveConnectionCount. - If
ReservedLCUUsageappears, confirm the reservation withdescribe-capacity-reservation. - If
TS-LoadBalancerUsageappears, you're paying for mTLS trust store associations. - Look outside ELB for public IPv4, NLB or GWLB cross-zone transfer, and GWLB endpoints.
- Find the idle ones. Missing CloudWatch datapoints usually mean no traffic.
For step 7, CloudBurn's open-source ELB rules run against a live account with cloudburn discover. CLDBRN-AWS-ELB-1 to ELB-4 flag load balancers with no targets, or no instances for a CLB. CLDBRN-AWS-ELB-5 flags an ALB or HTTP/HTTPS CLB averaging under 10 requests a day over 14 days. NLB and GWLB aren't judged on request volume.
For load balancers that don't exist yet, review a new load balancer like any other cost. It's a $16.43 monthly line before it carries traffic.
Frequently Asked Questions
Is Elastic Load Balancing included in the AWS Free Tier?
Does mutual TLS on an ALB cost extra?
Does ALB user authentication cost extra?
Do NLB listener rules or weighted target groups add charges?
AWS load balancer pricing: four takeaways
- AWS load balancer pricing starts with a floor that bills with zero traffic, so count your load balancers first.
- Only the highest capacity-unit dimension bills. Lambda targets stress bytes, and NLB TLS stresses active connections.
- Public IPv4, NLB and GWLB cross-zone traffic, and GWLB endpoints bill outside ELB.
- Reserved LCUs cost the same as used ones and bill until cancelled.
Next, price your own traffic and Region in the calculator, then read Amazon VPC pricing for the charges that land under VPC.
CloudBurn
See Which LCU Dimension Drives Your Bill
CloudBurn's Elastic Load Balancing calculator turns connections, bytes and rules into LCUs and a monthly cost for ALB, NLB, GWLB and CLB in your Region, and shows which dimension drives the charge.