S3 storage classes cost compared: picking the cheapest tier
S3 offers storage classes from Standard to Glacier Deep Archive, trading storage price against retrieval cost and latency. Matching each object to the right class is a major cost lever. Here is how the classes compare.
Quick answer
S3 storage classes trade storage price against retrieval cost, latency, and minimum durations. Standard is priciest to store but free and instant to retrieve; infrequent-access classes store cheaper but add per-GB retrieval fees; archive classes (Glacier, Deep Archive) store cheapest but charge more to retrieve and add latency from minutes to hours. The cheapest choice depends on access frequency: hot data belongs in Standard, rarely-accessed data in archive classes. Choosing wrong, archiving hot data or keeping cold data in Standard, wastes money either on retrieval fees or on storage.
S3 is not one price, it is a ladder of storage classes, each trading a lower storage rate for higher retrieval cost and latency. Matching each object to the right class is one of the biggest storage cost levers, and getting it wrong costs money in one of two directions: paying Standard prices for cold data, or paying steep retrieval fees for data you archived too aggressively.
The storage class ladder
| Class | Storage price | Retrieval |
|---|---|---|
| Standard | Highest | Free, instant |
| Infrequent Access | Lower | Per-GB fee, instant |
| Glacier Instant / Flexible | Much lower | Fee, minutes to hours |
| Glacier Deep Archive | Lowest | Fee, hours |
As you move down the ladder, storage gets dramatically cheaper but retrieval gets more expensive and slower. Standard costs the most to store but nothing to read and returns instantly. Infrequent Access cuts storage cost but adds a per-GB retrieval fee. The Glacier classes cut storage cost further and add retrieval latency from minutes to hours, with Deep Archive the cheapest to store and the slowest to retrieve.
Matching class to access frequency
The rule is simple: the less often you access data, the further down the ladder it belongs. Hot, frequently-read data stays in Standard, where retrieval is free. Data accessed occasionally fits an infrequent-access class, where the storage savings outweigh the occasional retrieval fee. Data you almost never touch, backups, compliance archives, old records, belongs in a Glacier class, where cheap storage dominates and slow retrieval is acceptable.
The two ways to get it wrong
Keeping cold data in Standard overpays for storage: an archive sitting in Standard costs many times what it would in Glacier. Archiving hot data overpays for retrieval: data read frequently from an infrequent-access or Glacier class racks up per-GB retrieval fees that can exceed the storage savings, and minimum storage durations penalize early deletion. So the goal is to match, not just to pick the cheapest-to-store class for everything.
Automating the choice
For predictable access patterns, use lifecycle policies to transition objects down the ladder as they age. For unpredictable patterns, use Intelligent-Tiering to move objects automatically. And remember request-heavy access has its own request cost, since cheaper classes often carry higher per-request and retrieval fees. Price your storage against the resource catalog so each class choice fits the data's real access pattern.
FAQ
What are the S3 storage classes and how do they differ?
They form a ladder trading storage price against retrieval cost and latency: Standard (highest storage price, free instant retrieval), Infrequent Access (lower storage, per-GB retrieval fee, instant), Glacier Instant and Flexible (much lower storage, retrieval fees and minutes-to-hours latency), and Glacier Deep Archive (lowest storage, retrieval fees and hours of latency). The less often you access data, the further down the ladder it belongs.
Which S3 storage class is cheapest?
Glacier Deep Archive is cheapest to store, but only for data you almost never access, because it charges more to retrieve and takes hours to return. The cheapest choice for a given object depends on access frequency: Standard is cheapest overall for frequently-read data (free retrieval), while archive classes are cheapest for rarely-accessed data. Matching class to access pattern, not just picking the lowest storage rate, minimizes total cost.
When should I use infrequent-access or Glacier classes?
Use an infrequent-access class for data accessed occasionally, where the lower storage cost outweighs the occasional per-GB retrieval fee. Use a Glacier class for data you almost never touch, backups, compliance archives, old records, where cheap storage dominates and slow retrieval is acceptable. The key is that retrieval must be genuinely rare, or the retrieval fees can exceed the storage savings.
What happens if I put hot data in an archive class?
You overpay on retrieval. Data read frequently from an infrequent-access or Glacier class racks up per-GB retrieval fees that can exceed the storage savings, and minimum storage durations penalize deleting or moving the data early. Archiving hot data is a common mistake that turns an intended saving into a loss, which is why matching the class to actual access frequency matters.
How do I automate S3 storage class selection?
For predictable access patterns, use lifecycle policies to transition objects down the storage-class ladder as they age, hot storage first, then infrequent access, then archive. For unpredictable patterns, use Intelligent-Tiering, which moves objects between tiers automatically based on real access for a small monitoring fee. Combining both covers data you understand and data you cannot predict.
How does C3X help choose S3 storage classes?
C3X prices your S3 storage from Terraform before you deploy, so the cost of a storage-class choice is visible in the pull request. That helps you match each bucket to the right class based on its access pattern at design time, and catch cold data sitting in Standard or hot data archived too aggressively, before the mismatch shows up as wasted storage or retrieval fees on the bill.
What to do next
Match S3 storage classes to real access before you deploy. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.