AWS Glacier Pricing and Cold Archive Cost Modeling
Retrieval fees and minimum durations, not storage rates, decide your cold archive bill.

Storage rates get all the attention. Retrieval fees, minimum durations, and small-object overhead are what actually decide the bill. Many IT leaders still struggle to control cloud costs despite years of practice managing them, and cold archive pricing is a big reason why.
AWS runs three Glacier tiers: Instant Retrieval at $0.004/GB-month, Flexible Retrieval at $0.0036/GB-month, and Deep Archive at $0.00099/GB-month. Looking at those three numbers alone tells you almost nothing about which one actually saves money for a given dataset. Retrieval fees, minimum storage commitments, per-request charges, egress, and the overhead tax on small objects all sit on top of the sticker price, and skipping any one of them can throw a cost estimate off by a full order of magnitude. This piece builds the full model, tier by tier, so the numbers hold up once real access patterns get involved.
One note before diving in: every rate below is US East (N. Virginia). Other regions price differently, so check aws.amazon.com/s3/pricing before locking anything into a spreadsheet.
The full rate table for every Glacier tier and its nearest neighbors
Here's the ladder, from S3 Standard down to Deep Archive, with the four numbers that actually matter: storage rate, retrieval time, minimum duration, and minimum object size.
S3 Standard-IA: $0.0125/GB-month, about 46% cheaper than S3 Standard. Thirty-day minimum, 128 KB minimum object size, $0.01/GB retrieval fee.
Glacier Instant Retrieval: $0.004/GB-month, 83% cheaper than Standard. Retrieval happens in milliseconds. Ninety-day minimum, 128 KB minimum object, $0.03/GB retrieval fee.
Glacier Flexible Retrieval: $0.0036/GB-month, ninety-day minimum, 40 KB overhead charged per object. Bulk retrieval (5 to 12 hours) is free. Standard retrieval (3 to 5 hours) runs $0.01/GB. Expedited (1 to 5 minutes) runs $0.03/GB.
Glacier Deep Archive: $0.00099/GB-month, 96% cheaper than S3 Standard. Hundred-eighty-day minimum, same 40 KB per-object overhead as Flexible Retrieval. Standard retrieval within 12 hours costs $0.02/GB, bulk within 48 hours costs $0.0025/GB.
That table (compiled from Usage.ai, updated June 2026, citing AWS official pricing, along with nubbo.app from May 2026, cloudburn.io from April 2026, amnic.com, and LeanOps from April 2026) is a starting point, not a cost model. The columns teams tend to skip, retrieval fee, minimum duration, object overhead, are exactly the ones that decide whether a tier actually saves money. Rates change over time too, so treat every number here as something to verify, not something to copy into a budget forecast unchecked.
How retrieval fees accumulate and when they exceed storage savings
Retrieval fees get charged per gigabyte pulled out of cold storage, on top of whatever egress costs follow. They're not a rounding error tacked onto the bill. They can be the bill.
Take Deep Archive at real scale. Storing 1 petabyte costs $1,013 a month, a number that looks fantastic on a slide. Restore that same petabyte at standard retrieval rates, though, and the fee comes to $20,972, plus another roughly $52,000 in egress. One restore event costs many times more than a year of storage at that monthly rate. That's the trap: the sticker price sells the tier, the restore bill collects the debt.
Smaller scale, same math. Expedited retrieval on Glacier Flexible Retrieval runs $0.03/GB, so pulling back 1 TB in a hurry costs $30.72 in retrieval fees alone, and expedited is exactly the mode teams reach for when something's on fire. Bulk retrieval (5 to 12 hours) is genuinely free, which matters a lot if the restore can wait half a day.
Request fees pile on top. A million GET requests against Glacier Instant Retrieval cost $10 in request fees, plus $0.03/GB for every gigabyte returned. The same million GETs against regular S3 Standard storage cost $0.40. AWS also sells provisioned capacity for expedited retrieval guarantees, $100 a month per unit, covering at least three expedited retrievals every five minutes with up to 150 MB/s of bandwidth. Skip that add-on and expedited requests get fulfilled on a capacity-available basis, which is one more variable to plan around rather than assume away.
Access frequency, not storage volume, is the number that decides whether cold storage actually saves money. Call it the breakeven access frequency. It's the concept the rest of this piece keeps coming back to.
Minimum storage durations and the early-deletion charge
Glacier Flexible Retrieval and Instant Retrieval both carry a ninety-day minimum. If an object is deleted or transitioned before day 90, AWS still bills for the rest of that window, no exceptions.
Deep Archive doubles the wait time to 180 days. Deleting an object on day 30 means AWS charges for the remaining 150 days anyway. That one rule makes Deep Archive a bad fit for anything with a retention timeline that isn't locked in.
Google Cloud draws the line even further out: its Archive tier imposes a 365-day minimum, and deleting, overwriting, or transitioning early triggers a charge for whatever's left of that year. A cross-cloud comparison should account for this.
Lifecycle transitions carry the same risk internally. Moving an object from Glacier Instant Retrieval into Deep Archive before it clears its own ninety-day minimum causes AWS to charge a prorated fee for the days it didn't finish at the tier it left. AWS won't transition objects 128 KB or smaller by default, since doing so isn't cost-efficient. That default can be switched off, though. Teams who aren't paying close attention can end up transitioning tiny files anyway and eating the overhead.
The rule that falls out of all this is simple: commit to Deep Archive only when the 180-day hold is certain, and commit to Flexible or Instant Retrieval only when ninety days is certain. Anything less than certain, and the "savings" are theoretical.
The small-object overhead problem in Glacier
Glacier Flexible Retrieval and Deep Archive both tack on a flat 40 KB of metadata overhead per object, billed in two pieces: 32 KB at the Glacier storage rate, 8 KB at the S3 Standard rate. That charge applies no matter how small the actual object is.
Store a 1 KB file and the metadata overhead outweighs the real storage cost by a wide margin. When that is multiplied by millions of small files, logs, event records, thumbnails, and telemetry pings, the overhead becomes a line item instead of a rounding error. Go-cloud.io (February 2026) found that a lifecycle rule transitioning 100 million small objects into Glacier runs up $5,000 in transition fees alone before it produces a single dollar of storage saving.
The fix is boring but effective: bundle small objects into archives, tar, zip, Parquet, whatever fits the pipeline, before they ever hit a Glacier transition rule. That cuts both the per-object overhead and the request-fee exposure at once.
This matters most for AI pipelines, which tend to generate huge volumes of small files: log fragments, inference outputs, checkpoint snapshots. Consolidate first, archive second. Skipping that step lets the overhead tax quietly eat the savings the migration was supposed to deliver.
Egress: the cost that often exceeds storage in practice
Egress is the charge for data leaving S3, either out to the internet or across regions, and it sits entirely separate from retrieval fees. Two different charges, same restore event.
Usage.ai (June 2026) reports that internet egress runs on a tiered scale: $0.09/GB for the first band after the free allowance, stepping down to $0.085/GB, then $0.07/GB, then $0.05/GB at the highest volumes. Cross-region transfers within AWS cost a flatter $0.02/GB, which adds up fast for teams running cross-region replication for compliance or disaster recovery.
Run the numbers on something modest: a team storing 1 TB and serving 500 GB out each month pays around $23 in storage and $45 in data transfer. Egress costs nearly double the storage bill, on a dataset that isn't even that large.
Cross-cloud, the egress rates in 2026 run: Google Cloud Storage Premium Tier at $0.12/GB, AWS S3 at $0.09/GB, Azure Blob around $0.087/GB at the first tier. Enough of a spread that a workload with frequent restores might land on a better total cost elsewhere, depending entirely on restore volume.
Back to the Deep Archive petabyte scenario from earlier: the $20,972 retrieval fee pairs with roughly $52,000 in egress. At that scale, egress is the bigger number, not retrieval. Same-region transfers within AWS are free, but any restore that leaves AWS entirely pays full freight.
Building a complete cost model: the variables that have to be inputs
A real cold archive cost model needs eight inputs, no fewer:
- Storage volume, in GB
- Annual data growth rate
- Intended retention period, in months or years
- Expected restore frequency, events per year or per month
- Expected restore volume per event, in GB
- Restore urgency (bulk, standard, or expedited), which sets the retrieval fee tier
- Object count and average object size, which drives overhead and request-fee exposure
- Egress destination (same region, cross-region, or public internet)
If any of those are left out, the storage rate becomes a lower bound instead of a cost estimate, a number that's technically true and practically useless.
The arithmetic itself isn't complicated: monthly cost equals storage cost, plus retrieval frequency times retrieval volume times retrieval rate, plus retrieval frequency times egress volume times egress rate, plus whatever minimum-duration exposure applies, plus object-overhead cost. Five terms, and skipping any one of them is how a monthly estimate goes from accurate to fictional.
That breakeven access frequency mentioned earlier has real numbers behind it. Comparing Glacier Instant Retrieval against Standard-IA, there is a breakeven access frequency beyond which Standard-IA wins on total cost. Access more often than that, and Standard-IA wins on total cost. Less often, and Instant Retrieval pulls ahead.
Deep Archive's breakeven sits much lower. Retrieving even a modest slice of stored data, under roughly 1% a month, can erode the storage savings entirely. The tier only pays off when access is genuinely rare, not occasionally rare.
One more term belongs in the model, separate from everything else: the minimum-duration penalty. If data has an uncertain lifespan and might get deleted before hitting 90 or 180 days, that expected penalty needs its own line in the spreadsheet, not a footnote.
Three real-world scenarios that illustrate how the model plays out
Scenario 1: the compliance archive that actually works. Consider a company holding a large regulatory video archive in S3 Standard. Over the prior retention period, retrievals were genuinely rare, pulling back data only a handful of times across the full year. Migrating to Deep Archive can cut the monthly bill sharply, and the savings projected out over a seven-year retention window add up to a serious number. The reason it worked: access frequency was close enough to zero to matter, the retention period was locked at seven-plus years, and the 180-day minimum posed zero risk since nothing in that archive was getting deleted early.
Scenario 2: the anti-pattern. A lifecycle rule shoves everything older than thirty days straight into Glacier Flexible Retrieval, no questions asked. Then analysts turn out to need that data weekly, and suddenly restore fees are running hundreds of dollars a month. The archival tier was right for retention. It was wrong for the access pattern, which is a distinction that costs real money to learn. The fix is almost always Intelligent-Tiering or a lifecycle policy built around actual usage instead of a flat thirty-day cutoff. Misclassifying frequently accessed data into cold tiers erodes paper savings fast, through a combination of transition fees and minimum-duration billing blocks stacking on top of each other.
Scenario 3: petabyte scale, deep archive migration. LeanOps (April 2026) found that a 500 TB footprint sitting in S3 Standard runs $11,500 a month in storage alone, $138,000 a year. Shifting that same footprint into Deep Archive drops the raw capacity spend by a wide margin. But any unplanned restore at that scale drags retrieval and egress fees right back into the picture, and they don't come back small. The decision only makes sense once someone models expected restore events across the entire retention period, not just the monthly delta on the storage line.
How the three tiers compare against each other and against the nearest cross-cloud alternatives
Inside AWS, each Glacier tier has a clear lane. Deep Archive wins for true compliance data, accessed less than once a year, with retention locked at 180 days or beyond. The 96% discount against S3 Standard compounds hard over seven-to-ten-year holds. Flexible Retrieval wins when restores are genuinely infrequent and can tolerate the 5-to-12-hour bulk window, which keeps retrieval cost very low. Instant Retrieval wins for data accessed roughly quarterly where millisecond restore actually matters, but it loses to Standard-IA once access frequency crosses about once every five to six weeks, because that $0.03/GB retrieval fee stacks up faster than the storage discount can offset it.
Outside AWS, Azure's Blob Archive tier prices storage at $0.00099/GB, matching Deep Archive exactly, with Hot at $0.018/GB-month, Cool at $0.010/GB, and Cold at $0.0045/GB. Teams already running Azure workloads may find egress cheaper within that ecosystem than shipping data cross-cloud, though the right comparison is always total restore cost, not storage-rate parity alone.
Google Cloud runs a multi-tier model that includes Standard and Archive tiers, spanning $0.020/GB-month down to $0.0012/GB-month at the coldest tier. None of these providers is universally cheaper. The right answer depends on where the data already lives, how often it actually gets pulled, and whether the team modeling the cost bothered to include retrieval, egress, and minimum-duration exposure, or just copied the storage rate off a pricing page and called it done.


