Home › Decoder › EBS:SnapshotUsage - the snapshot storage line, and how to trim it
EBS:SnapshotUsage - the snapshot storage line, and how to trim it
EBS:SnapshotUsage is the monthly charge for EBS snapshot data, $0.05 per GB-month in US East (N. Virginia); snapshots moved to the archive tier cost $0.0125 per GB-month.
In your bill the usage type reads: EBS:SnapshotUsage, USE1-EBS:SnapshotUsage
What it costs
| Charge | Price | Unit |
|---|---|---|
| EBS snapshot storage (EBS:SnapshotUsage) | $0.05 | per GB-month |
| EBS snapshot archive tier (EBS:SnapshotArchiveStorage) | $0.0125 | per GB-month |
US East (N. Virginia); other regions differ. Checked 2026-11-04. Sources: AWS EBS pricing, EBS snapshots (docs).
Example with made-up numbers
20,000 GB of snapshot data stored
20,000 GB x $0.05 = $1,000.00 per month on the EBS:SnapshotUsage line
If 8,000 GB belongs to snapshots of long-gone volumes and is deleted: 8,000 x $0.05 = $400.00 per month saved
If 5,000 GB must be kept but is rarely restored and moves to archive: 5,000 x ($0.05 - $0.0125) = $187.50 per month saved, before any restore charge
Typical causes
Backup jobs with no expiry
A scheduled snapshot job without a retention count keeps every snapshot forever.
Snapshots of terminated instances
Deleting an instance or volume does not delete its snapshots.
Old AMIs
Each AMI keeps its snapshots until it is deregistered and they are deleted.
Copies in other regions
Disaster recovery copies bill under the same line in the destination region.
Find it in your bill
Have a CUR file queryable in Athena? Paste this and run it:
SELECT date_trunc('month', line_item_usage_start_date) AS month,
line_item_product_code,
line_item_usage_type,
line_item_resource_id,
SUM(line_item_usage_amount) AS usage_amount,
SUM(line_item_unblended_cost) AS cost
FROM your_cur_table
WHERE line_item_usage_type LIKE '%EBS:SnapshotUsage'
GROUP BY 1, 2, 3, 4
ORDER BY month DESC, cost DESC
LIMIT 50;Columns used: line_item_usage_start_date, line_item_product_code, line_item_usage_type, line_item_resource_id, line_item_usage_amount, line_item_unblended_cost.
No CUR file? Use Cost Explorer
- Open Billing and Cost Management, then Cost Explorer, and set the date range to the last 3 months with Monthly granularity.
- Set Group by to Usage type.
- In the Filters panel choose Usage type and tick the entries ending in EBS:SnapshotUsage (the region prefix, such as USE1-, differs by region).
- Read the monthly cost per usage type. A line that grows faster than your traffic is the one to chase with the fix below.
- To see which resource drives it, query the CUR above; resource IDs appear only if your CUR was set up with resource IDs included, otherwise the resource column is empty.
Column names checked against: docs.aws.amazon.com/cur/latest/userguide/Lineitem-columns.html, docs.aws.amazon.com/cur/latest/userguide/cur-ate-run.html.
The fix, step by step
Verify first
Check these before you change anything: the steps below are suggestions, and only you can see your own configuration.
- A snapshot used by a registered AMI cannot be deleted until the AMI is deregistered; check which AMIs and launch templates still reference it.
- Snapshots are incremental: deleting one frees only blocks no other snapshot needs, so the saving can be smaller than the snapshot's size.
- Check backup and compliance retention requirements before deleting anything, and keep at least the latest snapshot of every volume you care about.
- Read the archive tier minimum storage period and restore charge on the current EBS pricing page before archiving.
In the console
- EC2 console > Snapshots; sort by Start time and Size; filter Owner = Owned by me.
- Open Data Lifecycle Manager (EC2 > Lifecycle Manager) and check whether a policy retains snapshots only as long as you need.
- For snapshots you must keep but rarely restore, select > Actions > Archive snapshot (check the archive minimum storage period and the restore charge on the EBS pricing page first).
- Delete snapshots you have confirmed are not needed, oldest first.
- Deregister AMIs nobody launches before deleting the snapshots behind them.
With the CLI
aws ec2 describe-snapshots --owner-ids self --query 'Snapshots[].[SnapshotId,StartTime,VolumeSize,Description]' --output table
aws ec2 describe-images --owners self --query "Images[].[ImageId,CreationDate,Name]" --output table
aws ec2 delete-snapshot --snapshot-id snap-EXAMPLE
aws ec2 modify-snapshot-tier --snapshot-id snap-EXAMPLE --storage-tier archive
Rollback
Deleted snapshots cannot be restored. An archived snapshot can be restored to the standard tier (a restore charge and wait apply; see the EBS pricing page).
Find your snapshot line in your own bill
Drop in your Cost Explorer or CUR CSV. Billtrim reads it in your browser, finds the snapshot line and shows the monthly dollars.
Paste your export: how to export a Cost Explorer CSV or CUR file in two minutes.
Questions people ask
Why did deleting a snapshot barely change the bill?
Snapshots are incremental. Blocks shared with a newer snapshot stay until that snapshot is deleted too.
Is the archive tier always cheaper?
Storage is cheaper ($0.0125 against $0.05 per GB-month), but archiving has a minimum storage period and a restore charge, so it suits snapshots you almost never restore. Check the current terms on the EBS pricing page.
Related
- EBS:VolumeUsage.gp2 - the gp2 volume line, and the cheaper gp3
- EBS:VolumeUsage.piops and VolumeP-IOPS.piops - io1 volumes, and the cheaper gp3
- TimedStorage-ByteHrs: the S3 Standard storage line
Part of the guide: Reduce your AWS bill as a startup: a checklist for teams with no FinOps person