The problem
Load balancers often survive migrations, environment teardown, and architecture simplification because they sit at the edge of DNS, routing, and rollback plans. Even after workloads move on, the ELB resource can keep hourly cost and related network footprint alive.
Why it happens
- Old environments keep the load balancer after compute was removed or moved elsewhere.
- Migration work leaves listener and target-group plumbing behind after cutover.
- Teams preserve an ELB "just in case" without validating whether any real clients still depend on it.
What this means for cost
Estimated monthly
$18 to $450/mo
Estimated annual
$216 to $5,400/yr
This waste pattern often shows up as $18 to $450/mo in recurring monthly cost, or roughly $216 to $5,400/yr if it sits untouched for a year.
How to detect idle load balancer cost
The strongest signals are no recent traffic, no registered targets, or both at the same time on a load balancer that is still deployed.
Cloud Waste Hunter reviews application, network, and classic load balancers over the last 14 days. It looks for either of these signals:
- no recent traffic in the relevant CloudWatch metric
- no registered targets behind the load balancer
That makes the detector useful for both obviously abandoned load balancers and half-removed environments where the ELB shell is still standing after the workload moved on.
Inventory the load balancers first:
aws elbv2 describe-load-balancers
aws elb describe-load-balancers
Then check whether traffic and targets still exist:
aws cloudwatch get-metric-statistics \
--namespace AWS/ApplicationELB \
--metric-name RequestCount \
--dimensions Name=LoadBalancer,Value=app/my-alb/1234567890abcdef \
--start-time 2026-03-09T00:00:00Z \
--end-time 2026-03-23T00:00:00Z \
--period 86400 \
--statistics Sum
aws elbv2 describe-target-health \
--target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/app/1234567890abcdef
The best cleanup candidates are load balancers with no meaningful traffic, no registered targets, weak ownership, and no DNS or routing reason to keep them.
Caveats and false-positive scenarios
This detector does not know whether a quiet load balancer is still strategically important. Disaster recovery endpoints, internal services with sporadic traffic, or cutover infrastructure can all look idle while still being intentional.
That makes Unassociated Elastic IPs a good companion page. If both the front-end IP allocations and the load balancer look stale, the environment cleanup case is much stronger.
How to fix idle load balancer cost
Treat load balancer cleanup as a small network teardown, not just a delete command:
- Confirm no clients, DNS records, or route rules still rely on it.
- Remove or migrate any remaining listeners and target groups.
- Delete the load balancer after rollback expectations are clear.
aws elbv2 delete-load-balancer \
--load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/app-lb/1234567890abcdef
How this differs from nearby detectors
Unassociated Elastic IPs is about reserved public IP allocations with no active attachment. Idle RDS instances is about database footprint that no longer shows meaningful workload activity. This detector is specifically about ELB resources whose traffic or target picture no longer justifies keeping them online.
How Cloud Waste Hunter helps
Cloud Waste Hunter can surface idle load balancers with type, region, traffic evidence, target-count evidence, and estimated savings so teams can fold ELB cleanup into broader AWS environment rationalization. For related reviews, continue into the AWS Idle and Underused Resources guide.
FAQ
Can a load balancer be worth keeping even with no recent traffic?
Yes. Rare failover paths, maintenance endpoints, or low-frequency integrations can all make an apparently idle load balancer legitimate.
What exactly causes a finding?
The detector flags a load balancer when traffic is absent over the 14-day window or when no registered targets are detected. It does not require both conditions to be true.
Does this apply to ALB, NLB, and classic ELB?
Yes. The current implementation covers application, network, and classic load balancers, while skipping gateway load balancers.