ALB pricing is an hour per load balancer plus load balancer capacity units per hour, of which only the highest of the four dimensions new connections, active connections, processed bytes and rule evaluations counts; the Network Load Balancer and the Gateway Load Balancer follow the same pattern with units and rates of their own, the Classic Load Balancer charges hour plus GB, and every public IPv4 address has cost per hour since 2024-02-01, in use or not, Elastic IPs included. On the bill, the hour every load balancer pays around the clock dominates on small services, the LCUs of processed bytes on large ones; the IPv4 addresses add up across instances, load balancers and NAT gateways to a line many accounts do not expect.

Pricing dimensions

A load balancer is a resource with a base fee and a usage unit AWS computes from the traffic; the public IPv4 address has been a dimension of its own since 2024 on every resource that carries one. Every item carries its own usage type, and the load balancer's type sits in the operation.

DimensionUnitWhat drives itOptional
Load balancer hourHour per load balancer, partial hours in full; Application, Network and Classic at rates close to each other, Gateway cheaperEvery load balancer from creation to deletion, with or without targetsNo
Application Load Balancer LCULCU-hour; one LCU carries 25 new connections per second, 3,000 active connections per minute, 1 GB processed per hour or 1,000 rule evaluations per second; only the highest dimension countsTraffic, connections and rules averaged per hour; the first ten rules per request free; Lambda targets at 0.4 GB per LCUNo
Network Load Balancer NLCUNLCU-hour with own limits per protocol for new and active connections and processed bytes; only the highest countsTCP, UDP and TLS trafficNo
Gateway Load Balancer GLCU and endpointGLCU-hour; plus the Gateway Load Balancer endpoint per hour and GB at PrivateLink ratesTraffic through virtual firewalls and appliancesNo
Classic Load BalancerHour plus GB processed, without unitsTraffic through the old typeNo
LCU reservationReserved LCUs per minute at the LCU rate, plus used LCUs beyondLoad balancers pre-warmed before a peakYes
Mutual TLS trust storeHour per associated trust storeApplication Load Balancers with client certificates; halves the active connections per LCUYes
Public IPv4 addressHour per address, in use or not: instances, Elastic IPs, load balancers per zone, NAT gateways, RDS, EKS nodes; 750 hours a month free in the first year; addresses you bring freeEvery public IPv4 address in the account, assigned or notYes (data transfer pricing)
Data transferGB at EC2 rates; traffic from the load balancer to targets in other zones as zone transfer, free with cross-zone load balancing on the Application Load BalancerResponses to the internet and across zonesYes
Purchase optionNone; neither a reservation nor a Savings Plan

The LCU is the unit a load balancer consumes per hour, and AWS computes it per hour from the average over four dimensions, of which only the highest counts: a service with few, long connections and large responses pays by processed bytes, one with many short connections by new connections, one with many rules by rule evaluations. For most services the processed bytes are the dimension that sets the price, at 1 GB per LCU and hour, and the LCU rate is small against the base fee until throughput reaches hundreds of GB per hour. The Network Load Balancer has the same logic with other limits per protocol and a lower rate per unit; the Gateway Load Balancer comes with the Gateway Load Balancer endpoint, which costs per hour and GB like an interface endpoint.

The public IPv4 address has been a pricing dimension of every service since 2024-02-01: every address costs per hour whether it is assigned to a running instance, a stopped one, or sits free in the account, and that holds for AWS-provided addresses as for Elastic IPs. An internet-facing Application Load Balancer carries one address per zone, a NAT gateway one per zone, every instance with a public IP one; addresses brought through BYOIP cost nothing, and the free allowance of 750 hours a month applies in an account's first year. The mechanics across all three providers are in load balancers, NAT and public IPs.

How it appears in your billing data

In the Cost and Usage Report the load balancer lines carry the product code AWSELB and lineItem/ResourceId the load balancer's ARN; lineItem/Operation names the type, LoadBalancing:Application, LoadBalancing:Network, LoadBalancing:Gateway or LoadBalancing for the Classic Load Balancer, and the usage type's prefix is the region code, EUC1 for Frankfurt. The hour appears as EUC1-LoadBalancerUsage, the units as EUC1-LCUUsage in LCU-hours with the operation telling the kind of unit apart, reserved units as EUC1-ReservedLCUUsage, the trust store as EUC1-TS-LoadBalancerUsage, the Classic Load Balancer's GB as EUC1-DataProcessing-Bytes. Which dimension set the LCU is not in the report but in the CloudWatch metrics ConsumedLCUs, NewConnectionCount, ActiveConnectionCount, ProcessedBytes and RuleEvaluations per load balancer.

The public IPv4 addresses sit under the product code AmazonVPC as EUC1-PublicIPv4:InUseAddress for assigned and EUC1-PublicIPv4:IdleAddress for free addresses, per hour, with the address or the resource in lineItem/ResourceId; Cost Explorer shows them under EC2-Other or VPC, not under the service that holds the address. Attribution to load balancers, NAT gateways and instances runs through Public IP Insights in IPAM, which maps every address to its resource without a fee for the view. A load balancer's zone transfer sits under AmazonEC2 as EUC1-DataTransfer-Regional-Bytes. The report's structure is described in the AWS Cost and Usage Report. In the FOCUS export, ServiceName carries Elastic Load Balancing or Amazon Virtual Private Cloud and x_ServiceCode AWSELB or AmazonVPC; hours, units and addresses are ChargeCategory Usage (FOCUS columns).

A load balancerAWSELB: the hour per balancer,LCU-hours with the kind of unitin the operation, the typein the operationIts public IPv4 addressesAmazonVPC: InUseAddress andIdleAddress per hour, shownunder EC2-Other or VPCAttribution to the balancer, NATgateway or instance throughPublic IP Insights in IPAM
The load balancer's hour and units sit under one code, its public addresses under another, and the two are joined only through IPAM

Levers

Configuration: the number of load balancers is the first lever, because each pays its hour: an Application Load Balancer with host-based and path-based rules serves many services, and in Kubernetes an ingress with one load balancer replaces the load balancer per service, as services, load balancers and egress describes. The rules are the second where they set the LCU, because the first ten per request are free and every further one counts. The addresses are the third: release Elastic IPs without a resource, run instances in private subnets without a public IP, internal load balancers without a public address for internal traffic, and IPv6 or brought addresses where the network allows it; the search for unused addresses is in idle and orphaned resources.

one per serviceone per environmentHow many balancers?Many hours paid; in Kubernetesa load balancer per ServiceHost- and path-based rules servemany services; an ingress withone balancer in KubernetesThe rules set the LCU: the firstten per request free, everyfurther one countedA balancer without targetsfor weeksIts hour runs until itis deleted: the usual idleon this line
One load balancer per environment with rules instead of one per service, and a balancer without targets paying its hour until it is deleted

Purchase option: there is no reservation and no Savings Plan for load balancers and addresses; the LCU reservation is a capacity commitment at the same rate, not a discount.

Architecture: one load balancer per environment instead of per service, internal load balancers for east-west traffic, and cross-zone load balancing, which makes the zone transfer to targets free on the Application Load Balancer. Load balancers that have run for weeks without targets are the most common form of idle on this line; their hour runs until they are deleted. What the instances behind them cost is in EC2 pricing.

Where it goes wrong

  • The load balancer has no targets. A load balancer from a deleted service pays its hour until it is deleted. LoadBalancerUsage without LCUUsage beside it for weeks is the clue.
  • One load balancer per service. Twenty services with an Application Load Balancer each pay twenty base fees and forty addresses. Rules on one load balancer or an ingress bundle them.
  • The IPv4 line is new and large. Since 2024-02-01 every address costs per hour, those of NAT gateways, load balancers and stopped instances included. Public IP Insights lists every address with its resource; free Elastic IPs are the first item to delete.
  • The rules set the LCU. A load balancer with fifty rules pays forty rule evaluations per request. RuleEvaluations against ProcessedBytes shows which dimension leads; fewer rules or a second load balancer per service group lower it.
  • The Classic Load Balancer pays per GB. The old type charges every processed GB, more than an LCU with large responses. The migration to an Application or Network Load Balancer changes the line.
  • The zone transfer sits with the load balancer. A Network Load Balancer with targets in other zones pays the zone transfer the Application Load Balancer with cross-zone load balancing does not. DataTransfer-Regional-Bytes beside the load balancer is the clue.
  • The stopped instance keeps its address. An Elastic IP on a stopped instance keeps paying per hour. Instances that stand for long release the address or are deleted.

Example

List prices in USD for Frankfurt (eu-central-1), read on 2026-10-21 from the AWS price list: an Application Load Balancer costs USD 0.027 per hour and USD 0.008 per LCU-hour, a Network Load Balancer USD 0.027 per hour and USD 0.006 per NLCU-hour, a Gateway Load Balancer USD 0.0147 per hour and USD 0.0042 per GLCU-hour plus USD 0.012 per hour and USD 0.0035 per GB for its endpoint, a Classic Load Balancer USD 0.030 per hour and USD 0.008 per GB; a trust store for mutual TLS USD 0.006 per hour; a public IPv4 address USD 0.005 per hour.

A small website behind an Application Load Balancer that holds on average one new connection per second for two minutes and processes 300 KB per second consumes 0.04, 0.04, 1.08 and 0.005 LCUs by the four dimensions, so 1.08 LCUs per hour by processed bytes, and costs USD 19.71 of base fee and 1.08 × 730 × 0.008 = USD 6.31 of units a month, USD 26.02 in all; the load balancer's two public addresses in two zones add USD 7.30, USD 33.32. Twenty such load balancers cost USD 666.40 a month, one load balancer with twenty rules for the same services about USD 26 plus the LCUs of the whole traffic. Fifty Elastic IPs that sit in the account without a resource cost 50 × 730 × 0.005 = USD 182.50 a month. The figures show that on small services the base fee carries three quarters of the load balancer line, that a load balancer's addresses can cost more than its LCUs, and that unused addresses without a resource make a line no service explains.

Sources

Read on 2026-10-21. Prices: Elastic Load Balancing pricing, Amazon VPC pricing, AWS Price List, offer AWSELB for eu-central-1, offer AmazonVPC. Billing data: codes for Amazon VPC in billing reports, Cost and Usage Report columns: lineItem, FOCUS 1.0 with AWS columns. Service: new AWS public IPv4 address charge and Public IP Insights, Elastic IP addresses.