Storage August 27, 2026By Muhammad Habib, Co-Founder & COO6 min readUpdated September 24, 2026

S3 Storage Classes Explained in Plain English

Choose an Amazon S3 storage class by access frequency, retrieval time, minimum storage duration, object size, and resilience, with practical scenarios.

The right S3 storage class depends on how often you read the data, how quickly you need it back, how long it will live, and how large each object is. Storage price is only one part of the bill. Retrieval fees, minimum storage durations, minimum object sizes and transition requests can make a "cheaper" class cost more.

Quick answer: keep frequently used data in S3 Standard. Use S3 Intelligent-Tiering when you cannot predict access. Use an infrequent-access class only for data you know is read rarely but must be available immediately. Use the Glacier classes for archives, matched to how long you can wait for a restore.

Storage classes at a glance

ClassBest forRetrieval timeRetrieval feeMinimum durationAvailability zones
S3 StandardActive data, websites, app uploadsMillisecondsNoneNone3 or more
S3 Intelligent-TieringUnknown or changing access patternsMilliseconds (frequent, infrequent, archive-instant tiers)NoneNone3 or more
S3 Standard-IARarely read data needing instant accessMillisecondsPer GB30 days3 or more
S3 One Zone-IARe-creatable, rarely read dataMillisecondsPer GB30 days1
S3 Glacier Instant RetrievalArchives read about once a quarterMillisecondsPer GB90 days3 or more
S3 Glacier Flexible RetrievalArchives where minutes to hours is acceptableMinutes to 12 hoursPer GB, by retrieval tier90 days3 or more
S3 Glacier Deep ArchiveLong-term retention read rarely, if everRoughly 9 to 48 hoursPer GB, by retrieval tier180 days3 or more

Confirm the current durations, thresholds and prices for your Region in the AWS documentation before building a lifecycle policy. These details change more often than the concepts.

Start with access frequency, not price

Ask how often the data is read in a typical month.

  • Read constantly or daily: S3 Standard. Any retrieval fee or minimum charge would eat the storage saving.
  • Read occasionally and unpredictably: S3 Intelligent-Tiering. It moves objects between access tiers automatically and has no retrieval fees for the standard tiers, at the cost of a small monthly monitoring and automation charge per object.
  • Read a few times a year but needed instantly when asked: Standard-IA, or Glacier Instant Retrieval if reads are even rarer.
  • Kept for compliance or history, read rarely: Glacier Flexible Retrieval or Deep Archive, if the business accepts waiting for a restore.

Retrieval and minimum-charge traps

Small objects. Infrequent-access and Glacier Instant Retrieval classes bill a minimum object size of 128 KB. Storing one million 20 KB objects in Standard-IA is billed as if each were 128 KB, about 6.4 times the stored data. Intelligent-Tiering does not monitor or tier objects smaller than 128 KB, so they never benefit from lower tiers. Glacier Flexible Retrieval and Deep Archive add about 40 KB of metadata per object, so archiving millions of tiny files can cost more than it saves. For millions of tiny objects, bundle them into larger archives or leave them in Standard.

Short-lived data. Deleting or overwriting an object before its minimum duration still bills the remaining days. Moving log files that you delete after two weeks into a 30-day class costs more than leaving them in Standard.

Retrieval fees. Reading a large amount of infrequent-access data in one month can exceed the storage saving. If a "cold" dataset turns out to be read often, moving it back adds cost.

Restore time. Glacier Flexible Retrieval and Deep Archive objects are not instantly readable. Restore requests can take minutes to hours for Flexible Retrieval and up to about two days for Deep Archive, so an incident-time dependency on them is a design risk.

Transition requests. Each lifecycle transition is a billed request. Transitioning very large numbers of small objects can cost more than the storage saved.

Practical scenarios

User uploads for a web app. Recent uploads are read often, old ones rarely. Start in Standard. If old objects are large and predictable, add a lifecycle rule to Standard-IA after 30 or more days. If the pattern is unpredictable, use Intelligent-Tiering.

Application logs. Read heavily for a few days, then almost never. Keep them in Standard for the search window, expire when retention ends, and archive to Glacier only if a retention requirement exists. Do not transition to a class with a longer minimum than the log lifetime.

Database and file-server backups. Keep the recent restore points in Standard or Standard-IA so a restore is immediate. Older monthly or yearly copies can move to Glacier classes if you have tested how long a restore takes. An archive class is not a backup strategy by itself; see AWS Backup Best Practices for Businesses.

Media library with unpredictable popularity. A few files are hot and most are cold, but you cannot predict which. Intelligent-Tiering avoids guesswork and retrieval fees.

Regulatory archive. Retained for years, almost never accessed, restore within a day is acceptable. Deep Archive is the low-cost fit, combined with access controls and, where required, S3 Object Lock.

Re-creatable derived data such as thumbnails. One Zone-IA can fit because the data can be regenerated if the single Availability Zone is lost. Do not use it for the only copy of anything you cannot recreate.

Use lifecycle rules and check their effect

Lifecycle rules automate transitions and expiration. Scope them with prefixes or tags so one rule does not touch everything, and review the effect after a month. Objects must generally remain in Standard for 30 days before a lifecycle rule can move them to Standard-IA or One Zone-IA. S3 Storage Lens and S3 Storage Class Analysis can show how data is actually accessed before you commit to a class.

A simple decision guide

QuestionIf yesIf no
Is the data read frequently?S3 StandardContinue
Is access unpredictable?Intelligent-TieringContinue
Must it be readable instantly when requested?Standard-IA or Glacier Instant RetrievalContinue
Can a restore take minutes to hours?Glacier Flexible RetrievalDeep Archive if a day is acceptable
Is the object smaller than 128 KB or short-lived?Stay in StandardContinue with the answers above
Can the data be recreated if one zone is lost?One Zone-IA is an optionUse a multi-zone class

Verify with AWS

The practical takeaway

Match the class to how the data is actually used, measure before you move it, and account for retrieval, minimum duration and object size. Storage that looks cheap per gigabyte is expensive if it is read often, deleted early or made of tiny objects. If S3 is a large part of your AWS bill, an AWS cost optimization review can identify which buckets are worth reclassifying.

Related reading: How to Reduce Your AWS Monthly Bill, AWS Backup Best Practices for Businesses, AWS Multi-AZ vs Multi-Region

Related Services

Want a second opinion on your setup?

Book a free AWS audit — no obligation, no credentials required.

Book Free AWS Audit