Amazon S3 Storage Classes Explained: Standard, IA, Intelligent-Tiering and Glacier

Which S3 storage class should you use? A practical comparison of S3 Standard, Standard-IA, One Zone-IA, Intelligent-Tiering and the Glacier tiers, plus lifecycle rules that cut costs automatically.

Amazon S3 stores everything from website images to ten-year-old compliance archives. Storing all of it in the default class works, but it is rarely the cheapest option. S3 offers several storage classes that trade lower storage prices for retrieval fees, minimum durations or reduced availability. Picking the right one, and letting lifecycle rules move data automatically, can cut storage bills dramatically.

The classes at a glance

ClassBest forRetrievalMinimum durationAZs
S3 StandardFrequently accessed dataInstant, no feeNone3+
S3 Intelligent-TieringUnknown or changing accessInstant (for frequent/infrequent/archive instant tiers)None3+
S3 Standard-IAAccessed monthly or less, must be instantInstant, per-GB fee30 days3+
S3 One Zone-IARe-creatable data accessed rarelyInstant, per-GB fee30 days1
S3 Glacier Instant RetrievalArchives read about once a quarterMilliseconds, higher per-GB fee90 days3+
S3 Glacier Flexible RetrievalArchives read once or twice a yearMinutes to hours90 days3+
S3 Glacier Deep ArchiveLong-term retention, complianceWithin 12 hours (48 for bulk)180 days3+

All classes except One Zone-IA store data across at least three Availability Zones, and all are designed for eleven nines (99.999999999%) of durability. What changes is availability, retrieval speed and price structure.

How the pricing trade-off works

Lower classes charge less per GB stored but add other costs:

  • Retrieval fees per GB read (IA and Glacier classes).
  • Minimum storage duration: delete or move an object early and you still pay for the minimum.
  • Minimum billable object size of 128 KB for the IA classes and Glacier Instant Retrieval. Millions of tiny files cost more there than you might expect.
  • Request charges that are higher than Standard.

So "colder" is only cheaper if the data really is cold. Moving a dataset that is read every day into Standard-IA can increase the bill.

S3 Intelligent-Tiering: the safe default for unknown patterns

Intelligent-Tiering watches each object and moves it between access tiers automatically: frequent, infrequent after 30 days without access, and archive instant access after 90 days. You can also opt in to the asynchronous archive tiers. There are no retrieval fees for the automatic tiers; instead there is a small monthly monitoring fee per object (objects under 128 KB are not monitored and stay in the frequent tier).

It is a good choice for data lakes, user uploads and anything where you cannot predict access. For data you know is hot, Standard is simpler; for data you know is cold, a lifecycle rule straight to a Glacier class is cheaper.

Lifecycle rules: automate the moves

A lifecycle configuration on a bucket transitions or expires objects based on age, prefix or tags. A typical log bucket rule:

Rule: logs-retention   Filter: prefix "logs/"
  Day 30   → S3 Standard-IA
  Day 90   → S3 Glacier Flexible Retrieval
  Day 365  → S3 Glacier Deep Archive
  Day 2555 → Expire (delete)

Lifecycle rules can also:

  • Expire noncurrent versions in versioned buckets, so old versions do not pile up forever.
  • Delete expired delete markers.
  • Abort incomplete multipart uploads after a few days, a hidden cost in many accounts.

Transitions have rules of their own: for example, objects must stay in Standard for 30 days before moving to the IA classes via lifecycle, and very small objects are not transitioned by default because the per-object overhead would outweigh the saving.

Choosing a class: a decision guide

  1. Read many times a month? S3 Standard.
  2. Access unpredictable? Intelligent-Tiering.
  3. Rarely read but needed instantly (backups you restore in a hurry, media archives)? Standard-IA or Glacier Instant Retrieval.
  4. Can be regenerated (thumbnails, secondary copies)? One Zone-IA.
  5. Kept for compliance, restored rarely and with notice? Glacier Flexible Retrieval or Deep Archive.

Restoring from Glacier

Objects in Glacier Flexible Retrieval and Deep Archive are not directly readable. You start a restore request choosing a retrieval tier (Expedited, Standard or Bulk for Flexible Retrieval; Standard or Bulk for Deep Archive), and S3 makes a temporary copy available for the number of days you specify. Plan restores ahead of audits, not during them.

See your access patterns before you move data

  • S3 Storage Lens shows storage by class, bucket and prefix across the account.
  • Storage Class Analysis watches a bucket or prefix and recommends when to transition to Standard-IA.
  • Cost Explorer filtered on S3 usage types shows whether retrieval or request charges are creeping up.

Practice it

Build a tiered lifecycle yourself in S3 Data Lifecycle Project: Hot → IA → Glacier, then protect archives with S3 Object Lock: WORM Retention and Legal Holds. New to S3? Start with the free Getting Started with S3.

FAQ

Is S3 Glacier a separate service?

The Glacier storage classes are part of S3 and used through the S3 API and console. The original standalone Glacier vaults service still exists but new designs use the S3 classes.

Does changing storage class change durability?

No. All classes are designed for the same durability. One Zone-IA has lower availability and resilience because it lives in a single AZ.

Can I set the storage class when uploading?

Yes. Set it per object on upload (for example --storage-class STANDARD_IA in the CLI), or let lifecycle rules move it later.

Browse all AWS tutorials · Hands-on AWS labs