AV
HomeAboutProjectBlog

© 2026 Ave syah Shina. All rights reserved.

  1. Home
  2. Blog
  3. 08 — S3 Storage Classes: Paying Only for the Access Pattern I Actually Have

08 — S3 Storage Classes: Paying Only for the Access Pattern I Actually Have

August 13, 20266 min read
Download as Markdown

"S3 is S3, it's all the same" was my storage philosophy — until the first bill. The menu that registered: S3 is not one storage tier, it is a price/performance menu — Standard for hot data, Standard-IA for warm, Glacier for cold — and the cost lever is matching each object to the access pattern it actually has [1]. The object store itself is the same; what changes between classes is the price per GB, the retrieval fee, and the retrieval speed. Get that match wrong and the bill either balloons or the latency stings.

The price/performance trade-off

The whole shape of the menu is one trade-off, repeated:

  • Lower storage price comes with higher retrieval fees and slower access.
  • Faster, cheaper-to-access storage costs more per GB to hold.

So the question for any batch of objects is: how often will I read them, and how fast do I need them back? Hot data, read frequently, needs the cheap-retrieval class even though the per-GB holding cost is higher. Cold data, rarely read, belongs in the cheap-to-hold class even though pulling it back costs money and time.

S3 Standard: hot

S3 Standard is the default — designed for frequently accessed data [2]. Low latency, high throughput, no retrieval fee. It's where active application assets live: website images served through CloudFront, user uploads that the app reads back immediately, datasets being actively queried.

The mistake I made early was leaving everything in Standard because it was the default. A year of access logs that nobody ever opens does not belong here — it belongs somewhere cheaper, and the per-GB difference compounds across millions of objects.

S3 Standard-IA: warm

S3 Standard-IA (Infrequent Access) is for data accessed less frequently but still needing rapid access when it is [3]. Same durability and throughput as Standard, but a lower per-GB storage price in exchange for a per-GB retrieval fee.

The economics: IA wins when the storage savings outweigh the retrieval fee over the object's life. If I read an object once a month or less, IA is cheaper than Standard. If I read it multiple times a week, the retrieval fees erase the savings and Standard is better. The classic fit is long-term backups and disaster-recovery files that I rarely touch but need fast when I do.

S3 Glacier: cold

S3 Glacier is for archives — data I am keeping for compliance, historical record, or "just in case," and that I rarely need to read [4]. The storage price is a fraction of Standard's. The cost of that cheapness is retrieval time: Glacier retrieval is not milliseconds, it is minutes to hours, depending on the retrieval option.

  • Expedited — 1–5 minutes, for the occasional urgent pull. Most expensive.
  • Standard — 3–5 hours. The default.
  • Bulk — 5–12 hours, cheapest, for large-volume non-urgent restores.

Glacier is where audit logs, raw sensor archives, and legally-required-but-never-read backups belong. The retrieval latency is a feature, not a bug — it's how the cheap storage price is paid for.

Intelligent-Tiering: when I don't know

S3 Intelligent-Tiering is the answer when the access pattern is genuinely unknown or mixed [1]. It automatically moves objects between access tiers based on usage: if an object isn't read for a while, it slides into the infrequent-access tier; if it gets read again, it slides back. There's a small per-object monitoring fee in exchange for not having to predict the pattern myself.

The honest rule: Intelligent-Tiering is worth it for buckets where access is genuinely unpredictable. For buckets with a known lifecycle (logs → archive → delete), explicit lifecycle rules are cheaper because they don't pay the monitoring fee.

Lifecycle rules tie it together

The menu is useless without automation to move objects between tiers, and that's what lifecycle rules are for:

  • Logs land in Standard (hot for the first week while debugging).
  • After 30 days, transition to Standard-IA (warm — occasional forensic pulls).
  • After 90 days, transition to Glacier (cold — compliance retention).
  • After 7 years, expire (delete).

That rule is the entire cost story: the same bytes, paying Standard prices for a week, IA prices for a few months, and Glacier prices for years — exactly matching the decaying access pattern. Without it, every object pays its peak-tier price forever.

time S3 Standard days 0–30 · hot full price/GB · instant retrieval S3 Standard-IA days 30–90 · warm lower price/GB · retrieval fee S3 Glacier day 90+ · cold archive fraction of price · mins-to-hours lifecycle transition lifecycle transition price per GB ▸ cheaper →

How I use this

The storage-class menu is a recurring cost review, not a one-time choice. The habit I keep: every bucket has a documented access pattern, and a lifecycle rule that matches it — no bucket stays on "Standard forever" by default. For data I can characterize upfront (logs, backups, uploads), I write explicit transitions; for genuinely unpredictable buckets I turn on Intelligent-Tiering and accept the monitoring fee as the price of not guessing. Glacier is a deliberate decision, not a default — anything that lands there needs an understood retrieval latency, and the team that might need it needs to know that "restore" is measured in hours, not milliseconds. The cheapest byte is the one I deleted, so the last lifecycle stage is always an expiration, not just a tier transition.

References

[1] Amazon Web Services, "Amazon S3 storage classes," 2024. [Online]. Available: https://aws.amazon.com/s3/storage-classes/

[2] Amazon Web Services, "S3 Standard storage," 2024. [Online]. Available: https://aws.amazon.com/s3/pricing/

[3] Amazon Web Services, "Storage classes for S3," S3 User Guide, 2024. [Online]. Available: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html

[4] Amazon Web Services, "S3 Glacier storage classes," 2024. [Online]. Available: https://aws.amazon.com/s3/storage-classes/glacier/

Knowledge check · Question 1 of 5

Why is S3 Standard-IA cheaper per GB than S3 Standard?

Comments

Leave a Comment

You must be signed in to comment

0 Comments

No comments yet. Be the first to comment!