Cloud  /  AWS

AWS Amazon Web Services 61 guides · updated 2026

Hands-on guides to compute, storage, databases, networking, and serverless on the world's most widely adopted cloud platform.

S3 Storage Classes: Matching Access Frequency to the Right Price Point

Not every object in S3 deserves the same treatment. A profile photo retrieved on every user login is fundamentally different from a compliance archive that auditors might request once every few years. Amazon built seven storage classes into S3 so you can align what you pay to how often data actually gets accessed.

Getting storage classes wrong is one of the more common reasons S3 bills run higher than expected. Getting them right can reduce storage costs by 60–80% without any changes to application logic.

The Trade-Off Structure

Every storage class offers the same 11 nines of durability — your data is equally safe in Deep Archive as it is in Standard. What changes across classes:

S3 Storage Class Overview
==========================
Class | Storage $ | Retrieval $ | Min Days | Speed
------------------------|-----------|-------------|----------|------------
Standard | High | Free | None | Milliseconds
Intelligent-Tiering | Var | Free* | None | Milliseconds
Standard-IA | Medium | Per GB | 30 | Milliseconds
One Zone-IA | Lower | Per GB | 30 | Milliseconds
Glacier Instant | Low | Per GB | 90 | Milliseconds
Glacier Flexible | Very Low | Per GB | 90 | Minutes-hours
Glacier Deep Archive | Lowest | Per GB | 180 | Up to 12 hrs
* Intelligent-Tiering has a per-object monitoring fee; no retrieval fee for instant tiers

S3 Standard

Standard is the default when you upload without specifying a class. Data replicates across at least three Availability Zones. Retrieval happens in milliseconds. There is no retrieval fee and no minimum storage duration.

Use Standard for data your application reads and writes regularly: user-generated content, web assets, database exports queried frequently, and anything fed into analytics pipelines daily. The per-GB price is the highest in the lineup, which is acceptable when access frequency justifies it.

S3 Intelligent-Tiering

Intelligent-Tiering monitors each object’s access pattern independently. Objects not accessed for 30 consecutive days move automatically to the Infrequent Access tier at a lower storage rate. If something is accessed again, it moves back to the Frequent Access tier instantly with no retrieval fee.

An optional Archive configuration extends the behavior: objects idle for 90 days can move to an Archive Instant tier, and objects idle for 180 days can move to a Deep Archive tier. You opt into these deeper tiers per bucket.

Intelligent-Tiering: Object Lifecycle
=======================================
Day 1: Object uploaded → Frequent Access tier
Day 31: 30 days without access → auto-moves to Infrequent Access
Day 91: 90 days without access → moves to Archive Instant (if configured)
Day 181: 180 days without access → moves to Deep Archive tier (if configured)
Any access on instant tiers:
→ object moves back to Frequent Access immediately, no restore needed
Access on archive tiers:
→ requires a restore before the object is accessible

Intelligent-Tiering works best for large objects (over 128 KB) with unpredictable access patterns. A small monitoring fee per object makes it cost-inefficient for millions of tiny objects. It is ideal for S3 data lakes where some datasets are queried weekly and others have not been touched in six months.

S3 Standard-IA (Infrequent Access)

Standard-IA stores objects across multiple AZs identically to Standard, but charges a per-GB retrieval fee. The storage cost per GB is roughly 45% lower than Standard. The economics work in your favor when objects are accessed less than once per month — at that frequency, the lower storage cost outweighs the retrieval overhead.

Minimum storage duration is 30 days. Delete an object after 10 days and you still pay for 30.

Common uses: disaster recovery datasets, secondary copies of media files, database backups that get restored infrequently.

S3 One Zone-IA

One Zone-IA reduces costs another 20% below Standard-IA by storing data in a single Availability Zone instead of three. If that AZ has a catastrophic failure, the data is gone. This trade-off is acceptable only for data you can regenerate or data that is already protected elsewhere.

Good candidates: thumbnail images derived from originals in Standard, intermediate pipeline outputs, secondary backups where the primary lives in Standard or Standard-IA.

Never use One Zone-IA as your sole copy of irreplaceable data.

S3 Glacier Instant Retrieval

Glacier Instant stores at archival pricing while preserving millisecond retrieval — the same speed as Standard-IA but cheaper storage at the cost of a higher retrieval fee and a 90-day minimum storage duration. It targets archival data that still needs to be immediately available when someone asks for it.

Practical examples: quarterly financial reports, medical imaging records that must be retrievable in an emergency, legal documents that are kept for years but rarely accessed.

S3 Glacier Flexible Retrieval

This is what most people picture when they think of “Glacier” — significantly cheaper storage with retrieval measured in minutes to hours rather than milliseconds. Three retrieval tiers exist:

Glacier Flexible Retrieval: Speed vs Cost
==========================================
Expedited → 1–5 minutes (higher cost per GB retrieved)
Standard → 3–5 hours (moderate cost)
Bulk → 5–12 hours (lowest cost, best for large batch restores)
Minimum storage: 90 days
Best for: compliance archives, audit logs, datasets retrieved < 4 times/year

The 90-day minimum storage duration means Glacier Flexible Retrieval is not cost-effective for short-lived data. Plan to keep objects here for at least three months.

S3 Glacier Deep Archive

Deep Archive is the least expensive storage AWS offers — roughly $1 per TB per month. Standard retrieval takes up to 12 hours; bulk retrieval up to 48 hours. Minimum storage duration is 180 days.

This class exists for data that must be retained for regulatory reasons but is almost never read: seven-year financial records required by law, healthcare data with long retention mandates, insurance policy archives. The long retrieval window is a feature, not a bug — it forces you to plan retrievals in advance, which is always the case for these datasets anyway.

Lifecycle Rules: Automating Class Transitions

Manually reclassifying millions of objects would be impractical. Lifecycle rules do it automatically based on object age or last-access date.

Lifecycle Rule Example: Application Logs
=========================================
Prefix: logs/
Age 0–30 days: S3 Standard
Age 30–90 days: transition to Standard-IA
Age 90–365 days: transition to Glacier Flexible Retrieval
Age > 365 days: delete
Effect: your application writes logs to Standard as always.
S3 handles all class transitions silently in the background.
No code change required in the log-writing application.

You can configure lifecycle rules via the S3 console, AWS CLI, CloudFormation, or Terraform. Transitions move in one direction — Standard toward archive. There is no lifecycle rule to move data back up to a higher tier automatically. For that, use Intelligent-Tiering, which manages bidirectional movement based on actual access patterns.

Real-World Scenario: Financial Services Archive

A regional bank retains transaction records for ten years, mandated by regulators. The operations team applies this lifecycle:

The bank pays Standard rates for roughly 10% of its archived data volume and archival rates for the other 90%, satisfying every compliance requirement at a fraction of the cost of keeping everything in Standard.

Key Points Worth Knowing