Why This Matters
Unused load balancers represent high-cost waste with significant base charges even when serving zero traffic. Unlike other AWS resources that scale to zero cost, load balancers have fixed monthly fees regardless of usage, making them expensive to leave orphaned.
Common causes:
- Load balancers created for temporary testing that weren't cleaned up
- Infrastructure from decommissioned applications
- Development environments that were abandoned
- Over-provisioned load balancers during scaling events
How to Identify Unused Load Balancers
AWS Saver flags load balancers as unused when they meet these criteria:
- Zero healthy targets across all associated target groups
- Aged over 7 days (avoids flagging during deployments)
- Monthly cost above $5 (focuses on meaningful savings)
- Status is 'active' (provisioned and billing)
How to Fix Unused Load Balancers
Step 1: List all load balancers in your account
aws elbv2 describe-load-balancers \
--query 'LoadBalancers[].[LoadBalancerName,Type,State.Code,CreatedTime]'
Step 2: Get target groups for a specific load balancer
aws elbv2 describe-target-groups \
--load-balancer-arn arn:aws:elasticloadbalancing:region:account:loadbalancer/app/lb-name/id \
--query 'TargetGroups[].TargetGroupArn'
Step 3: Check target health across all target groups
aws elbv2 describe-target-health \
--target-group-arn arn:aws:elasticloadbalancing:region:account:targetgroup/tg-name/id \
--query 'TargetHealthDescriptions[?TargetHealth.State==`healthy`]'
Step 4: Check DNS records before deletion
aws route53 list-hosted-zones \
--query 'HostedZones[].Id' | xargs -I {} aws route53 list-resource-record-sets \
--hosted-zone-id {} --query 'ResourceRecordSets[?contains(AliasTarget.DNSName, `your-lb-dns-name`)]'
Step 5: Delete unused load balancer
aws elbv2 delete-load-balancer \
--load-balancer-arn arn:aws:elasticloadbalancing:region:account:loadbalancer/app/lb-name/id
Prevention Tips
Use infrastructure as code: Deploy load balancers through CloudFormation or Terraform to track lifecycle.
Tag resources: Use consistent tagging for environment and project to track load balancer ownership.
Set up monitoring: Create CloudWatch alarms for target health and request counts to catch unused load balancers.
Regular audits: Schedule monthly reviews of load balancer target health as part of cost optimization.
Automation Available
Skip the manual work. AWS Saver automatically scans load balancers and identifies those with zero healthy targets.
✅ Target health monitoring - Checks all target groups for healthy targets
✅ High-impact detection - Flags expensive ALB/NLB waste ($16-33/month each)
✅ Conservative thresholds - Only flags load balancers aged over 7 days
✅ Multi-region coverage - Scans all AWS regions simultaneously