Why Detached EBS Volumes Keep Billing You
When an EC2 instance is terminated without the DeleteOnTermination flag checked, its attached Amazon Elastic Block Store (EBS) volume is left in an available (unattached) state. AWS continues billing the full provisioned capacity and IOPS every hour indefinitely.
How Much Is Your Team Spending on AWS Monthly?
Based on hundreds of audited workloads, typical production environments carry 18% to 35% in direct recoverable waste in this category.
Identify Unattached EBS Volumes via AWS CLI
# List all unattached (available) EBS volumes across a region
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query "Volumes[*].{ID:VolumeId,Size:Size,Type:VolumeType,Created:CreateTime}" \
--output table
Migrating GP2 to GP3 for Instant 20% Cost Reduction
General Purpose SSD (gp2) volumes charge $0.10/GB-month and tie IOPS directly to volume size. Newer General Purpose SSD (gp3) volumes cost $0.08/GB-month (20% cheaper) while providing 3,000 baseline IOPS and 125 MB/s throughput regardless of disk size.
GP2 to GP3 migration can be executed live while instances are running with zero downtime via the AWS Console, CLI, or Terraform.
EBS Snapshot Retention
Frequently Asked Questions About EBS Volumes
No. Elastic Volumes support live modification. AWS modifies the underlying storage tier transparently without downtime or rebooting.
Deleting an EBS volume does NOT delete its snapshots. Historical snapshots remain billed in S3 until explicitly removed or retired via Lifecycle Manager.