Wring
All articlesAWS Guides

AWS EBS Cost Optimization: Cut Storage Costs

Reduce AWS EBS costs by 30-50% with GP2 to GP3 migration (20% savings), unused volume cleanup, and snapshot lifecycle policies. Actionable strategies inside.

Wring Team
March 14, 2026
5 min read
AWS EBSEBS optimizationblock storage costsGP3 migrationEBS snapshotsstorage optimization
Block storage optimization and disk management
Block storage optimization and disk management

EBS volumes are attached to virtually every EC2 instance, making them one of the most pervasive AWS costs. The waste is equally pervasive: unused volumes from terminated instances, GP2 volumes that should be GP3, over-provisioned IOPS, and snapshots that accumulate forever. EBS optimization is straightforward and delivers immediate savings.

TL;DR: Three quick wins: (1) Migrate GP2 to GP3 — 20% cheaper with better baseline performance (3,000 IOPS free vs GP2's size-dependent IOPS). (2) Delete unattached volumes — they cost the same whether attached or not. (3) Implement snapshot lifecycle policies — old snapshots accumulate silently at $0.05/GB/month.


EBS Volume Type Pricing

Volume TypeCost/GB/monthBaseline IOPSMax IOPSBest For
GP3$0.083,000 (free)16,000General purpose (recommended)
GP2$0.103 per GB16,000Legacy (migrate to GP3)
IO2 Block Express$0.125Provisioned256,000High-performance databases
ST1$0.04540 MB/s per TB500 MB/sThroughput-intensive
SC1$0.01512 MB/s per TB250 MB/sCold storage

Additional GP3 IOPS and Throughput

ComponentIncluded FreeAdditional Cost
IOPS3,000$0.005 per IOPS/month
Throughput125 MB/s$0.04 per MB/s/month
Ebs Cost Optimization Guide process flow diagram

Strategy 1: Migrate GP2 to GP3

GP3 is 20% cheaper per GB ($0.08 vs $0.10) and includes 3,000 baseline IOPS free, regardless of volume size. GP2 provides only 3 IOPS per GB, so a 100 GB GP2 volume gets only 300 IOPS vs GP3's 3,000.

Volume SizeGP2 CostGP2 IOPSGP3 CostGP3 IOPSSavings
100 GB$10/mo300$8/mo3,00020% + 10x IOPS
500 GB$50/mo1,500$40/mo3,00020% + 2x IOPS
1 TB$100/mo3,000$80/mo3,00020%

Migration is live: GP2 to GP3 conversion requires no downtime, no detach, and no reboot. Run it during business hours with zero risk.

Strategy 2: Delete Unattached Volumes

When EC2 instances are terminated, EBS volumes with DeleteOnTermination=false persist and continue incurring charges. Audit unattached volumes regularly.

Find unattached volumes: Check for volumes with State: available in the EC2 console or use AWS Config rules to detect them automatically.

Common culprits: Volumes from terminated development instances, old database snapshots restored to volumes for one-time queries, and AMI-related volumes.

Strategy 3: Manage Snapshot Costs

EBS snapshots cost $0.05/GB/month and accumulate indefinitely unless you create lifecycle policies.

Snapshot StrategyMonthly Cost (1 TB volume)
Daily snapshots, keep forever (1 year)$600 (incremental, ~1 TB total)
Daily snapshots, keep 30 days$50
Weekly snapshots, keep 90 days$65

Use Amazon Data Lifecycle Manager (DLM) to automate snapshot creation and retention. Delete manual snapshots older than 90 days.

Strategy 4: Right-Size Volume Capacity

Most EBS volumes are provisioned for peak capacity that never arrives. A 500 GB volume running at 30% utilization wastes $28/month.

How to right-size:

  • Monitor VolumeReadBytes and VolumeWriteBytes in CloudWatch via AWS Cost Management
  • Check disk utilization from the OS level (CloudWatch Agent required)
  • For volumes under 50% disk utilization, shrink by creating a smaller volume from a snapshot

Strategy 5: Use ST1/SC1 for Sequential Workloads

For large datasets accessed sequentially (log processing, data warehousing, Hadoop), ST1 ($0.045/GB) is 44% cheaper than GP3. SC1 ($0.015/GB) is 81% cheaper for cold data that's rarely accessed.

WorkloadRecommended Typevs GP3 Savings
Log storage, analyticsST144%
Archival, cold backupSC181%
General purposeGP3Baseline
Database (high IOPS)IO2Premium

Strategy 6: Avoid Over-Provisioning IOPS

GP3 additional IOPS cost $0.005/IOPS/month. Provisioning 10,000 extra IOPS adds $50/month. Monitor VolumeReadOps and VolumeWriteOps to verify you're actually using provisioned IOPS.

Rule of thumb: Start with GP3 baseline (3,000 IOPS) and only add provisioned IOPS if you see throttling (VolumeQueueLength consistently above 1).

Ebs Cost Optimization Guide optimization checklist

Related Guides


FAQ

How do I migrate from GP2 to GP3?

In the EC2 console, select the volume, choose Modify Volume, change type to GP3. The migration happens live with no downtime. Performance may be slightly reduced during the migration (typically minutes to hours depending on volume size).

Can I shrink an EBS volume?

Not directly. You must create a snapshot, create a new smaller volume from the snapshot, and migrate data. This requires downtime. Plan for it during maintenance windows.

Are EBS snapshots full copies or incremental?

Incremental. The first snapshot is a full copy; subsequent snapshots only store changed blocks. However, each snapshot is independently restorable — deleting old snapshots doesn't affect newer ones.

Ebs Cost Optimization Guide key statistics

Lower Your EBS Costs with Wring

Wring helps you access AWS credits and volume discounts to lower your EBS costs. Through group buying power, Wring negotiates better rates so you pay less per GB.

Start saving on EBS →