Why This Matters
Unattached EBS volumes are often overlooked but represent pure waste - you're paying for storage that serves no purpose. This commonly happens when instances are terminated without deleting attached volumes, leaving orphaned storage behind.
Common causes:
- Instances terminated without deleting attached volumes
- Volumes created for temporary testing that weren't cleaned up
- Manual volume detachment without proper cleanup procedures
How to Identify Unattached Volumes
AWS Saver flags volumes as waste when they meet these criteria:
- Status is 'available' (not attached to any instance)
- Aged over 7 days (avoids flagging new deployments)
- Monthly cost above $5 (focuses on meaningful savings)
- No recent attachment activity (truly orphaned)
How to Fix Unattached Volumes
Step 1: Find all unattached volumes
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[*].[VolumeId,Size,VolumeType,CreateTime,Tags[?Key==`Name`].Value|[0]]'
Step 2: Filter by age (only consider volumes over 7 days old)
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[?CreateTime<=`$(date -u -d "7 days ago" +%Y-%m-%d)`].[VolumeId,Size,VolumeType,CreateTime]'
Step 3: Create snapshot backup (optional but recommended)
aws ec2 create-snapshot \
--volume-id vol-1234567890abcdef0 \
--description "Backup before deletion $(date +%Y%m%d)"
Step 4: Delete unattached volume
aws ec2 delete-volume --volume-id vol-1234567890abcdef0
Prevention Tips
Terminate instances properly: Use AWS console or CLI with --delete-on-termination flag for root volumes.
Set retention policies: Configure lifecycle rules for temporary volumes and snapshots.
Tag resources: Use consistent tagging to track volume ownership and lifecycle.
Regular audits: Schedule monthly reviews of unattached volumes as part of cost optimization.
Automation Available
AWS Saver automatically scans for unattached EBS volumes using the same criteria and conservative thresholds:
✅ Automated detection - Scans all 'available' volumes in your primary region
✅ Conservative filtering - Only flags volumes aged over 7 days old and above $5/month cost
✅ Cost impact analysis - Shows exact monthly waste per volume
✅ Snapshot recommendations - Identifies old snapshots aged over 6 months for cleanup