S3 storage classes compared: cost, retrieval time & the minimum-duration gotchas
Most "S3 storage classes explained" pages reprint the same list — Standard, IA, Glacier — with a one-line description of each and stop there. What they leave out is the billing mechanics that actually decide the right answer on an exam question or a real AWS bill: the minimum storage duration you pay whether you keep the object or not, the minimum billable object size that quietly inflates small-file workloads, and a 40 KB metadata charge on Glacier classes that almost nothing else mentions. This page covers all eight classes with those numbers included, plus worked examples so you can check your own math against them.
The eight classes at a glance
| Storage class | Designed for | AZs | Min. storage duration | Min. billable size | Retrieval fee |
|---|---|---|---|---|---|
| S3 Standard | Frequent access, millisecond latency | ≥3 | None | None | No |
| S3 Intelligent-Tiering | Unknown/changing access patterns | ≥3 | None | None | No |
| S3 Standard-IA | Infrequent (monthly), millisecond latency | ≥3 | 30 days | 128 KB | Yes |
| S3 One Zone-IA | Infrequent, re-creatable data | 1 | 30 days | 128 KB | Yes |
| S3 Glacier Instant Retrieval | Rare (quarterly), millisecond latency | ≥3 | 90 days | 128 KB | Yes |
| S3 Glacier Flexible Retrieval | Rare (yearly), minutes-to-hours access | ≥3 | 90 days | 40 KB metadata overhead | Yes |
| S3 Glacier Deep Archive | Rare (sub-yearly), hours access | ≥3 | 180 days | 40 KB metadata overhead | Yes |
| Reduced Redundancy (legacy) | Not recommended — use Standard | ≥3 | None | None | No |
These duration, size and fee figures come straight from AWS's own storage-class comparison table, not a third-party estimate — worth knowing because several popular exam-prep sites round or omit them.
The 40 KB gotcha almost every cheat sheet skips
Standard-IA and One Zone-IA round small objects up to a 128 KB minimum for billing. Glacier Flexible Retrieval and Glacier Deep Archive work differently: AWS adds a flat 40 KB of metadata overhead to every archived object, split as 32 KB billed at the Glacier class's own rate and 8 KB billed at the S3 Standard rate, so the object's user-defined name and metadata stay queryable without restoring the archive first. For a single large object this is noise. For millions of small objects it isn't: archiving 5 million objects to Deep Archive adds roughly 5,000,000 × 40 KB ≈ 190 GB of pure overhead before a single byte of real data is counted. This is exactly why "millions of small files" scenarios in SAA practice questions usually steer you toward aggregating objects (zip/tar before archiving) rather than archiving them individually.
Minimum storage duration: what deleting early actually costs
The 30/90/180-day minimums aren't a suggestion — delete or transition an object before the clock runs out and AWS still bills for the rest of the period. Say you move a 500 GB object to Standard-IA ($0.0125/GB-month) and delete it after just 10 days:
- Actual 10 days of storage: 500 × $0.0125 × (10/30) ≈ $2.08
- Early-deletion charge for the remaining 20 days: 500 × $0.0125 × (20/30) ≈ $4.17
- Total billed: $6.25 — identical to what you'd have paid for the full 30 days
There's no partial refund mechanism here: transitioning or deleting early only changes when you pay, not how much. The same logic applies at 90 days for both Glacier Instant Retrieval and Glacier Flexible Retrieval, and at 180 days for Deep Archive.
How Intelligent-Tiering's tiers actually move objects
S3 Intelligent-Tiering is often described as "automatic cost savings with no retrieval fees," which is true but skips the mechanism, and the mechanism is where exam questions live. New or updated objects always land in the Frequent Access tier first. From there:
- No access for 30 consecutive days → moves to Infrequent Access automatically.
- No access for 90 consecutive days → moves to Archive Instant Access automatically — still millisecond retrieval, just cheaper storage.
- Archive Access and Deep Archive Access are the two tiers that are not automatic: you must opt in via a bucket configuration. Once activated, they archive objects unread for 90 and 180 days respectively, but retrieval then takes minutes to hours, like Glacier Flexible Retrieval and Deep Archive, because the object leaves the instant-access tiers entirely.
The trap: two different tiers both trigger "after 90 days of no access" — Archive Instant Access (automatic, millisecond retrieval) and the optional Archive Access tier (asynchronous, minutes-to-hours). Which one an object ends up in depends entirely on whether the archive tiers were activated on that bucket, not on how long the object has been idle. Objects under 128 KB are exempt from all of this: they're never monitored, never charged the monitoring fee, and stay in Frequent Access permanently. The monitoring and automation fee itself is small — about $0.0025 per 1,000 objects per month — but it applies per object stored, which is why Intelligent-Tiering rarely pays off for a small number of very large objects; the storage savings on a handful of files won't outrun a fixed per-object fee structure the way it does across millions of objects with genuinely mixed access patterns.
Glacier retrieval speed vs. price
Both archival Glacier classes offer a choice of retrieval tiers, and the price gap between them is large enough to matter:
| Class | Retrieval tier | Speed | Price per GB |
|---|---|---|---|
| Glacier Flexible Retrieval | Expedited | 1–5 minutes | $0.03 |
| Glacier Flexible Retrieval | Standard | 3–5 hours | $0.01 |
| Glacier Flexible Retrieval | Bulk | 5–12 hours | Free |
| Glacier Deep Archive | Standard | Up to 12 hours | $0.02 |
| Glacier Deep Archive | Bulk | Up to 48 hours | $0.0025 |
Bulk retrieval being free on Flexible Retrieval is easy to miss and changes the right answer for any scenario that says data must be recovered but there's no urgency — a disaster-recovery test, a compliance audit with weeks of lead time, a one-off historical analysis.
Worked example: one dataset, three strategies, one year
1 TB (1,024 GB) of log data is written once and read exactly once, at the end of the year, for a compliance review. Ignoring request costs and comparing storage plus that single retrieval, at US East (N. Virginia) list prices:
- S3 Standard ($0.023/GB-month, no retrieval fee): 1,024 × $0.023 × 12 ≈ $282.62 for the year.
- S3 Standard-IA ($0.0125/GB-month + $0.01/GB retrieval): storage 1,024 × $0.0125 × 12 ≈ $153.60, plus a $10.24 retrieval ≈ $163.84 total.
- S3 Glacier Deep Archive ($0.00099/GB-month + $0.02/GB standard retrieval): storage 1,024 × $0.00099 × 12 ≈ $12.16, plus a $20.48 retrieval ≈ $32.64 total — or $14.72 total using Bulk retrieval instead of Standard.
Deep Archive wins by roughly 8–19x here because the dataset comfortably clears its 180-day minimum and is only read once. Flip the access pattern to "read every week" and Standard would win instead, since Deep Archive's per-GB retrieval fee would be paid 52 times over.
Quick decision guide
- Access pattern genuinely unknown or spiky → Intelligent-Tiering, and only activate the archive tiers if occasional multi-hour retrieval is acceptable.
- Predictable monthly access, need millisecond latency, can't lose an AZ → Standard-IA.
- Same as above but the data is a replica or easily re-created → One Zone-IA, for the extra discount.
- Quarterly-or-rarer access but still need millisecond latency → Glacier Instant Retrieval.
- Yearly access, minutes-to-hours retrieval acceptable → Glacier Flexible Retrieval, using Bulk retrieval whenever there's no urgency.
- Compliance archives almost never read → Glacier Deep Archive, batched into larger objects if the source data is many small files.
Test this against realistic scenario questions in PassDrill's S3 & storage practice questions, which cover storage-class selection, lifecycle rules and the exact wording AWS uses for each class's designed-for access pattern.
Source: AWS's own Amazon S3 User Guide storage-class comparison table (durability, availability, minimum storage duration and minimum billable size for every class) and the Amazon S3 pricing page (per-GB storage and retrieval pricing, Intelligent-Tiering monitoring and automation fee), US East (N. Virginia) Region, current as of September 2026. Prices vary by Region and change over time — always check the current AWS pricing page before making a real infrastructure decision.