AWS costs: S3 storage classes decided honestly - IA, Glacier, Intelligent-Tiering

Logeshwaran.C

The honest answer is that there's no single cheapest S3 storage class — there's a cheapest class for data with a specific, known access pattern, and picking the wrong one costs more than doing nothing at all. If you access an object more than once a month, S3 Standard is usually still the right call despite looking expensive on paper. If you know it won't be touched for 90 days or more and you can wait hours for it back, one of the three S3 Glacier classes will save the most money. And S3 Intelligent-Tiering, despite being marketed as the "set it and forget it" answer to all of this, is built for exactly one situation: when you genuinely don't know how often an object will be accessed.

⚡ Quick Answer

Accessed weekly or more → S3 Standard. Don't overthink it.

Accessed monthly, needs to come back instantly → S3 Standard-IA (or One Zone-IA if you can afford to lose the copy).

You genuinely don't know the pattern → S3 Intelligent-Tiering, and let it do the watching.

Accessed a few times a year, milliseconds matter → S3 Glacier Instant Retrieval.

Accessed once a year or less, minutes-to-hours is fine → S3 Glacier Flexible Retrieval.

Compliance data you hope to never open → S3 Glacier Deep Archive. Full breakdown, real numbers, and the mistakes that quietly inflate the bill are below — start with picking a class by real use case.

Jake runs a phone repair shop, and every finished job gets three or four photos: the device before, the parts pulled, the device after, sometimes a screen recording proving it powers on. Multiply that by a few thousand repairs a year and you get a lot of files sitting in an S3 bucket, almost none of which anyone will ever open again — except the handful from last week, which customers keep asking about.

"I looked at my AWS bill last month," Jake says, "and it's gone up every quarter for two years. Nobody's downloaded a photo from 2024. Why am I still paying full price to store it?"

That's the whole problem in one sentence, and it's why Amazon S3 doesn't have one storage class — it has eight, each priced around a different assumption about how often you'll come back for the data and how long you're willing to wait when you do. Get the assumption right and the bill drops sharply. Get it wrong in the other direction — chase the cheapest possible storage for data you actually need often — and you pay it back many times over in retrieval fees and waiting.

The real cost of getting storage classes wrong

There are two ways to lose money on S3 storage classes, and most guides only warn you about one of them.

The obvious one: leaving old, rarely-touched data in S3 Standard. Standard is the default storage class — if you upload an object without specifying a class, that's what it gets — and it's priced for data that gets accessed frequently, with no retrieval fee and no minimum time you have to keep it. Every gigabyte of five-year-old repair photos sitting in Standard is paying a premium for instant access nobody is using.

The less obvious one, and the one that trips people up after they've read the first warning: moving data into a cheaper class too aggressively, or into the wrong cheap class. S3 Standard-IA, S3 One Zone-IA, and all three S3 Glacier classes charge a per-GB retrieval fee, and the two IA classes plus S3 Glacier Instant Retrieval and S3 Glacier Flexible Retrieval carry a minimum storage duration — 30 days for the IA classes, 90 days for Glacier Instant Retrieval and Glacier Flexible Retrieval, 180 days for Glacier Deep Archive. Delete, overwrite, or transition an object out of one of these classes before that minimum is up, and you're billed for the full minimum anyway, prorated for the days you didn't use.

‍♂️ Jake's Reality Check

"So if I just move everything to the cheapest class, I win either way?"

No — and this is the part almost nobody explains up front. The cheapest storage class per gigabyte-month is S3 Glacier Deep Archive, and if you moved your entire bucket there, you'd also make every single photo take up to 12 hours to get back, and you'd owe a 180-day minimum on anything you later need to touch or delete. "Cheapest to store" and "cheapest overall" are not the same question, and this whole post is really about the gap between them.

The right way to think about it isn't "which class is cheapest" — it's "what does this specific set of objects actually need," measured in two things: how often will it realistically be opened, and how long can the person opening it afford to wait. Everything below maps to those two questions.

How the S3 storage classes actually differ

Every S3 storage class carries the same eleven-nines durability figure — Amazon's documentation lists 99.999999999% designed durability for Standard, both IA classes, Intelligent-Tiering, and all three Glacier classes. Durability is not the thing that changes between classes. What changes is availability (how often the object is guaranteed to be reachable when you ask for it), how many physically separate data centers your copy is spread across, whether there's a minimum time you have to keep the object, and whether there's a minimum billable size per object.

Storage class Designed for Availability AZs Min. storage duration Min. billable object size
S3 Standard Accessed more than once a month, needs millisecond access 99.99% ≥ 3 None None
S3 Intelligent-Tiering Unknown or changing access patterns 99.9% ≥ 3 None None (objects under 128 KB always stay in the Frequent tier)
S3 Standard-IA Accessed about once a month, needs millisecond access 99.9% ≥ 3 30 days 128 KB
S3 One Zone-IA Re-creatable, infrequently accessed data 99.5% 1 30 days 128 KB
S3 Glacier Instant Retrieval Archive data accessed about once a quarter, needs millisecond access 99.9% ≥ 3 90 days 128 KB
S3 Glacier Flexible Retrieval Archive data accessed about once a year, minutes-to-hours retrieval acceptable 99.99% (after restore) ≥ 3 90 days Not applicable*
S3 Glacier Deep Archive Archive data accessed less than once a year, hours retrieval acceptable 99.99% (after restore) ≥ 3 180 days Not applicable*

* S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive don't have a minimum billable object size the way the IA classes do, but every archived object carries roughly 40 KB of metadata overhead — 8 KB billed at S3 Standard rates and 32 KB billed at the archive class's own rate — so archiving huge numbers of tiny files still costs more per file than archiving fewer, larger ones.

Notice that every class except S3 One Zone-IA spreads your data across three or more Availability Zones. One Zone-IA is the one exception, and it's built on purpose for data you could re-create if that single Availability Zone were lost — a disaster scenario, but not a hypothetical one, since Amazon's own documentation flags it as "not resilient to the physical loss of the Availability Zone resulting from disasters, such as earthquakes and floods."

S3 Standard-IA and One Zone-IA: the 30-day trap

IA stands for infrequent access, and the pitch is simple: same millisecond access speed as Standard, lower storage cost, in exchange for a per-GB retrieval fee every time you actually pull the object. That trade only pays off if you genuinely don't pull the object very often — Amazon's own guidance frames these classes around data accessed roughly once a month, things like backups or older files that still need to be readable instantly when someone does ask for them.

The trap is the 30-day minimum storage duration. If you delete an object, overwrite it, or transition it to a different class before it's been in Standard-IA or One Zone-IA for 30 days, you're charged the normal storage rate for however long it was actually there, plus a prorated charge to cover the rest of the 30 days. Store it for 30 days or longer and that minimum simply doesn't apply. In practice this means Standard-IA is the wrong destination for anything with a short, unpredictable lifespan — temp exports, staging files, anything that might get deleted next week. It's the right destination for things you're confident will sit untouched for a month or more.

⚠️ What this actually breaks

A lifecycle rule that transitions objects to Standard-IA after 30 days, combined with an application that deletes objects on a rolling 45-day retention window, will hit that 30-day minimum on every single object deleted between day 30 and day 60 of its life — quietly generating a small penalty charge on a large share of your deletions, month after month, until someone notices the pattern in the bill.

Choosing between Standard-IA and One Zone-IA comes down to one question: could you re-create this data, or get it from somewhere else, if it vanished? Standard-IA keeps the same multi-Availability-Zone resilience as Standard, so Amazon recommends it for your primary or only copy of data that can't be re-created. One Zone-IA stores the data in a single Availability Zone only, which is why it's priced lower — but it's meant for replicas (for example, the destination side of S3 Cross-Region Replication) or for data you could regenerate from a source of truth elsewhere. Treating One Zone-IA as your only copy of something irreplaceable is the popular-advice mistake that only shows up the day an Availability Zone actually goes down.

S3 Intelligent-Tiering: what "automatic" actually costs

S3 Intelligent-Tiering is the only S3 storage class that moves individual objects between cost tiers automatically, based on how recently each one was actually accessed, with no retrieval fees at any tier and no penalty for guessing wrong about the access pattern up front. Amazon's documentation is direct about who it's for: "data that has unknown or changing access patterns." That phrase is doing a lot of work, and it's worth sitting with, because it's also the source of the one genuinely surprising fact in this whole topic.

 How the tiers actually move

  • Frequent Access — where every object lands on upload or transition.
  • Infrequent Access — objects untouched for 30 consecutive days move here automatically.
  • Archive Instant Access — objects untouched for 90 consecutive days move here automatically, still with millisecond access.
  • Archive Access (opt-in) — objects untouched for a minimum of 90 consecutive days, once you activate this tier; retrieval times match S3 Glacier Flexible Retrieval.
  • Deep Archive Access (opt-in) — objects untouched for a minimum of 180 consecutive days, once you activate this tier; retrieval times match S3 Glacier Deep Archive.

Here's the part that doesn't get said out loud often enough: Intelligent-Tiering charges a small monthly monitoring and automation fee for every object it watches, on top of storage. That fee is the price of not having to decide up front — AWS is doing the classification work you'd otherwise do yourself with a lifecycle rule. If you already know, with confidence, that a folder of files is cold — old repair photos from three years ago, closed-out invoices, anything you're only keeping for a compliance window — you already have the information Intelligent-Tiering is charging you to discover. Setting that folder straight to Glacier Deep Archive with a lifecycle rule does the same job for less, because you're not paying anyone to monitor a pattern you've already told them.

✅ Why this is the one to use — when it fits

Intelligent-Tiering earns its fee back the moment you're genuinely unsure. A shared drive where some files get opened weekly and others sit for a year, a bucket serving a mix of active and archived customer uploads, a dataset whose access pattern will change as a product ages — that's exactly the "unknown or changing" case Amazon built it for, and it beats guessing wrong with a manual lifecycle rule and eating either the Standard bill or a retrieval fee.

Ethan puts it more bluntly to Jake: "Intelligent-Tiering isn't a discount button. It's insurance against not knowing your own data. If you do know, skip the premium."

The three S3 Glacier classes, and how they differ from each other

"Glacier" used to mean one thing on AWS. It's now three separate storage classes inside S3 itself, and the gap between them is entirely about how fast you can get data back and whether it's available for real-time access at all.

S3 Glacier Instant Retrieval

This one behaves like Standard-IA in every way that matters day to day — millisecond access, real-time availability, no restore step — with a lower storage cost and a higher per-GB retrieval cost than Standard-IA. Amazon recommends it for long-lived archive data accessed roughly once a quarter, where "roughly once a quarter" and "still needs to open instantly when someone finally asks" both have to be true at the same time. It carries a 90-day minimum storage duration and the same 128 KB minimum billable object size as the IA classes.

S3 Glacier Flexible Retrieval

This is the class where "archived" stops being a marketing word and starts being literal: objects here are not available for real-time access at all. You have to restore an object before you can read it, and the restore itself takes time. It's built for data accessed about once a year — backups, disaster-recovery copies, anything you genuinely expect to leave alone.

S3 Glacier Deep Archive

The cheapest S3 storage class to hold data in, and the slowest to get it back. Same "not available for real-time access, must be restored first" behavior as Flexible Retrieval, built for data accessed less than once a year — the compliance-retention, seven-years-in-a-drawer kind of storage. It carries the longest minimum storage duration of any S3 class: 180 days.

Restore option Flexible Retrieval / Archive Access tier Deep Archive / Deep Archive Access tier
Standard retrieval Typically 3–5 hours Typically up to 12 hours
Bulk retrieval Typically 5–12 hours, free of charge Typically up to 48 hours
Expedited retrieval Available, fastest option, highest per-GB cost Not available

Notice there's no expedited option for Deep Archive at all — if you set something to Deep Archive and then need it in an emergency, standard or bulk retrieval, with the wait that implies, is the fastest path there is. That's not a bug, it's the entire trade you made to get the lowest storage cost on the platform.

Retrieval fees: the part everyone forgets to price in

Storage cost is the number people compare when they pick a class. Retrieval cost is the number that shows up on the bill three months later and causes an argument. Every class except Standard and Intelligent-Tiering charges you per gigabyte to read the data back: Standard-IA and One Zone-IA charge it on every GET request, and Glacier Instant Retrieval, Glacier Flexible Retrieval, and Glacier Deep Archive charge it as part of the restore process.

Restoring from Glacier is genuinely two charges stacked together, and it's worth understanding both, because the second one surprises people. When you restore an object from Glacier Flexible Retrieval or Deep Archive, you pay the retrieval fee for pulling the archived copy, and you also pay S3 Standard storage rates for the temporary restored copy — the readable version that sits alongside the archived one for however many days you choose to keep it around. Leave that restored copy sitting for longer than you need it and you're effectively paying twice for the same data until you clean it up.

Intelligent-Tiering is the deliberate exception. Amazon's pricing documentation is explicit that there are no retrieval charges in Intelligent-Tiering, at any tier, including the two opt-in archive tiers — standard and bulk retrieval requests are free of charge across all five access tiers. That's the other half of the trade you're making with the monitoring fee: you pay a small, predictable amount every month to never have to think about a retrieval bill.

‍♂️ Jake's Reality Check

"A customer came back eight months after a repair asking for the before-and-after photos for an insurance claim. I'd moved that whole batch to Glacier Deep Archive. What did that actually cost me, beyond the wait?"

You paid the retrieval fee for pulling those specific objects out of Deep Archive, plus Standard storage rates for the restored copy for however many days you kept it readable before deleting it again. For one customer's photo set, that's a rounding error. The lesson isn't "don't use Deep Archive" — it's that Deep Archive is the wrong home for anything with even a modest chance of a real request coming back, which is exactly why the tier below it, Glacier Instant Retrieval or Glacier Flexible Retrieval, exists.

Building a lifecycle policy that doesn't bite you later

S3 Lifecycle rules automate the transitions above so you're not manually re-tagging objects every month. Amazon's documentation describes it as a "waterfall" model: objects can move from Standard down into IA, Intelligent-Tiering, or any Glacier class, and from Standard-IA further down into One Zone-IA, Intelligent-Tiering, or Glacier — but the waterfall generally only flows one direction, from cheaper-to-access toward cheaper-to-store. You don't set a rule that moves an object from Glacier Deep Archive back up to Standard; you'd restore it and manually change its class if you needed that.

  1. Start from the object's real lifecycle, not a guess. Look at how your application actually uses the data — is it read frequently for 30 days after upload and then essentially never again? That pattern alone tells you most of what you need.
  2. Set the first transition past the point where access genuinely drops off, not before. Transitioning to Standard-IA at day 31 when your own access logs show reads continuing past day 45 just means you'll pay retrieval fees on data you're still actively using.
  3. Respect the minimum storage durations when you choose transition timing. A rule that moves objects to Standard-IA at 30 days and then deletes them at 40 doesn't save anything — it triggers the 30-day minimum penalty on every object that gets deleted in that window.
  4. Add a second transition for the truly cold tail, from IA or Intelligent-Tiering down into a Glacier class, once you're confident a batch of objects has stopped being accessed at all.
  5. Set an expiration rule if the data has a real end-of-life, so old objects don't sit in the cheapest tier forever costing a small amount that never quite reaches zero.
  6. Test the rule on a small prefix first. Lifecycle transitions trigger per-request ingest charges the same way a PUT or COPY does, so applying a new rule retroactively to millions of existing objects is itself a cost worth checking before you flip it on for the whole bucket.

Picking a class by real-world use case

Skip the marketing names for a second and walk through it as a decision, the way you'd actually make it against a real bucket of files.

  1. Is this data being read right now, as part of an active application? Website assets, a live product's user uploads, anything a customer might request today — S3 Standard. Don't move it anywhere until the access pattern actually cools off.
  2. Is it a backup or an older version of something still important, that you'd need back instantly if you needed it at all? S3 Standard-IA if it has to survive the loss of a data center; S3 One Zone-IA if you could recreate it or it's already a replica living somewhere else.
  3. Do you honestly not know how often this will get touched, and the pattern might change over time? S3 Intelligent-Tiering. This is its entire reason to exist — don't reach for it as a default for everything, and don't skip it out of a mistaken belief that manual tiering is always cheaper.
  4. Is it archive data you'd still want back in milliseconds, a handful of times a year? S3 Glacier Instant Retrieval — think old customer records you're required to keep but rarely, if ever, need to reference on the spot.
  5. Is it a true archive — backups, disaster recovery copies, anything accessed roughly once a year — where a few hours' wait is fine? S3 Glacier Flexible Retrieval.
  6. Is it compliance or regulatory retention data you're keeping because you're required to, not because you expect to open it? S3 Glacier Deep Archive.

For Jake's shop, that maps cleanly onto real folders. This month's repair photos: Standard, because customers call back within days. Last year's photos, still occasionally requested for a warranty dispute: Standard-IA. Anything past three years, kept only because his invoicing system references the file path and he's not ready to delete the record: Glacier Deep Archive, moved there by a lifecycle rule so nobody has to remember to do it by hand.

Mistakes that quietly inflate the bill

Archiving huge numbers of small files. Both IA classes have a 128 KB minimum billable object size — a 10 KB file is still billed as if it were 128 KB. Glacier Flexible Retrieval and Deep Archive don't have that same minimum, but they do add roughly 40 KB of metadata overhead per archived object. A bucket full of small log files or thumbnails will cost more per gigabyte in any of these classes than the same total data stored as fewer, larger files. If you're archiving small files by the million, consider bundling them (a zip, a tar, an Iceberg-style table) before the transition, not after.

Assuming Intelligent-Tiering is always cheaper than manual tiering. It removes retrieval-fee risk and the work of guessing an access pattern, but it does that by charging a monitoring fee per object every month it watches. For data you're already certain is cold, that fee is pure overhead compared with a lifecycle rule that sends it straight to the right Glacier class.

Not setting an expiration alongside the transition. Cold data doesn't need to live forever just because it's cheap to store. If there's a real retention deadline — a legal requirement, a company policy — pair the transition rule with an expiration rule so the cheapest tier isn't quietly holding data you no longer needed to keep at all.

Restoring more than you need, or leaving a restored copy live too long. Restoring from Glacier Flexible Retrieval or Deep Archive creates a second, temporary Standard-rate copy for the duration you choose. Restoring an entire prefix when you only needed a handful of files, or forgetting to let the temporary copy expire, means paying Standard rates on top of the archive rate for longer than necessary.

When Intelligent-Tiering beats manual tiering — and when it doesn't

This is the question the whole post has been circling, so it deserves a straight answer instead of a hedge.

Intelligent-Tiering wins when the honest answer to "how often will this be accessed" is "I don't know" or "it depends on the object." A shared team drive. A bucket of customer-uploaded files where some customers are active and some churned two years ago. A dataset for a product still finding its usage pattern. In every one of these, a manual lifecycle rule is a guess dressed up as a policy — you'll either transition too early and pay retrieval fees on data still in active use, or too late and overpay Standard rates on data nobody's touched in months. Intelligent-Tiering replaces that guess with per-object monitoring, and its no-retrieval-fee, no-penalty design means guessing wrong costs you nothing extra.

Manual lifecycle rules into a specific IA or Glacier class win when you already have the answer — server logs with a known 90-day active window before nobody ever queries them again, nightly database backups you keep for exactly one year and then delete, compliance archives with a fixed retention period set by regulation, not by observed behavior. In all of these, you're not discovering the access pattern, you're declaring it, and Intelligent-Tiering's monitoring fee buys you nothing you didn't already know.

✅ Why this is the one to use

If you can write a sentence like "this data is read constantly for 60 days, then essentially never again," you have a manual policy. If the true sentence is "it varies, and I'm honestly not sure," that uncertainty is worth the monitoring fee — Intelligent-Tiering.

What you cannot do, in either case, is skip deciding. Leaving everything in S3 Standard because sorting it out feels like a project for later is the single most expensive choice on this whole list, and it's the default every bucket starts with.

Frequently asked questions

What's the cheapest S3 storage class?

S3 Glacier Deep Archive has the lowest per-gigabyte storage cost of any S3 class. It's only "cheapest" overall if the data genuinely fits its profile: accessed less than once a year, fine with up to a 12-hour standard retrieval or up to 48 hours for a free bulk retrieval, and held for at least 180 days without being deleted or moved.

Can I switch an object's storage class after uploading it?

Yes. You can set or change an object's storage class directly, or automate the change with an S3 Lifecycle transition rule so objects move between classes on a schedule you define, without you having to touch each one.

Does S3 Intelligent-Tiering cost more than S3 Standard?

The Frequent Access tier in Intelligent-Tiering is priced the same as Standard for storage, but Intelligent-Tiering adds a monthly monitoring and automation fee per object that Standard doesn't have. For data that never leaves the Frequent tier, Intelligent-Tiering ends up costing slightly more than Standard because of that fee — its savings come from automatically moving objects to cheaper tiers once they go quiet.

What happens if I delete a Standard-IA object before 30 days?

You're charged the normal storage rate for however many days it was actually stored, plus a prorated charge covering the remainder of the 30-day minimum. The same rule applies if you overwrite it or transition it to a different storage class early.

How fast can I get a file back from S3 Glacier Deep Archive?

Standard retrieval typically finishes within 12 hours. Bulk retrieval, the lowest-cost option, typically finishes within 48 hours. There's no expedited retrieval option for Deep Archive, so 12 hours is roughly the fastest you can plan for in an emergency.

Is S3 Glacier Instant Retrieval the same as the old Glacier service?

No. S3 Glacier Instant Retrieval, along with Flexible Retrieval and Deep Archive, are S3 storage classes — your objects stay inside your S3 bucket, managed with the same S3 API. The separate, older Amazon Glacier service is a distinct product with its own API, and objects set to an S3 Glacier storage class aren't accessible through it directly.

Can I access objects in Glacier Flexible Retrieval or Deep Archive instantly, like Standard?

No. Objects in these two classes are archived and not available for real-time access. You have to submit a restore request first and wait for it to complete before you can read the object. S3 Glacier Instant Retrieval is the one Glacier-family class built for real-time, millisecond access instead.

What's the minimum object size for S3 Standard-IA?

128 KB is the minimum billable size. Smaller objects can still be stored, but you're charged as if each one were 128 KB, which makes Standard-IA a poor fit for archiving large numbers of small files.

Does S3 Intelligent-Tiering ever move data all the way to Glacier automatically?

Only if you opt in. Beyond the default Frequent, Infrequent, and Archive Instant Access tiers, you can separately activate the Archive Access tier (retrieval behaves like S3 Glacier Flexible Retrieval, for objects untouched 90-plus days) and the Deep Archive Access tier (retrieval behaves like S3 Glacier Deep Archive, for objects untouched 180-plus days). Neither is on by default.

Which storage class should I use for backups?

It depends on how often you'd realistically restore one. Backups you might need back within minutes to hours, roughly once a year, fit S3 Glacier Flexible Retrieval. Backups you're keeping mainly to satisfy a retention requirement, and rarely if ever expect to open, fit S3 Glacier Deep Archive. Backups you might need back instantly, a few times a year, fit S3 Glacier Instant Retrieval instead.

Can I use Lifecycle rules to move objects between classes automatically?

Yes, this is what S3 Lifecycle configuration is for. You define transition rules — for example, move to Standard-IA after 30 days, then to Glacier Deep Archive after 365 days — and S3 applies them automatically, following the waterfall model where objects generally move from more-expensive-to-access classes toward cheaper-to-store ones.

What's the difference between S3 Standard-IA and S3 One Zone-IA?

Standard-IA stores your data redundantly across three or more Availability Zones, the same resilience as Standard. One Zone-IA stores it in a single Availability Zone only, which lowers the cost but means the data isn't resilient to that zone being physically lost. Use Standard-IA for data you can't re-create; use One Zone-IA for replicas or data you could regenerate.

Do I get charged a retrieval fee with S3 Intelligent-Tiering?

No. Standard and bulk retrieval requests are free of charge across all five Intelligent-Tiering access tiers, including the two opt-in archive tiers. Expedited retrievals from the Archive Access tier are the one exception, and they are charged.

Can objects go directly from S3 Standard to S3 Glacier Deep Archive?

Yes. The lifecycle transition waterfall allows S3 Standard to transition directly to S3 Standard-IA, S3 Intelligent-Tiering, S3 One Zone-IA, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, or S3 Glacier Deep Archive — you don't have to route through an intermediate class first.

Is there a downside to just using Intelligent-Tiering for everything?

The main downside is paying the monitoring fee on data you already know is cold, where a manual transition straight to a Glacier class would cost less. It's also not a fit for objects under 128 KB, which stay in the Frequent Access tier permanently and are never monitored or moved, so tiny objects get none of the automatic savings at all.

How much does it cost to restore data urgently from S3 Glacier Flexible Retrieval?

Urgent restores use the Expedited retrieval option, the fastest and highest-cost tier available for Flexible Retrieval. Standard retrieval (typically 3 to 5 hours) and Bulk retrieval (typically 5 to 12 hours, free of charge) are both cheaper alternatives if the situation allows any wait at all — Bulk in particular is worth defaulting to for planned, non-urgent restores.

Also Read:

AWS costs: The NAT gateway bill - the $32/month nobody planned

 AWS costs: Data transfer pricing - the map of what is free and what is not

 AWS costs: CloudWatch Logs ingestion - the log bill that outgrew the app

 AWS costs: Cross-AZ traffic - the invisible cent per gigabyte

 AWS costs: Unattached Elastic IPs and idle load balancers - the standing waste list

AWS costs: S3 request pricing - when storage is cheap but touching it is not

AWS costs: S3 storage classes decided honestly - IA, Glacier, Intelligent-Tiering

AWS costs: Glacier retrieval - the bill for wanting your data back

Revision note. Written September 2026, covering the current S3 Standard, Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Instant Retrieval, Glacier Flexible Retrieval, and Glacier Deep Archive storage classes and their published durability, availability, minimum-duration, and retrieval-tier behavior. AWS updates storage class pricing and tier thresholds from time to time, so it's worth checking the AWS Pricing Calculator against your own bucket before committing to a lifecycle policy. If you've been staring at a bucket full of years-old files trying to decide what to do with them, you're not the only one — most buckets get to that point the same way, one upload at a time, with no one ever circling back.

Related