๐ฆ Amazon S3 Storage Classes
Every object you upload to S3 gets a Storage Class, which decides how it's stored, how fast you can access it, and what it costs. Different classes suit different needs โ frequent access, occasional access, or long-term archiving.
๐ The 7 Storage Classes
๐ S3 Standard (General Purpose)
๐ Standard-Infrequent Access (Standard-IA)
๐ข One Zone-Infrequent Access (One Zone-IA)
โก Glacier Instant Retrieval
๐ง Glacier Flexible Retrieval
โ๏ธ Glacier Deep Archive
๐ค Intelligent-Tiering
๐ก Exam tip: Know what each class is for โ not necessarily every number.
Whenever you upload an object to Amazon S3, you can:
โ Choose its storage class during upload.
โ Change its storage class later if needed.
โ Use Amazon S3 Lifecycle Rules to automatically move objects between storage classes over time.
For example:
A newly uploaded photo can start in S3 Standard.
After 30 days, it can automatically move to Standard-IA.
After one year, it can automatically move to Glacier Deep Archive.
This automation helps reduce storage costs without requiring manual work.
๐ก๏ธ Durability vs Availability
๐ Durability
The odds your data survives long-term. All S3 classes offer 99.999999999% (11 nines) โ lose roughly 1 object out of 10 million every 10,000 years.
โ Important: Every Amazon S3 storage class provides this same high durability.
๐ Availability
How often you can access your data on demand. This does vary by class (e.g., S3 Standard = 99.99%, meaning ~53 minutes of possible downtime/year โ data isn't lost, just briefly unreachable).
โ ๏ธ Note: Your data is not lostโit simply cannot be accessed for a short period.
<div class="infographic-s3classes">
<style>
.infographic-s3classes {
--ink: #1a1a1a;
--ink-soft: #5c5c5c;
--paper: #ffffff;
--paper-alt: #f0ece4;
--accent: #2563eb;
--accent-soft:#e3ebfd;
--line: #ddd6c9;
--standard: #2563eb;
--standard-soft: #e3ebfd;
--ia: #b5560f;
--ia-soft: #fbe9d9;
--glacier: #4a5fc1;
--glacier-soft: #e6e9fa;
--auto: #1e8e5a;
--auto-soft: #e2f6ec;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
color: var(--ink);
background: var(--paper);
max-width: 820px;
margin: 0 auto;
padding: 1.75rem 1.25rem 2.25rem;
box-sizing: border-box;
}
.infographic-s3classes[data-theme="dark"] {
--ink: #e8e6e1;
--ink-soft: #9a968c;
--paper: #121212;
--paper-alt: #1e1e26;
--accent: #5b8def;
--accent-soft:#202942;
--line: #2c313d;
--standard: #6f9bff;
--standard-soft: #1c2740;
--ia: #e69a5c;
--ia-soft: #3a2c1c;
--glacier: #8b9bf0;
--glacier-soft: #232649;
--auto: #4fbf87;
--auto-soft: #143024;
}
.infographic-s3classes * { box-sizing: border-box; }
.s3c-eyebrow { text-align: center; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase;
color: var(--ink-soft); margin: 0 0 0.35rem; }
.s3c-title { font-family: Georgia, serif; font-size: 1.55rem; text-align: center; margin: 0 0 1.5rem; }
.s3c-groups { display: flex; flex-direction: column; gap: 1.5rem; }
.s3c-group-label { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
color: var(--ink-soft); margin: 0 0 0.55rem; }
.s3c-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.s3c-pill {
font: inherit; font-size: 0.82rem; font-weight: 600; cursor: pointer;
border-radius: 999px; padding: 0.5rem 0.95rem; border: 1.5px solid var(--line);
background: var(--paper-alt); color: var(--ink); transition: all 0.15s;
}
.s3c-pill:hover { border-color: var(--pill-color, var(--accent)); }
.s3c-pill.is-active { background: var(--pill-color, var(--accent)); border-color: var(--pill-color, var(--accent)); color: #fff; }
.s3c-detail {
margin-top: 1.5rem; border: 1.5px solid var(--line); border-radius: 14px;
background: var(--paper-alt); padding: 1.25rem 1.35rem; display: none;
}
.s3c-detail.is-visible { display: block; }
.s3c-detail-head { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.9rem; flex-wrap: wrap; }
.s3c-detail-name { font-size: 1.1rem; font-weight: 700; }
.s3c-avail {
font-size: 0.76rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 999px;
background: var(--accent-soft); color: var(--accent);
}
.s3c-detail-sub { font-size: 0.84rem; color: var(--ink-soft); margin: 0 0 0.9rem; }
.s3c-facts { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.9rem; }
.s3c-fact {
font-size: 0.78rem; background: var(--paper); border: 1px solid var(--line);
border-radius: 8px; padding: 0.4rem 0.65rem;
}
.s3c-section-title { font-size: 0.76rem; font-weight: 700; text-transform: uppercase;
letter-spacing: 0.03em; color: var(--ink-soft); margin: 0.9rem 0 0.4rem; }
.s3c-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.s3c-chip {
font-size: 0.76rem; background: var(--paper); border: 1px solid var(--line);
border-radius: 999px; padding: 0.3rem 0.6rem; color: var(--ink-soft);
}
@media (prefers-reduced-motion: reduce) {
.infographic-s3classes * { transition-duration: 0.001ms !important; }
}
</style>
<p class="s3c-eyebrow">Amazon S3</p>
<h2 class="s3c-title">๐ฆ Storage Classes at a Glance</h2>
<div class="s3c-groups">
<div>
<p class="s3c-group-label">๐ Frequent Access</p>
<div class="s3c-pills" data-color="var(--standard)">
<button class="s3c-pill is-active" data-class="standard">Standard</button>
</div>
</div>
<div>
<p class="s3c-group-label">๐ซ Infrequent Access</p>
<div class="s3c-pills" data-color="var(--ia)">
<button class="s3c-pill" data-class="standard-ia">Standard-IA</button>
<button class="s3c-pill" data-class="onezone-ia">One Zone-IA</button>
</div>
</div>
<div>
<p class="s3c-group-label">๐ง Glacier โ Archive</p>
<div class="s3c-pills" data-color="var(--glacier)">
<button class="s3c-pill" data-class="glacier-instant">Instant Retrieval</button>
<button class="s3c-pill" data-class="glacier-flexible">Flexible Retrieval</button>
<button class="s3c-pill" data-class="glacier-deep">Deep Archive</button>
</div>
</div>
<div>
<p class="s3c-group-label">๐ค Automatic</p>
<div class="s3c-pills" data-color="var(--auto)">
<button class="s3c-pill" data-class="intelligent">Intelligent-Tiering</button>
</div>
</div>
</div>
<div class="s3c-detail" id="s3c-detail"></div>
<script>
(function () {
const wrapper = document.currentScript.closest('.infographic-s3classes')
|| document.querySelector('.infographic-s3classes');
const bodyAttr = document.body.getAttribute('data-darkmode');
let dark;
if (bodyAttr === 'true') { dark = true; }
else if (bodyAttr === 'false') { dark = false; }
else {
const match = document.cookie.match(/(?:^|;\s*)darkMode=([^;]+)/);
dark = match ? match[1] === 'true' : false;
}
if (dark) wrapper.setAttribute('data-theme', 'dark');
const data = {
'standard': {
name: '๐ S3 Standard', avail: '99.99% availability',
sub: 'Default class. Built for data accessed often.',
facts: ['โก Low latency', '๐ High throughput', '๐ก๏ธ Survives loss of 2 facilities'],
use: ['๐ Big Data Analytics', '๐ฑ Mobile apps', '๐ฎ Gaming', '๐ Content distribution', '๐ท Websites', '๐ฅ Video']
},
'standard-ia': {
name: '1๏ธโฃ Standard-IA', avail: '99.9% availability',
sub: 'Cheaper storage, instant access, retrieval fee applies.',
facts: ['๐ฐ Lower storage cost', 'โก Instant when needed', '๐งพ Retrieval fee per access'],
use: ['๐พ Backups', '๐จ Disaster recovery', '๐ Occasional long-term files']
},
'onezone-ia': {
name: '2๏ธโฃ One Zone-IA', avail: '99.5% availability',
sub: 'Same idea as Standard-IA, but stored in a single AZ.',
facts: ['๐ฐ Cheaper than Standard-IA', 'โ ๏ธ Data lost if that AZ fails', '๐ Single Availability Zone'],
use: ['๐๏ธ Secondary backup copies', '๐ฅ๏ธ On-prem backup copies', '๐ Easily recreated data']
},
'glacier-instant': {
name: '๐ง Glacier Instant Retrieval', avail: 'Retrieval: milliseconds',
sub: 'Archive storage you still need back immediately.',
facts: ['โก Millisecond retrieval', '๐ 90-day minimum storage', '๐
Good for ~quarterly access'],
use: ['๐ต Financial records', '๐ฅ Medical records', '๐ Archived reports']
},
'glacier-flexible': {
name: '๐ง Glacier Flexible Retrieval', avail: '3 retrieval speeds',
sub: '"Happy to wait a few hours" โ you pick the speed.',
facts: ['๐ Expedited: 1โ5 min', 'โณ Standard: 3โ5 hrs', '๐ฆ Bulk: 5โ12 hrs (cheapest)', '๐ 90-day minimum storage'],
use: ['๐๏ธ Archived backups you can wait on']
},
'glacier-deep': {
name: '๐ง Glacier Deep Archive', avail: 'Lowest-cost S3 class',
sub: 'For data you may not touch for months or years.',
facts: ['โณ Standard: ~12 hrs', '๐ฆ Bulk: ~48 hrs', '๐ 180-day minimum storage'],
use: ['โ๏ธ Legal records', '๐ Compliance documents', '๐ Historical archives', '๐พ Long-term backups']
},
'intelligent': {
name: '๐ค Intelligent-Tiering', avail: 'No retrieval charges',
sub: 'AWS watches access patterns and moves objects for you.',
facts: ['๐ฐ Small monitoring fee', '๐ฐ Small tiering fee', '๐ซ No retrieval charges'],
use: ['๐ Frequent tier (automatic)', '๐ Infrequent tier (~30 days)', '๐ฆ Archive Instant tier (~90 days)', '๐ง Archive tier (optional, 90โ700+ days)', 'โ๏ธ Deep Archive tier (optional, 180โ700+ days)']
}
};
const detail = wrapper.querySelector('#s3c-detail');
const pills = wrapper.querySelectorAll('.s3c-pill');
function render(key, colorVar) {
const d = data[key];
detail.style.setProperty('--accent', colorVar);
detail.innerHTML =
'<div class="s3c-detail-head">' +
'<span class="s3c-detail-name">' + d.name + '</span>' +
'<span class="s3c-avail" style="background:' + colorVar.replace(')', '-soft)').replace('var(--', 'var(--') + ';color:' + colorVar + '">' + d.avail + '</span>' +
'</div>' +
'<p class="s3c-detail-sub">' + d.sub + '</p>' +
'<p class="s3c-section-title">Key traits</p>' +
'<div class="s3c-facts">' + d.facts.map(f => '<span class="s3c-fact">' + f + '</span>').join('') + '</div>' +
'<p class="s3c-section-title">Common use cases</p>' +
'<div class="s3c-chips">' + d.use.map(u => '<span class="s3c-chip">' + u + '</span>').join('') + '</div>';
detail.classList.add('is-visible');
}
pills.forEach(function (pill) {
const groupColor = pill.closest('.s3c-pills').dataset.color;
pill.style.setProperty('--pill-color', groupColor);
pill.addEventListener('click', function () {
pills.forEach(function (p) { p.classList.remove('is-active'); });
pill.classList.add('is-active');
render(pill.dataset.class, groupColor);
});
});
render('standard', 'var(--standard)');
})();
</script>
</div>๐ Comparing Storage Classes
Although each storage class has different costs and retrieval times, they all share one important feature:
โ Every Amazon S3 storage class provides the same 99.999999999% (11 nines) durability.
The main differences are:
๐ Availability
๐ฐ Storage cost
โณ Retrieval speed
๐ Minimum storage duration
๐ฏ Intended use case

You don't need to memorize every number for the exam, but you should understand the purpose of each storage class.
๐ฐ Storage Pricing
AWS prices each storage class differently, based on how it's meant to be used:
๐ S3 Standard โ the priciest tier, since it's built for instant, frequent access
๐ Standard-IA โ cheaper to store, but you pay a retrieval fee each time you access data
๐ง Glacier classes โ much cheaper overall, in exchange for longer wait times on retrieval
๐ค Intelligent-Tiering โ automatically balances cost and performance for you
This is an example for us-east-1

โ ๏ธ Again, don't worry about memorizing exact numbers for the exam โ just understand why each class exists and when to reach for it.