storagecost-optimizationawsfinops

Cold storage retrieval fees: the cost of getting archived data back

Archive tiers advertise storage at a fraction of a cent per gigabyte. The catch is on the way out: retrieval fees, minimum durations, and per-request charges that can dwarf a year of storage savings.

The C3X Team··7 min read

Quick answer

Archive tiers trade cheap storage for expensive retrieval. S3 Deep Archive stores at 0.00099 dollars per GB-month but charges 0.02 dollars per GB for standard retrieval, meaning one retrieval costs the equivalent of roughly 20 months of storage. Glacier Flexible Retrieval stores at 0.0036 and charges 0.01 for standard or nothing for bulk. Glacier Instant Retrieval stores at 0.004 and charges 0.03 per GB. There are also minimum storage durations of 90 and 180 days and per-request retrieval fees. The rule is archive only what you will almost certainly never read.

Storage tiering looks like an obviously good idea. Data older than 90 days moves to an archive class, the storage line drops by 90 percent, and everyone is pleased. The trouble starts the first time somebody needs the data back, because archive classes are priced on the assumption that retrieval is rare, and they enforce that assumption with fees.

The full picture per tier

TierStorage /GB-moRetrieval /GBMin durationRetrieval time
S3 Standard0.023NoneNoneImmediate
Standard-IA0.01250.0130 daysImmediate
Glacier Instant Retrieval0.0040.0390 daysImmediate
Glacier Flexible (standard)0.00360.0190 days3 to 5 hours
Glacier Flexible (bulk)0.0036Free90 days5 to 12 hours
Deep Archive (standard)0.000990.02180 daysup to 12 hours
Deep Archive (bulk)0.000990.0025180 daysup to 48 hours

The break-even arithmetic

For 100 TB, S3 Standard costs about 2,355 dollars per month. Deep Archive costs about 101 dollars, a saving of roughly 2,254 dollars monthly. One full standard retrieval of that 100 TB costs about 2,048 dollars, which is just under one month of the savings. So retrieving the whole archive once a year is fine; retrieving it monthly makes Deep Archive more expensive than Standard.

Glacier Instant Retrieval is the tier most often misused. At 0.03 dollars per GB retrieved it is the most expensive retrieval of any class, and it stores at 0.004 against Standard-IA's 0.0125. The break-even is roughly a 4 percent monthly access rate: if you read more than about 4 percent of the data each month, Standard-IA is cheaper despite storing at three times the price. Detailed analysis is in Glacier Instant Retrieval cost.

Minimum storage durations bite on deletion

Every archive class has a minimum billable duration: 30 days for Standard-IA, 90 for both Glacier Instant and Flexible, and 180 for Deep Archive. Delete an object earlier and you are billed for the remainder. A lifecycle policy that moves objects to Deep Archive at day 30 and deletes them at day 90 pays 180 days of Deep Archive storage for objects that existed for 90, which is pure waste. Match the lifecycle transitions to the retention policy: if data is deleted at 90 days, do not send it to a tier with a 180 day minimum.

Per-request fees add up on small objects

Retrieval is billed per request as well as per gigabyte. Glacier Flexible standard retrieval requests cost about 0.05 dollars per 1,000 and bulk about 0.025 per 1,000. Deep Archive standard requests are about 0.10 dollars per 1,000. Restoring 10 million small files from Deep Archive costs 1,000 dollars in request fees regardless of their size, which for 100 KB files totaling 1 TB dwarfs the 20 dollars of per-GB retrieval.

There is also a per-object overhead: archive classes add 32 KB to 40 KB of metadata charged at Standard or the archive rate per object. For millions of tiny objects, that overhead can exceed the data itself. Archiving small files is almost always wrong; aggregate them into larger archives first.

Retrieval time is a cost too

Bulk retrieval from Deep Archive can take 48 hours. If the retrieval is part of an incident response or a legal discovery deadline, waiting two days may not be acceptable, which forces standard or expedited retrieval at eight to twelve times the price. Decide the acceptable retrieval time before choosing the tier, not during the emergency.

Egress is separate and often larger

Retrieval fees only move data from the archive into the standard tier. If the data then leaves the cloud, you pay internet egress at 0.09 dollars per GB on top. Restoring 10 TB from Deep Archive for an external auditor costs about 200 dollars in retrieval and about 920 dollars in egress, so the retrieval fee is the smaller half. Keeping the analysis in-region avoids that entirely.

A tiering policy that holds up

Send to Standard-IA anything read occasionally. Send to Glacier Flexible anything you expect to read at most once or twice a year, and plan to use bulk retrieval, which is free. Send to Deep Archive only compliance data you expect never to read, and only if it will live beyond 180 days. Aggregate small files before archiving. And never tier data whose access pattern you have not measured, because the retrieval fee on a wrong guess is far larger than the storage saving on a right one. Price your storage lifecycle against the resource catalog.

FAQ

How much do cold storage retrieval fees cost?

S3 Deep Archive charges 0.02 dollars per GB for standard retrieval and 0.0025 for bulk. Glacier Flexible Retrieval charges 0.01 for standard and nothing for bulk. Glacier Instant Retrieval charges 0.03 per GB, the highest of any class. Standard-IA charges 0.01. These are separate from data transfer, which applies again if the data then leaves the cloud.

When does archiving stop being worth it?

When retrieval frequency rises above the break-even. For 100 TB, Deep Archive saves about 2,254 dollars per month against Standard, while one full standard retrieval costs about 2,048 dollars. Retrieving the whole archive annually is clearly worthwhile; retrieving it monthly makes Deep Archive more expensive than Standard once retrieval fees are counted.

What are minimum storage durations?

Every archive class bills a minimum period regardless of when you delete: 30 days for Standard-IA, 90 days for both Glacier Instant and Flexible Retrieval, and 180 days for Deep Archive. A lifecycle policy moving objects to Deep Archive at day 30 and deleting at day 90 pays 180 days of storage for objects that lived 90, which is pure waste.

Do small files cost more to archive?

Substantially. Retrieval is billed per request as well as per GB: restoring 10 million small files from Deep Archive costs about 1,000 dollars in request fees at 0.10 dollars per 1,000, regardless of size. Archive classes also add 32 KB to 40 KB of per-object metadata overhead. For millions of tiny objects that overhead can exceed the data, so aggregate first.

Does retrieval time affect cost?

Indirectly but significantly. Bulk retrieval from Deep Archive can take 48 hours, which is unacceptable during an incident or against a legal discovery deadline, forcing standard or expedited retrieval at eight to twelve times the price. Deciding the acceptable retrieval window before choosing the tier avoids paying an emergency premium later.

How does C3X help with storage tiering cost?

C3X prices storage configuration from Terraform before deployment, including buckets, storage classes, and lifecycle rules. Because a lifecycle transition that mismatches your retention policy, or a tier whose retrieval fee exceeds its storage saving, is defined in Terraform, seeing the priced plan is where those mismatches get caught before data starts moving.

What to do next

Check your tiering policy before it archives a petabyte. C3X prices Terraform against a live resource catalog. Start with the quickstart.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.