3.3 Amazon S3 — Storage Classes, Lifecycle, and Performance
Key Takeaways
- S3 offers seven storage classes ranging from S3 Standard (highest availability/cost) to S3 Glacier Deep Archive (lowest cost, 12-hour retrieval).
- S3 Intelligent-Tiering automatically moves data between access tiers based on usage patterns — ideal when access patterns are unknown or changing.
- S3 Transfer Acceleration uses CloudFront edge locations to speed up long-distance uploads by 50-500%.
- Multipart upload is required for objects >5 GB and recommended for objects >100 MB for parallel upload performance.
- S3 delivers 3,500 PUT and 5,500 GET requests per second per prefix — use multiple prefixes for high request rates.
Amazon S3 — Storage Classes, Lifecycle, and Performance
Quick Answer: S3 Standard for frequently accessed data. S3 Standard-IA for infrequent access. S3 Glacier for archives (minutes-hours retrieval). S3 Glacier Deep Archive for long-term archives (12 hours retrieval). Use Intelligent-Tiering when access patterns are unknown. Lifecycle policies automate transitions between classes.
S3 Storage Classes
| Class | Availability | Min Duration | Retrieval Fee | Use Case |
|---|---|---|---|---|
| S3 Standard | 99.99% | None | None | Frequently accessed data |
| S3 Intelligent-Tiering | 99.9% | None | None | Unknown/changing access patterns |
| S3 Standard-IA | 99.9% | 30 days | Per GB retrieved | Infrequent but rapid access needed |
| S3 One Zone-IA | 99.5% (1 AZ) | 30 days | Per GB retrieved | Reproducible infrequent data |
| S3 Glacier Instant Retrieval | 99.9% | 90 days | Per GB retrieved | Archive with millisecond access |
| S3 Glacier Flexible Retrieval | 99.99% | 90 days | Per GB retrieved | Archive (1-12 hour retrieval) |
| S3 Glacier Deep Archive | 99.99% | 180 days | Per GB retrieved | Long-term archive (12-48 hour retrieval) |
All S3 classes provide 99.999999999% (11 9s) durability.
S3 Intelligent-Tiering Access Tiers
| Tier | Access Pattern | Additional Cost |
|---|---|---|
| Frequent Access | Accessed recently | Standard pricing |
| Infrequent Access | Not accessed for 30 days | 40% savings |
| Archive Instant Access | Not accessed for 90 days | 68% savings |
| Archive Access | Not accessed for 90-730 days (opt-in) | Glacier pricing |
| Deep Archive Access | Not accessed for 180-730 days (opt-in) | Deep Archive pricing |
On the Exam: "Access patterns are unpredictable" → S3 Intelligent-Tiering. "Access once per quarter, need immediate retrieval" → S3 Standard-IA or Glacier Instant Retrieval. "Regulatory archive, must keep 7 years" → Glacier Deep Archive.
S3 Lifecycle Policies
Lifecycle policies automate transitions between storage classes and object expiration.
Example Lifecycle Policy
| Day | Action |
|---|---|
| Day 0 | Object created in S3 Standard |
| Day 30 | Transition to S3 Standard-IA |
| Day 90 | Transition to S3 Glacier Flexible Retrieval |
| Day 365 | Transition to S3 Glacier Deep Archive |
| Day 2555 (7 years) | Expire (delete) object |
Transition Rules
You can only move objects DOWN the storage class hierarchy:
Standard → Standard-IA → One Zone-IA → Glacier Instant → Glacier Flexible → Glacier Deep Archive
S3 Performance
Baseline Performance
| Metric | Value |
|---|---|
| PUT/COPY/POST/DELETE | 3,500 requests per second per prefix |
| GET/HEAD | 5,500 requests per second per prefix |
| Object size | 0 bytes to 5 TB per object |
| Multipart upload | Required for >5 GB; recommended for >100 MB |
Performance Optimization
| Technique | How It Helps |
|---|---|
| Multiple prefixes | Distribute objects across prefixes for higher throughput (e.g., /images/, /videos/, /docs/) |
| Multipart upload | Parallel upload of parts — faster, resumable |
| S3 Transfer Acceleration | Uses CloudFront edge locations for long-distance transfers (50-500% faster) |
| Byte-range fetches | Download specific portions of an object in parallel |
S3 Versioning
| Feature | Description |
|---|---|
| Purpose | Keep multiple versions of objects; protect against accidental deletion |
| Delete | Creates a delete marker (recoverable); permanently delete requires specifying version ID |
| MFA Delete | Require MFA to permanently delete versions or disable versioning |
| Storage | Each version consumes storage — use lifecycle policies to manage old versions |
S3 Object Lock
| Mode | Behavior |
|---|---|
| Governance | Users with special permissions CAN override lock |
| Compliance | NO ONE can override lock (not even root account) |
| Legal Hold | Prevents deletion until hold is removed (no retention period) |
On the Exam: "Regulatory compliance requires data cannot be deleted for 7 years, even by administrators" → S3 Object Lock in Compliance mode.
S3 Access Points
S3 Access Points simplify managing access to shared datasets:
- Each access point has its own hostname and access policy
- Can restrict access to specific VPC endpoints
- Simplify bucket policies for large, shared buckets with many different access patterns
A company stores data that is accessed frequently for 30 days, then rarely accessed for the next 11 months, and must be retained for 7 years for compliance. Which lifecycle strategy is MOST cost-effective?
A company has unpredictable access patterns for their S3 data — some objects are accessed daily while others are accessed once a year. Which storage class should they use?
What is the maximum size of a single object in Amazon S3?