S3 Intelligent-Tiering: When You Don't Know the Access Pattern, Use This
Learn how to automatically optimize costs with S3 Intelligent-Tiering. The optimal storage class choice when access patterns are unknown.
Related Exam Domains
- Domain 4: Design Cost-Optimized Architectures
Key Takeaway
S3 Intelligent-Tiering is a storage class that automatically optimizes costs based on access patterns. Ideal for unpredictable or frequently changing access patterns, it can reduce costs by up to 68%.
Exam Tip
Exam Essential: "Access pattern unknown" or "Access pattern varies" → S3 Intelligent-Tiering. Auto-moves to Infrequent Access after 30 days of no access, immediately returns to Frequent Access on access. No retrieval fees is the key differentiator!
| Feature | S3 Intelligent-Tiering |
|---|---|
| Auto Tier Movement | Yes (based on access pattern) |
| Retrieval Fees | None |
| Minimum Storage Duration | None |
| Minimum Object Size | 128KB (recommended) |
| Monitoring Cost | $0.0025/1,000 objects/month |
| Cost Savings | Up to 68% |
What is S3 Intelligent-Tiering?
Concept
S3 Intelligent-Tiering is a storage class that monitors access patterns and automatically moves objects to the most cost-effective tier.
Intelligent-Tiering Core Value:
├── No access pattern analysis needed
├── No manual tier movement work
├── No performance degradation (instant retrieval)
├── No retrieval fees
└── Up to 68% cost savings
When to Use?
Intelligent-Tiering Suitable Cases:
✅ When access patterns are unpredictable
✅ When access patterns change frequently
✅ When Lifecycle policy management is burdensome
✅ Data lakes, new applications
✅ User-generated content (UGC)
Not Suitable Cases:
❌ When access patterns are clear (choose Standard or IA directly)
❌ Small objects under 128KB (monitoring cost inefficient)
❌ Short-term data deleted within 30 days
Access Tier Structure
Default Tiers (Auto-Enabled)
Default Access Tiers:
┌─────────────────────────────────────┐
│ Frequent Access (FA) │
│ - Frequently accessed data │
│ - Same price as Standard │
└───────────────┬─────────────────────┘
│ 30 days no access
↓
┌─────────────────────────────────────┐
│ Infrequent Access (IA) │
│ - 40% cheaper │
│ - Immediately returns to FA on access │
└─────────────────────────────────────┘
Optional Archive Tiers
Optional Archive Tiers (Manual Activation):
┌─────────────────────────────────────┐
│ Archive Instant Access (AIA) │
│ - Moves after 90 days no access │
│ - 68% cheaper │
│ - Millisecond retrieval (instant)│
└───────────────┬─────────────────────┘
│ 90-730 days no access (configurable)
↓
┌─────────────────────────────────────┐
│ Archive Access (AA) │
│ - 3-5 hour retrieval │
│ - 71% cheaper │
└───────────────┬─────────────────────┘
│ 180-730 days no access (configurable)
↓
┌─────────────────────────────────────┐
│ Deep Archive Access (DAA) │
│ - Within 12 hour retrieval │
│ - 95% cheaper │
└─────────────────────────────────────┘
Exam Tip
Exam Point: Archive Instant Access auto-moves after 90 days of no access and provides millisecond instant retrieval. Unlike Glacier, there's no retrieval wait time!
Cost Structure
Storage Cost Comparison (us-east-1)
| Tier | Storage Cost | Savings |
|---|---|---|
| Frequent Access | $0.023/GB | - |
| Infrequent Access | $0.0125/GB | 46% |
| Archive Instant Access | $0.004/GB | 83% |
| Archive Access | $0.0036/GB | 84% |
| Deep Archive Access | $0.00099/GB | 96% |
Additional Costs
| Cost Item | Price |
|---|---|
| Monitoring & Automation Cost | $0.0025/1,000 objects/month |
| Retrieval Cost (IA/AIA) | None |
| Archive Tier Restore Cost | Same as Glacier |
Cost Calculation Example
1TB Data, Monthly Cost Comparison:
S3 Standard:
└── 1,000GB × $0.023 = $23/month
S3 Intelligent-Tiering (50% FA, 50% IA assumed):
├── FA: 500GB × $0.023 = $11.50
├── IA: 500GB × $0.0125 = $6.25
└── Monitoring: ~$2.50 (1 million objects assumed)
Total: $20.25/month (12% savings)
Intelligent-Tiering (20% FA, 80% AIA assumed):
├── FA: 200GB × $0.023 = $4.60
├── AIA: 800GB × $0.004 = $3.20
└── Monitoring: ~$2.50
Total: $10.30/month (55% savings)
Archive Tier Activation
Console Configuration
Archive Tier Activation Steps:
1. S3 Console → Select bucket
2. Properties tab → Intelligent-Tiering Archive configurations
3. Create configuration
- Configuration name: config name
- Filter (optional): filter by prefix/tag
- Archive Access tier: set 90-730 days
- Deep Archive Access tier: set 180-730 days
4. Save
AWS CLI Configuration
# Create archive tier configuration
aws s3api put-bucket-intelligent-tiering-configuration \
--bucket my-bucket \
--id archive-config \
--intelligent-tiering-configuration '{
"Id": "archive-config",
"Status": "Enabled",
"Tierings": [
{
"Days": 90,
"AccessTier": "ARCHIVE_ACCESS"
},
{
"Days": 180,
"AccessTier": "DEEP_ARCHIVE_ACCESS"
}
]
}'
Exam Tip
Exam Point: Archive Access and Deep Archive Access tiers require manual activation. By default, only Frequent Access and Infrequent Access tiers operate.
Intelligent-Tiering vs Lifecycle Policies
Comparison Table
| Aspect | Intelligent-Tiering | Lifecycle Policy |
|---|---|---|
| Tier Movement Basis | Actual access pattern | Fixed duration |
| Auto Return | Yes (returns to FA on access) | No (manual or restore) |
| Management Burden | Low | High (policy design needed) |
| Cost Prediction | Difficult (varies with pattern) | Easy (fixed rules) |
| Suitable When | Pattern unclear | Pattern clear |
Selection Criteria
Pattern clear + rare access → Lifecycle (Standard → IA → Glacier)
Pattern unclear + varies frequently → Intelligent-Tiering
Pattern clear + frequent access → Standard
Pattern clear + occasional access → Standard-IA (direct selection)
Using Together
Lifecycle + Intelligent-Tiering Combination:
├── On upload: Standard class
├── After 30 days: Transition to Intelligent-Tiering (Lifecycle)
└── After: Intelligent-Tiering manages automatically
Benefits of this approach:
├── Short-term data: Can be deleted quickly
├── Long-term data: Auto-optimized
└── Minimized monitoring costs
Object Size Considerations
Objects Under 128KB
Characteristics of objects under 128KB:
├── Always stays in Frequent Access tier
├── Never moves to Infrequent Access
├── Monitoring cost still charged
└── Conclusion: Inefficient
Recommendation:
├── Under 128KB: Use S3 Standard
└── 128KB and above: Use Intelligent-Tiering
Using Lifecycle Filter
// Only Intelligent-Tiering for objects 128KB and above
{
"Rules": [
{
"ID": "move-large-objects-to-it",
"Filter": {
"ObjectSizeGreaterThan": 131072
},
"Status": "Enabled",
"Transitions": [
{
"Days": 0,
"StorageClass": "INTELLIGENT_TIERING"
}
]
}
]
}
Practical Use Scenarios
1. Data Lake
Data Lake Structure:
├── Raw Zone: Intelligent-Tiering
│ └── Ingested raw data, access pattern unclear
├── Processed Zone: Intelligent-Tiering
│ └── Processed data, analysis frequency varies
└── Curated Zone: Standard
└── Frequently used final data
2. Media Archive
Media Content Management:
├── Recently uploaded: Frequent Access
├── 30 days no access: Infrequent Access (auto)
├── 90 days no access: Archive Instant Access (if configured)
└── When needed: Immediately streamable (no retrieval delay)
3. Log Storage
Log Data Optimization:
├── Recent logs: Frequent analysis → FA
├── 30+ day logs: Occasional analysis → IA
├── 90+ day logs: Compliance retention → AIA
└── When retrieval needed: Immediate Athena query possible
Monitoring and Analysis
S3 Storage Lens
Information Available with Storage Lens:
├── Data distribution by tier
├── Cost savings effect
├── Access pattern trends
└── Optimization recommendations
CloudWatch Metrics
Key CloudWatch Metrics:
├── BucketSizeBytes: Bucket size
├── NumberOfObjects: Object count
└── Filter by Storage Class available
SAA-C03 Exam Focus Points
Common Question Types
| Scenario | Answer |
|---|---|
| "Access pattern unpredictable" | Intelligent-Tiering |
| "Access pattern changes frequently" | Intelligent-Tiering |
| "Auto cost optimization" | Intelligent-Tiering |
| "Cost savings without retrieval fees" | Intelligent-Tiering |
| "Reduce Lifecycle policy management burden" | Intelligent-Tiering |
| "Data lake default storage" | Intelligent-Tiering |
Common Pitfalls
❌ Intelligent-Tiering has retrieval fees on access
→ No retrieval fees even from IA/AIA tiers
❌ All objects automatically move to archive tiers
→ Archive tiers require manual activation
❌ Objects under 128KB also move to IA
→ Under 128KB always stays in FA
❌ Intelligent-Tiering is always cheaper than Standard
→ Depends on monitoring cost + object count
❌ Intelligent-Tiering is optimal when pattern is clear
→ Direct class selection is more efficient when pattern is clear
Frequently Asked Questions (FAQ)
Q: Should I choose Intelligent-Tiering or S3 Standard-IA?
Choose Standard-IA if you know the access pattern, Intelligent-Tiering if you don't.
- Expected access about once every 30 days → Standard-IA (30-day minimum storage)
- Cannot predict access frequency → Intelligent-Tiering
Q: Isn't the monitoring cost burdensome?
$0.0025 per 1,000 objects per month. For large files, storage cost savings far exceed monitoring costs. However, monitoring costs can be burdensome if there are many small files.
Q: How do I retrieve objects from Archive Access tier?
Call the RestoreObject API or request restore from console. Restoration takes 3-5 hours (AA) or 12 hours (DAA). Archive Instant Access is instantly retrievable.
Q: Can I change existing Standard objects to Intelligent-Tiering?
Yes, you can change the storage class of existing objects using Lifecycle policies or S3 Batch Operations. PUT COPY request costs apply when changing.
Q: Can I set Intelligent-Tiering as the default storage class for a bucket?
Direct default setting is not possible, but you can specify the x-amz-storage-class: INTELLIGENT_TIERING header on upload, or transition immediately via Lifecycle policy.
Summary
S3 Intelligent-Tiering is the answer when "you don't know the access pattern":
- Auto-tiering: Automatic movement based on access patterns
- No retrieval fees: No additional costs even from IA/AIA
- Instant access: Archive Instant Access also millisecond retrieval
- 128KB+ recommended: Use Standard for small objects
- Archive optional: AA/DAA require manual activation