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

ChargePriceUnit
EBS snapshot storage (EBS:SnapshotUsage)$0.05per GB-month
EBS snapshot archive tier (EBS:SnapshotArchiveStorage)$0.0125per 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

  1. Open Billing and Cost Management, then Cost Explorer, and set the date range to the last 3 months with Monthly granularity.
  2. Set Group by to Usage type.
  3. In the Filters panel choose Usage type and tick the entries ending in EBS:SnapshotUsage (the region prefix, such as USE1-, differs by region).
  4. Read the monthly cost per usage type. A line that grows faster than your traffic is the one to chase with the fix below.
  5. 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

  1. EC2 console > Snapshots; sort by Start time and Size; filter Owner = Owned by me.
  2. Open Data Lifecycle Manager (EC2 > Lifecycle Manager) and check whether a policy retains snapshots only as long as you need.
  3. 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).
  4. Delete snapshots you have confirmed are not needed, oldest first.
  5. 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.

See a sample result

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

Part of the guide: Reduce your AWS bill as a startup: a checklist for teams with no FinOps person