S3 storage class and lifecycle questions appear frequently on the SAA-C03 exam. They test whether you can match a data access pattern to the correct storage class and design a lifecycle policy that minimises cost without violating minimum retention requirements.
S3 Storage Classes
| Storage Class | Use Case | Min Duration | Retrieval |
|---|---|---|---|
| S3 Standard | Frequently accessed | None | Immediate |
| S3 Intelligent-Tiering | Unknown or changing access | None | Immediate |
| S3 Standard-IA | Infrequent access, rapid retrieval | 30 days | Immediate |
| S3 One Zone-IA | Infrequent, single AZ OK | 30 days | Immediate |
| S3 Glacier Instant Retrieval | Archive, millisecond retrieval | 90 days | Immediate |
| S3 Glacier Flexible Retrieval | Archive, minutes to hours | 90 days | Minutes to hours |
| S3 Glacier Deep Archive | Long-term archive | 180 days | Up to 12 hours |
IA = Infrequent Access — Lower storage cost than Standard, but you pay per retrieval. Only cost-effective if you access the data less than roughly once per month.
The Minimum Duration Trap
Every storage class below Standard has a minimum storage duration. If you delete or transition an object before that minimum period, you are still charged for the full minimum period.
Example: you store 1 GB in S3 Standard-IA for 10 days and then delete it. You are charged for 30 days because Standard-IA has a 30-day minimum.
Exam question: "A company stores log files that are accessed for the first 7 days and then deleted. Which storage class is most cost-effective?"
Answer: S3 Standard. Using Standard-IA would charge for 30 days even though the files are deleted after 7. Standard has no minimum retention, so you pay only for 7 days.
Lifecycle Policies
A lifecycle policy automatically transitions objects between storage classes or deletes them based on age.
Example policy:
Transition to S3 Standard-IA after 30 days
Transition to S3 Glacier Flexible Retrieval after 90 days
Delete after 365 days
Lifecycle policies can apply to:
- All objects in a bucket
- Objects matching a prefix (folder path)
- Objects with specific tags
- Current versions only, noncurrent versions only, or both
Transition minimums: you cannot transition from Standard to Standard-IA in fewer than 30 days (the minimum is enforced by the API). The exam sometimes gives a scenario where a 15-day transition is proposed — this is not valid.
Versioning and Noncurrent Version Lifecycle
When S3 versioning is enabled, overwriting an object creates a new version and the previous version becomes "noncurrent." Noncurrent versions accumulate and increase storage costs.
Lifecycle rules can target noncurrent versions separately:
Transition noncurrent versions to Glacier after 30 days
Delete noncurrent versions after 90 days
Exam scenario: "A company uses S3 versioning. Storage costs are increasing rapidly. How can they reduce costs without disabling versioning?"
Answer: create a lifecycle rule to transition or delete noncurrent versions after a defined period.
Intelligent-Tiering
S3 Intelligent-Tiering automatically moves objects between frequent and infrequent access tiers based on access patterns, with no retrieval fee penalty and no minimum storage duration penalty for objects over 128 KB.
Use Intelligent-Tiering when access patterns are unpredictable and you want automatic cost optimisation without managing lifecycle rules.
Exam trap: Intelligent-Tiering has a monitoring fee per object per month. For a very large number of small objects, this monitoring cost can exceed the savings. For many small files with unpredictable access, evaluate whether the monitoring fee is justified.
Common SAA-C03 Scenario
"A media company stores video files. Files are frequently accessed for 30 days after upload, occasionally accessed for the next 60 days, and must be retained for 7 years with retrieval within 12 hours."
Lifecycle policy:
- Day 0–30: S3 Standard
- Day 30–90: S3 Standard-IA
- Day 90+: S3 Glacier Deep Archive (cheapest, 12-hour retrieval is acceptable)
Practice SAA-C03 S3 questions to build speed on storage class selection and lifecycle design.
Storage Class Comparison Table — What the Exam Tests Side by Side
The exam gives you a cost-optimization scenario and asks which storage class to use. You need the retrieval time and minimum storage duration cold in your head because they're the deciding factors.
| Storage Class | Retrieval Time | Min Storage Duration | Use Case |
|---|---|---|---|
| S3 Standard | Milliseconds | None | Frequently accessed data |
| S3 Intelligent-Tiering | Milliseconds | None | Unknown or changing access patterns |
| S3 Standard-IA | Milliseconds | 30 days | Infrequently accessed, rapid retrieval needed |
| S3 One Zone-IA | Milliseconds | 30 days | Infrequently accessed, non-critical, single AZ ok |
| S3 Glacier Instant Retrieval | Milliseconds | 90 days | Archive with immediate access requirement |
| S3 Glacier Flexible Retrieval | Minutes to hours | 90 days | Archive, retrieval time is flexible |
| S3 Glacier Deep Archive | Up to 12 hours | 180 days | Long-term archive, rarely retrieved |
The column that determines the answer for most exam questions is retrieval time. "Must be retrievable within milliseconds" rules out Glacier Flexible and Deep Archive. "Rarely accessed, no urgency on retrieval" opens up both Glacier tiers. "Never retrieved more than once a year" is the signal for Deep Archive.
One Zone-IA is cheaper than Standard-IA but stores data in only one Availability Zone. The exam uses it when the scenario explicitly says the data is reproducible or non-critical. If the scenario mentions durability requirements or calls the data critical, One Zone-IA is wrong.
The Minimum Storage Duration Trap — With Real Numbers
AWS charges minimum storage durations on lower-cost tiers because the pricing model assumes objects stay for a minimum period. If you delete, overwrite, or transition an object before the minimum is reached, you pay for the remainder of the minimum period anyway.
- Standard-IA: 30 days minimum. Delete on day 15 = pay for 15 more days.
- One Zone-IA: 30 days minimum. Same rule.
- Glacier Instant Retrieval: 90 days minimum.
- Glacier Flexible Retrieval: 90 days minimum.
- Glacier Deep Archive: 180 days minimum.
The exam scenario: "A company stores objects in S3 Standard-IA. The objects are frequently created and deleted within a week. They want to reduce costs." The answer is NOT to use Standard-IA — the 30-day minimum means they're paying for 23 days they're not using. The correct answer is S3 Standard, which has no minimum storage duration and therefore no early deletion penalty.
Another trap: transitioning objects from Standard-IA to Glacier after 60 days. The object must have been in Standard-IA for at least 30 days before the transition, so if you set both transitions in one lifecycle rule, ensure the Glacier transition day number (e.g., day 60) is at least 30 days after the IA transition day (e.g., day 30). AWS won't let you configure a lifecycle rule that violates the minimum gap.
Versioning and Lifecycle Rules — How They Interact
In a versioning-enabled bucket, every object has a current version and potentially many noncurrent (previous) versions. Lifecycle rules treat these independently and you must configure them separately.
A lifecycle rule that targets "current versions" applies to the latest version of each object. A rule that targets "noncurrent versions" applies to older versions — the ones that were replaced by newer uploads.
Common exam scenario: "A company enables versioning to protect against accidental deletions. Storage costs are increasing because many versions accumulate. How do they reduce storage cost while keeping versioning enabled?" The answer is a lifecycle rule for noncurrent version expiration — for example, delete noncurrent versions after 30 days. This removes old versions while preserving the current version of every object.
Delete markers also accumulate in versioned buckets. When you delete an object in a versioned bucket, S3 creates a delete marker rather than removing the object. Expired delete markers (delete markers with no versions beneath them) can be cleaned up with a lifecycle rule that enables "Expire current versions of objects" combined with the delete marker expiration setting.
If you don't configure noncurrent version lifecycle rules, old versions accumulate indefinitely and you pay for all of them.
Intelligent-Tiering — When the Exam Recommends It vs When It Doesn't
S3 Intelligent-Tiering monitors access patterns and automatically moves objects between access tiers. It charges a small per-object monitoring fee ($0.0025 per 1,000 objects per month) in exchange for automatic tiering.
The exam recommends Intelligent-Tiering when:
- Access patterns are unknown or unpredictable
- Objects are sometimes accessed frequently, sometimes not
- The workload has variable access (e.g., seasonal data, machine learning datasets that get queried in bursts)
The exam does NOT recommend Intelligent-Tiering when:
- Objects are smaller than 128 KB — S3 doesn't tier small objects, but still charges the monitoring fee, making it more expensive than just Standard
- Access patterns are completely predictable — if you know data is accessed heavily for 30 days then never, a lifecycle rule is more cost-effective because Intelligent-Tiering's monitoring fee doesn't add value when you already know what to do
The 128 KB threshold is the most commonly tested Intelligent-Tiering limitation. If a scenario mentions millions of small objects (thumbnails, log entries, config files), Intelligent-Tiering is the wrong answer.
Replication and Lifecycle Rules — What Doesn't Transfer
S3 replication (Cross-Region Replication or Same-Region Replication) copies objects from a source bucket to a destination bucket. What it does NOT copy: lifecycle configuration rules.
If you configure a lifecycle rule on the source bucket that transitions objects to Glacier after 90 days, those objects in the source bucket will be in Glacier. The replicated copies in the destination bucket will be in the storage class you specified in the replication configuration (typically Standard, unless you override it). The destination bucket will NOT automatically apply the same lifecycle transitions.
The exam tests this as: "A company uses CRR to replicate objects from us-east-1 to eu-west-1. They configured a lifecycle rule to delete objects after 365 days in the source bucket. How long will objects exist in the destination bucket?" The answer is indefinitely — lifecycle rules don't replicate, so without a separate lifecycle rule on the destination, objects accumulate forever.
You must configure lifecycle rules independently on each bucket. This includes the replication destination.
Exam Question Pattern: The Cost Optimization Scenario
This is the most common lifecycle question structure on SAA-C03:
"A company stores customer uploads in S3. Objects are accessed frequently for the first 30 days after upload. Between 30 and 90 days, access drops significantly. After 90 days, objects are rarely accessed and must be retained for 7 years for compliance. The company wants to minimize storage costs."
Work through it:
- 0–30 days: frequent access → S3 Standard (no minimum duration, fast retrieval)
- 30–90 days: infrequent but needs fast retrieval → S3 Standard-IA (30-day minimum satisfied, millisecond retrieval)
- 90+ days: rarely accessed, 7-year retention, no retrieval time requirement → S3 Glacier Flexible Retrieval or Deep Archive
The lifecycle rule:
- Transition to Standard-IA after 30 days
- Transition to Glacier Flexible Retrieval (or Deep Archive) after 90 days
- Expiration after 2,555 days (7 years)
What trips candidates: they try to use Glacier Instant Retrieval at the 30-day mark to save money, but the minimum storage duration for Glacier Instant is 90 days — if data transitions at day 30 and there's a retention period that might end before day 120, you'd incur early deletion charges. Standard-IA is the right tier for 30-90 days because its 30-day minimum aligns with the transition timing.
Practice Question Sets
Working through real SAA-C03 questions is the fastest way to lock in how the exam phrases these scenarios. Pick a session that fits your time: