S3 storage classes, lifecycle policies and Requester Pays
8 min read · about 1 h 5 min with practice3 quick checks≈3% of the testCore: Core: tested on most papers
Reading is free. Sign in to tick off lessons, keep your place and track your mastery.
Storage-class questions are some of the easiest points to secure in Domain 4, provided you read the stem for the right details. A typical item gives you an access pattern, a retrieval-time limit, a retention period and a resilience hint, then asks for the MOST cost-effective S3 design. Four facts decide almost every one of these questions: how often the data is read, how fast it must come back, how long it lives, and whether it can be re-created.
By the end you’ll be able to
Select the storage class from access frequency, retrieval time, resilience needs and minimum storage duration
Design lifecycle rules (transitions, expiration, noncurrent versions, incomplete multipart cleanup) for a data lifecycle
Use Intelligent-Tiering when access patterns are unknown or changing
Shift transfer costs with Requester Pays; analyse usage with S3 Storage Lens and storage class analysis
Choose batch uploads versus individual uploads to reduce request costs
What the exam asks
Task statement 4.1 (design cost-optimized storage solutions) expects you to:
pick the cheapest storage class that still meets the retrieval-time and resilience requirements;
design S3 Lifecycle rules that move data down the storage-class “waterfall” and delete it on time, including noncurrent versions and incomplete multipart uploads;
recognise unknown or changing access patterns, which point to S3 Intelligent-Tiering;
shift download costs to data consumers with Requester Pays;
find waste with S3 Storage Lens and Storage Class Analysis;
cut request and per-object overhead by batching small objects.
Core ideas
The storage classes at a glance
Class
Designed access
First byte
AZs
Min. storage duration
Min. billable size
Retrieval fee
S3 Standard
Frequent (more than monthly)
Milliseconds
3 or more
None
None
No
S3 Intelligent-Tiering
Unknown or changing
Milliseconds (optional archive tiers need a restore)
3 or more
None
Objects under 128 KB are not tiered
No (small per-object monitoring fee)
S3 Standard-IA
About once a month
Milliseconds
3 or more
30 days
128 KB
Per GB
S3 One Zone-IA
About once a month, re-creatable
Milliseconds
1
30 days
128 KB
vii.Check your understanding
3 questions on S3 storage classes, lifecycle policies and Requester Pays. Every option is explained once you answer.
Sign in to try the quick check
Answers are checked on our side, every option is explained, and your result feeds your mastery for this topic. It’s free.
The first 3 of 11 cards for this topic. Sign in and finish the lesson to review them with spaced repetition.
PromptCard 1 of 3
Minimum storage duration for each S3 class?
Per GB
S3 Glacier Instant Retrieval
About once a quarter
Milliseconds
3 or more
90 days
128 KB
Per GB (higher)
S3 Glacier Flexible Retrieval
About once a year
Expedited 1–5 min, Standard 3–5 h, Bulk 5–12 h
3 or more
90 days
40 KB of metadata per object
Per GB
S3 Glacier Deep Archive
Less than once a year
Standard within 12 h, Bulk within 48 h
3 or more
180 days
40 KB of metadata per object
Per GB
All classes are designed for eleven nines of durability. Going down the table, storage gets cheaper while retrieval gets slower and more expensive. S3 Express One Zone is a performance class (single-digit millisecond latency, one AZ), never the answer to an archive cost question.
Decision rules
Access pattern known → lifecycle rule. Unknown, unpredictable or changing → Intelligent-Tiering.
Millisecond access, about monthly → Standard-IA. If the data can be re-created or is a secondary copy → One Zone-IA.
Millisecond access, quarterly or less → Glacier Instant Retrieval.
Minutes to a few hours → Glacier Flexible Retrieval.
12–48 hours is acceptable → Glacier Deep Archive (the cheapest storage).
Data deleted within 30 days → keep it in S3 Standard, which has no minimum duration.
Minimum durations, minimum sizes and per-object overhead
If you delete, overwrite or transition an object before the class minimum, you still pay for the rest of that minimum. Objects in the IA classes and Glacier Instant Retrieval are billed as at least 128 KB. Each object archived to Glacier Flexible Retrieval or Deep Archive carries 40 KB of metadata (32 KB at the archive rate, 8 KB at the Standard rate), and every lifecycle transition is a billed request. Since September 2024, lifecycle rules skip objects under 128 KB by default unless an object-size filter says otherwise. Millions of tiny objects cost more to archive than they save.
Lifecycle rules
A rule has a filter (prefix, object tags, object size) and one or more actions:
Transition / Expiration, for current versions;
NoncurrentVersionTransition / NoncurrentVersionExpiration, for older versions in versioned buckets (you can also keep the newest N noncurrent versions);
AbortIncompleteMultipartUpload, which removes the parts of uploads that never finished;
ExpiredObjectDeleteMarker, which cleans up delete markers left with no versions behind them.
Transitions only go down the waterfall: Standard → Standard-IA → Intelligent-Tiering → One Zone-IA → Glacier Instant Retrieval → Glacier Flexible Retrieval → Deep Archive. A single rule cannot move data out of a class before that class’s minimum duration has passed. For example, you cannot go to Glacier Instant Retrieval at day 4 and on to Deep Archive at day 20. To bring data back up, you restore it and copy it; a lifecycle rule cannot do this.
S3 Intelligent-Tiering
Objects move from Frequent Access to Infrequent Access after 30 days without access, and to Archive Instant Access after 90 days, all with millisecond access. The opt-in Archive Access (90+ days) and Deep Archive Access (180+ days) tiers need a restore before use. A read moves an object back to Frequent Access. There are no retrieval fees and no minimum duration, only a small per-object monitoring fee, and objects under 128 KB are never tiered. Use it for unpredictable data lakes and new applications. Avoid it for known patterns (lifecycle is cheaper), tiny objects, or data that lives only days.
Requester Pays
The owner pays for storage, and the requester pays for requests and data transfer. Requests must be authenticated (anonymous access fails) and include the request-payer parameter to accept the charges. If the requester assumes a role in the owner’s account, the owner pays. Use it to share large datasets with other AWS accounts, for example a research institute sharing a 400 TB dataset with partner universities. CloudFront, presigned URLs and replication all leave the bill with the owner.
Finding waste
S3 Storage Lens: an organization-wide dashboard across accounts and Regions. It shows usage and activity metrics and cost-efficiency signals such as incomplete multipart upload bytes, noncurrent version bytes and buckets without lifecycle rules.
Storage Class Analysis: configured per bucket, prefix or tag. It watches access patterns and tells you when to move data from Standard to Standard-IA.
S3 Inventory: scheduled lists of objects and their metadata (size, storage class, encryption) that you can query with Athena.
Batching and request costs
PUT, COPY, POST and LIST requests cost more than GETs, and transitions are charged per object. Buffer millions of small records into large compressed objects before they reach S3; Amazon Data Firehose does this and can convert to Parquet.
Worked examples
Exam technique
Eliminate options in this order: retrieval time, then resilience, then minimum duration, then price.
Translate phrases directly. “Immediately” or “milliseconds” means Standard-IA or Glacier Instant Retrieval. “Within minutes” means Glacier Flexible Retrieval with expedited retrievals. “Within 12 hours” or “48 hours” means Deep Archive.
LEAST operational overhead points to lifecycle rules or Intelligent-Tiering, never Lambda functions or cron scripts that move objects.
If a stem says nothing about re-creating the data, assume it is the primary copy and eliminate One Zone-IA.
Common mistakes
Quick recap
Choose the class from four facts: access frequency, retrieval time, retention, and whether the data can be re-created.
Minimum durations: 30 days (IA classes), 90 days (Glacier Instant Retrieval and Flexible Retrieval), 180 days (Deep Archive). S3 Standard and Intelligent-Tiering have none.
Retrieval: Glacier Instant Retrieval in milliseconds; Glacier Flexible Retrieval in 1–5 min, 3–5 h or 5–12 h; Deep Archive in up to 12 h or 48 h.
Use a lifecycle rule for a known pattern and Intelligent-Tiering for an unknown one; tiny objects gain nothing from either.
In versioned buckets, add NoncurrentVersionExpiration. Always add AbortIncompleteMultipartUpload.
Requester Pays: the owner pays for storage; authenticated requesters pay for requests and transfer.
Use Storage Lens for organization-wide visibility and Storage Class Analysis for Standard-to-IA timing.