Reading25 min read·Module 4High exam weight

S3 Storage Class Selection

Key concepts

  • Cost comparison across classes

  • Access patterns analysis

  • Minimum storage duration

  • Retrieval costs

  • Storage class decision tree

Overview

Amazon S3 offers multiple storage classes designed for different access patterns, durability requirements, and cost optimization strategies. Selecting the right storage class is critical for the SAA-C03 exam and real-world cost optimization.

Core Concept

S3 storage classes operate on a tiered architecture where each class serves different access patterns and cost requirements. The fundamental rule: less frequent access = lower storage costs but higher retrieval fees. Understanding this tradeoff is essential for exam success.

Exam Tip

The exam frequently tests scenarios where you must balance storage costs against retrieval costs and access patterns. Always consider the TOTAL cost (storage + retrieval + minimum duration charges) when selecting a storage class.

Key Concepts

S3 Storage Classes Hierarchy

S3 Storage Classes from Frequently Accessed to Archive
Figure 1: S3 Storage Classes Hierarchy by Access Frequency and Cost

S3 Standard

Purpose: Frequently accessed data with immediate retrieval needs

Key Characteristics:

  • 99.99% availability, 99.999999999% (11 9s) durability
  • No retrieval fees, no minimum storage duration
  • Highest storage cost among standard tiers
  • Data replicated across minimum 3 Availability Zones

Best For: Active content, dynamic websites, mobile applications, gaming, big data analytics

S3 Intelligent-Tiering

Purpose: Data with unknown or changing access patterns

Key Characteristics:

  • Automatically moves objects between access tiers based on usage
  • No retrieval fees when data is moved between tiers
  • Small monthly monitoring fee per object (~$0.0025 per 1,000 objects)
  • Supports Archive Access and Deep Archive Access tiers

Access Tiers:

  1. Frequent Access (default)
  2. Infrequent Access (after 30 days of no access) - 40% lower cost
  3. Archive Instant Access (after 90 days) - 68% lower cost
  4. Archive Access (optional, 90-730 days)
  5. Deep Archive Access (optional, 180-730 days)

Best For: Unpredictable access patterns, data lakes, long-lived content with variable access

S3 Standard-IA

Purpose: Infrequently accessed data requiring rapid access when needed

Key Characteristics:

  • 99.9% availability, 11 9s durability
  • Lower storage cost than Standard (~40% less)
  • Retrieval fee applies per GB retrieved
  • Minimum storage duration: 30 days
  • Minimum object size: 128 KB (charged for 128 KB even if smaller)

Best For: Disaster recovery, backups, older data that is still occasionally accessed

S3 One Zone-IA

Purpose: Infrequently accessed, re-creatable data in a single AZ

Key Characteristics:

  • 99.5% availability (lower than Standard-IA)
  • Data stored in only ONE Availability Zone
  • ~20% cheaper than Standard-IA
  • Minimum storage duration: 30 days
  • Same 11 9s durability within the single AZ

Best For: Secondary backups, easily reproducible data, thumbnails

Glacier Storage Classes

Glacier Storage Classes Retrieval Times and Costs
Figure 2: Glacier Storage Classes Comparison

S3 Glacier Instant Retrieval

Purpose: Archive data requiring millisecond retrieval

Key Characteristics:

  • Same low latency as S3 Standard
  • Up to 68% lower cost than S3 Standard-IA
  • Minimum storage duration: 90 days
  • Higher retrieval costs than Standard-IA

Best For: Medical images, news media assets, genomics data accessed quarterly

S3 Glacier Flexible Retrieval

Purpose: Archive data with flexible retrieval times

Retrieval Options: | Tier | Time | Cost | |------|------|------| | Expedited | 1-5 minutes | Highest | | Standard | 3-5 hours | Medium | | Bulk | 5-12 hours | Free/Lowest |

Key Characteristics:

  • Minimum storage duration: 90 days
  • Ideal for backup and disaster recovery
  • Bulk retrievals are free

Best For: Backup data, disaster recovery, compliance archives

S3 Glacier Deep Archive

Purpose: Long-term archive with rare access (1-2 times per year)

Key Characteristics:

  • Lowest storage cost in AWS (~$1/TB/month vs ~$23/TB for Standard)
  • Minimum storage duration: 180 days
  • Retrieval times: 12-48 hours
  • Designed for 7-10+ year retention

Retrieval Options: | Tier | Time | |------|------| | Standard | 12 hours | | Bulk | 48 hours |

Best For: Regulatory compliance data, financial records, healthcare records, magnetic tape replacement

Storage Class Cost Comparison

S3 Storage Class Cost Comparison (US-East-1)

Storage ClassStorage Cost/GB/MonthRetrieval Cost/GBMin DurationAvailability
S3 Standard$0.023NoneNone99.99%
S3 Intelligent-Tiering$0.023 (FA) / $0.0125 (IA)NoneNone99.9%
S3 Standard-IA$0.0125$0.0130 days99.9%
S3 One Zone-IA$0.01$0.0130 days99.5%
Glacier Instant$0.004$0.0390 days99.9%
Glacier Flexible$0.0036$0.01-0.0390 days99.99%
Glacier Deep Archive$0.00099$0.02-0.052180 days99.99%

Storage Class Decision Tree

S3 Storage Class Decision Tree
Figure 3: Decision Tree for Selecting S3 Storage Classes
JSONStorage Class Analysis Configuration
{
  "Id": "ExampleStorageClassAnalysis",
  "Filter": {
    "Prefix": "documents/"
  },
  "StorageClassAnalysis": {
    "DataExport": {
      "OutputSchemaVersion": "V_1",
      "Destination": {
        "S3BucketDestination": {
          "Format": "CSV",
          "BucketAccountId": "123456789012",
          "Bucket": "arn:aws:s3:::analytics-bucket",
          "Prefix": "storage-class-analysis/"
        }
      }
    }
  }
}
SHAWS CLI - List Objects by Storage Class
# List all objects and their storage classes in a bucket
aws s3api list-objects-v2 \
  --bucket my-bucket \
  --query 'Contents[].{Key: Key, StorageClass: StorageClass}'

# Get storage class of specific object
aws s3api head-object \
  --bucket my-bucket \
  --key my-object.txt \
  --query 'StorageClass'

# Copy object to different storage class
aws s3 cp s3://my-bucket/myfile.txt s3://my-bucket/myfile.txt \
  --storage-class STANDARD_IA

Best Practices

  1. Analyze Access Patterns First: Use S3 Storage Class Analysis for 30+ days before making transition decisions
  2. Use Intelligent-Tiering for Unknown Patterns: When access patterns are unpredictable, let AWS optimize automatically
  3. Consider Total Cost of Ownership: Include storage, retrieval, minimum duration, and request costs
  4. Implement Lifecycle Policies: Automate transitions based on object age
  5. Use One Zone-IA for Re-creatable Data Only: Never store critical, non-reproducible data in a single AZ
  6. Plan for Minimum Storage Durations: Avoid early deletion charges by understanding minimum periods
  7. Right-size Objects for IA Classes: Objects smaller than 128 KB are charged as 128 KB in IA classes

Common Exam Scenarios

Exam Scenario Decision Guide

ScenarioRecommended Storage ClassKey Reasoning
Frequently accessed data, unpredictable trafficS3 StandardNo retrieval fees, no minimum duration
Data accessed 1-2 times per monthS3 Standard-IALower storage cost, acceptable retrieval fees
Backup copies that can be recreatedS3 One Zone-IALowest cost for infrequent, re-creatable data
Unknown or changing access patternsS3 Intelligent-TieringAutomatic optimization without retrieval fees
Archive accessed quarterly with immediate needsGlacier Instant RetrievalMillisecond retrieval, lowest archive storage cost
Disaster recovery data, occasional restore testsGlacier Flexible RetrievalLow cost, flexible retrieval options
Compliance data retained 7+ years, rarely accessedGlacier Deep ArchiveLowest cost, acceptable 12-48 hour retrieval
Thumbnails generated from source imagesS3 One Zone-IARe-creatable, infrequent access

Common Pitfalls

Early Deletion Charges

Deleting or overwriting objects before the minimum storage duration (30/90/180 days depending on class) incurs pro-rated charges for the remaining time. Plan data lifecycle carefully to avoid unexpected costs.

Retrieval Cost Surprise

Frequently retrieving data from Glacier or IA classes can cost more than storing it in S3 Standard. Calculate expected retrieval frequency before choosing cheaper storage classes.

Minimum Object Size Charges

Objects smaller than 128 KB stored in S3 Standard-IA, One Zone-IA, or Glacier Instant Retrieval are billed as 128 KB. For many small files, S3 Standard or Intelligent-Tiering may be more cost-effective.

One Zone-IA Data Loss Risk

S3 One Zone-IA stores data in only one Availability Zone. If that AZ experiences a disaster, data is permanently lost. Never use for critical, irreplaceable data.

Ignoring Request Costs

High-frequency operations (LIST, GET, PUT) on large numbers of objects can generate significant request costs. This is especially important with Intelligent-Tiering which charges a monitoring fee per object.

Quick Reference

Storage Class Limits and Characteristics

Storage ClassDurabilityAvailabilityMin DurationMin SizeAZs
Standard99.999999999%99.99%NoneNone≥3
Intelligent-Tiering99.999999999%99.9%NoneNone≥3
Standard-IA99.999999999%99.9%30 days128 KB≥3
One Zone-IA99.999999999%99.5%30 days128 KB1
Glacier Instant99.999999999%99.9%90 days128 KB≥3
Glacier Flexible99.999999999%99.99%90 daysN/A≥3
Glacier Deep Archive99.999999999%99.99%180 daysN/A≥3

Key CLI Commands

# Enable Storage Class Analysis
aws s3api put-bucket-analytics-configuration \
  --bucket my-bucket \
  --id my-analysis-id \
  --analytics-configuration file://config.json

# Change storage class
aws s3 cp s3://bucket/key s3://bucket/key --storage-class GLACIER

# Restore from Glacier
aws s3api restore-object \
  --bucket my-bucket \
  --key my-archive.zip \
  --restore-request '{"Days":7,"GlacierJobParameters":{"Tier":"Standard"}}'

Pricing Quick Reference (US-East-1, approximate)

  • S3 Standard: $0.023/GB/month
  • S3 Standard-IA: $0.0125/GB/month + $0.01/GB retrieved
  • One Zone-IA: $0.01/GB/month + $0.01/GB retrieved
  • Glacier Instant: $0.004/GB/month + $0.03/GB retrieved
  • Glacier Flexible: $0.0036/GB/month + variable retrieval
  • Glacier Deep Archive: $0.00099/GB/month + variable retrieval

Test Your Knowledge

Q

A company stores 10 TB of log files that are accessed frequently for the first 30 days, occasionally for the next 60 days, and rarely after that. They need to minimize costs while ensuring data is always available within minutes. Which solution is MOST cost-effective?

AStore all data in S3 Standard permanently
BUse S3 Lifecycle to transition from Standard to Standard-IA after 30 days, then to Glacier Instant Retrieval after 90 days
CUse S3 Intelligent-Tiering for all data
DStore directly in Glacier Deep Archive with expedited retrieval when needed
Q

A media company needs to store 500 TB of video assets. 80% are accessed once after upload for processing, then never again. 20% are accessed unpredictably over several years. What combination of storage classes should they use?

AS3 Standard for all assets
BS3 Glacier Deep Archive for 80%, S3 Intelligent-Tiering for 20%
CS3 Standard-IA for all assets
DS3 One Zone-IA for 80%, S3 Standard for 20%
Q

An organization accidentally enabled lifecycle policies that transition objects to S3 Glacier Flexible Retrieval after 1 day. They need to restore 1 TB of data immediately for a critical business process. What is the fastest restoration method and approximate cost?

AExpedited retrieval: 1-5 minutes, approximately $30
BStandard retrieval: 3-5 hours, approximately $10
CBulk retrieval: 5-12 hours, free
DCannot restore faster than 5 hours from Glacier
Q

A startup wants to minimize S3 costs for their application data. They upload 100,000 small JSON files (averaging 10 KB each) daily that are accessed frequently for 7 days, then rarely. What storage strategy should they use?

AS3 Standard-IA from day 1 to minimize storage costs
BS3 Standard with lifecycle transition to Standard-IA after 7 days
CS3 Standard with lifecycle transition to Glacier Instant Retrieval after 7 days
DS3 Intelligent-Tiering from day 1

Further Reading

Related services

S3