EBS Volume Types: gp3 vs io2 vs st1 vs sc1 - When to Use What?
Compare AWS EBS volume types (gp3, gp2, io2, io1, st1, sc1) by performance, cost, and use cases. Learn optimal volume selection criteria for SAA-C03 exam.
Related Exam Domains
- Domain 3: Design High-Performing Architectures
- Domain 4: Design Cost-Optimized Architectures
Key Takeaway: EBS Volume Type Selection
For most workloads, gp3 is sufficient. Choose io2 for 16,000+ IOPS or sub-millisecond latency, st1 for high-throughput sequential processing, and sc1 for minimum cost cold data.
Comparison at a Glance
| Volume Type | Max IOPS | Max Throughput | Latency | Ideal Workload |
|---|---|---|---|---|
| gp3 | 16,000 | 1,000 MB/s | Milliseconds | General purpose, boot volumes, dev/test |
| io2 | 256,000 | 4,000 MB/s | Sub-millisecond | High-performance DB, SAP HANA |
| st1 | 500 | 500 MB/s | - | Big data, log processing |
| sc1 | 250 | 250 MB/s | - | Cold data, archive |
Exam Tip
Exam Essential: "General purpose/boot volume" → gp3, "High-performance DB/SAP HANA" → io2, "Big data/throughput" → st1, "Lowest cost/cold data" → sc1
EBS Volume Type Categories
EBS volumes are divided into SSD-based and HDD-based types.
┌─────────────────────────────────────────────────────────────┐
│ EBS Volume Types │
├──────────────────────────┬──────────────────────────────────┤
│ SSD-based │ HDD-based │
│ (Random I/O optimized) │ (Sequential I/O optimized) │
├──────────────────────────┼──────────────────────────────────┤
│ ┌────────┐ ┌────────┐ │ ┌────────┐ ┌────────┐ │
│ │ gp3 │ │ io2 │ │ │ st1 │ │ sc1 │ │
│ │General │ │ High │ │ │Through-│ │ Cold │ │
│ │Purpose │ │Perform.│ │ │ put │ │ │ │
│ └────────┘ └────────┘ │ └────────┘ └────────┘ │
│ │ │
│ • Boot volume support │ • No boot volume support │
│ • Random read/write │ • Sequential read/write │
│ • Low latency │ • High throughput │
└──────────────────────────┴──────────────────────────────────┘
SSD Volumes: gp3 vs gp2 vs io2 vs io1
gp3: General Purpose SSD (Recommended)
Most cost-effective general-purpose SSD, suitable for most workloads.
gp3 Performance Model
┌─────────────────────────────────────────────────────┐
│ │
│ Baseline Performance (Free) │
│ ┌─────────────────────────────────────┐ │
│ │ 3,000 IOPS + 125 MB/s │ │
│ └─────────────────────────────────────┘ │
│ │
│ Additional Performance (Paid) │
│ ┌─────────────────────────────────────┐ │
│ │ Up to 16,000 IOPS + 1,000 MB/s │ │
│ └─────────────────────────────────────┘ │
│ │
│ IOPS and throughput can be set independently │
└─────────────────────────────────────────────────────┘
| Spec | Value |
|---|---|
| Volume Size | 1 GiB – 16 TiB |
| Baseline IOPS | 3,000 (free) |
| Max IOPS | 16,000 |
| Baseline Throughput | 125 MB/s (free) |
| Max Throughput | 1,000 MB/s |
| Latency | Single-digit milliseconds |
| Durability | 99.8–99.9% |
gp3 vs gp2 Comparison
| Aspect | gp3 | gp2 |
|---|---|---|
| Price | $0.08/GB | $0.10/GB |
| Baseline IOPS | 3,000 (fixed) | 100–3,000 (size-based) |
| IOPS Config | Independent | Tied to volume size |
| Throughput Config | Independent | Tied to volume size |
| Burst | None (consistent performance) | Yes (credit depletion possible) |
Exam Tip
Migrate gp2 to gp3: gp3 is 20% cheaper at the same performance and allows independent IOPS/throughput configuration for more flexibility.
gp3 Suitable Workloads:
- Boot volumes
- Development and test environments
- Medium-sized single-instance databases
- Virtual desktops
- Most transactional workloads
io2 Block Express: Provisioned IOPS SSD
Highest performance EBS volume for mission-critical workloads.
io2 Block Express Performance
┌─────────────────────────────────────────────────────┐
│ │
│ ┌─────────────────────────────────────┐ │
│ │ Up to 256,000 IOPS │ │
│ │ Up to 4,000 MB/s throughput │ │
│ │ Average latency under 500μs │ │
│ │ 99.999% durability │ │
│ └─────────────────────────────────────┘ │
│ │
│ IOPS:GB ratio = up to 1,000:1 │
│ (1,000GB volume → up to 1,000,000 IOPS requested) │
│ (Actual max capped at 256,000 IOPS) │
└─────────────────────────────────────────────────────┘
| Spec | Value |
|---|---|
| Volume Size | 4 GiB – 64 TiB |
| Max IOPS | 256,000 |
| Max Throughput | 4,000 MB/s |
| Latency | Under 500μs (sub-millisecond) |
| Durability | 99.999% (100x better than io1) |
| Multi-Attach | Supported |
io2 vs io1 Comparison
| Aspect | io2 Block Express | io1 |
|---|---|---|
| Max IOPS | 256,000 | 64,000 |
| Max Throughput | 4,000 MB/s | 1,000 MB/s |
| Durability | 99.999% | 99.8–99.9% |
| IOPS:GB Ratio | 1,000:1 | 50:1 |
| Latency | Under 500μs | Milliseconds |
io2 Suitable Workloads:
- SAP HANA
- Microsoft SQL Server (high-performance)
- Oracle Database (mission-critical)
- MongoDB, Cassandra (high-performance)
- I/O-intensive NoSQL databases
Exam Tip
When to Choose io2: When gp3's 16,000 IOPS isn't enough, sub-millisecond latency is required, or 99.999% durability is needed
HDD Volumes: st1 vs sc1
HDD volumes are optimized for sequential large I/O.
st1: Throughput Optimized HDD
Low-cost HDD optimized for large sequential workloads.
st1 Performance Model (Burst)
┌─────────────────────────────────────────────────────┐
│ │
│ Baseline throughput: 40 MB/s per TiB │
│ Burst throughput: 250 MB/s per TiB │
│ Max throughput: 500 MB/s │
│ │
│ Burst Credits │
│ ████████████████░░░░░░░░░░░░░░░░ 50% │
│ │
│ • High throughput when burst credits available │
│ • Throttled to baseline when credits depleted │
└─────────────────────────────────────────────────────┘
| Spec | Value |
|---|---|
| Volume Size | 125 GiB – 16 TiB |
| Max IOPS | 500 |
| Baseline Throughput | 40 MB/s per TiB |
| Burst Throughput | 250 MB/s per TiB |
| Max Throughput | 500 MB/s |
| Boot Volume | Not supported |
st1 Suitable Workloads:
- Apache Kafka
- Big data (MapReduce, Spark)
- Data warehouses
- Log processing
- ETL workloads
sc1: Cold HDD
Lowest cost EBS volume for infrequently accessed data.
| Spec | Value |
|---|---|
| Volume Size | 125 GiB – 16 TiB |
| Max IOPS | 250 |
| Baseline Throughput | 12 MB/s per TiB |
| Burst Throughput | 80 MB/s per TiB |
| Max Throughput | 250 MB/s |
| Boot Volume | Not supported |
sc1 Suitable Workloads:
- Cold data storage
- Infrequently accessed archives
- Backup data
- Cost optimization as top priority
st1 vs sc1 Comparison
| Aspect | st1 | sc1 |
|---|---|---|
| Purpose | Throughput-focused | Cost-focused |
| Baseline Throughput | 40 MB/s per TiB | 12 MB/s per TiB |
| Burst Throughput | 250 MB/s per TiB | 80 MB/s per TiB |
| Max Throughput | 500 MB/s | 250 MB/s |
| Price | Higher | Lowest |
Exam Tip
HDD Selection Criteria: Choose st1 for throughput, sc1 for cost. If random I/O is frequent, choose SSD (gp3) instead of HDD.
Volume Type Selection Guide
Decision Flowchart
Is it a boot volume?
│
├── Yes ──► gp3 (only SSD supports boot volumes)
│
└── No ──► What's the workload pattern?
│
├── Random I/O ──► Need more than 16,000 IOPS?
│ │
│ ├── Yes ──► io2
│ │
│ └── No ──► gp3
│
└── Sequential I/O ──► Is throughput important?
│
├── Yes ──► st1
│
└── No ──► sc1
Recommended Volumes by Workload
| Workload | Recommended | Reason |
|---|---|---|
| EC2 boot volume | gp3 | General purpose, fast boot |
| Dev/Test | gp3 | Cost-effective |
| Web server | gp3 | Typical I/O patterns |
| Small/medium DB | gp3 | Sufficient IOPS |
| High-performance OLTP | io2 | High IOPS, low latency |
| SAP HANA | io2 | Sub-millisecond latency required |
| Big data/Kafka | st1 | High throughput |
| Log processing | st1 | Sequential write optimized |
| Archive | sc1 | Lowest cost |
Cost Optimization
Pricing by Volume Type (us-east-1)
| Volume Type | Price per GB | IOPS Price | Throughput Price |
|---|---|---|---|
| gp3 | $0.08 | $0.005/IOPS (over 3,000) | $0.04/MB/s (over 125) |
| gp2 | $0.10 | Included | Included |
| io2 | $0.125 | $0.065/IOPS | Included |
| io1 | $0.125 | $0.065/IOPS | Included |
| st1 | $0.045 | Included | Included |
| sc1 | $0.015 | Included | Included |
Cost Reduction Strategies
-
Migrate gp2 to gp3
- 20% cost savings at same performance
- Just change volume type (no downtime)
-
Consider gp3 instead of io1/io2
- Up to 87% savings for 16,000 IOPS or less
- Example: io2 $582.50/month → gp3 $80/month (same performance)
-
Leverage HDD
- Use st1/sc1 for sequential I/O workloads
- Maximum savings with sc1 for cold data
-
Right-size volumes
- Monitor utilization and eliminate over-provisioning
- Use CloudWatch EBS metrics
SAA-C03 Exam Focus Points
Common Question Types
-
General workload volume selection
- Answer: gp3
- Hints: "boot volume", "dev/test", "cost-effective"
-
High-performance database volume
- Answer: io2
- Hints: "SAP HANA", "mission-critical", "sub-millisecond"
-
Big data/throughput workloads
- Answer: st1
- Hints: "Kafka", "MapReduce", "log processing", "large sequential"
-
Lowest cost storage
- Answer: sc1
- Hints: "infrequently accessed", "archive", "minimize cost"
-
gp2 vs gp3 comparison
- Answer: gp3 is cheaper and more flexible
- "Burst credit depletion" issue → solved by gp3
Exam Tip
Sample Exam Question: "A company processes large datasets sequentially for big data analytics. They need cost-effective storage with high throughput. Which EBS volume type should they use?"
→ Answer: st1 (Throughput Optimized HDD, optimal for sequential I/O)
Key Memorization Points
| Keyword | Association |
|---|---|
| Boot volume | gp3 (SSD only) |
| General purpose, dev/test | gp3 |
| Burst credit issues | gp2 → migrate to gp3 |
| Over 16,000 IOPS | io2 |
| Sub-millisecond latency | io2 |
| SAP HANA | io2 |
| Big data, Kafka | st1 |
| Log processing, ETL | st1 |
| Cold data, archive | sc1 |
| Lowest cost | sc1 |
FAQ
Q1: Should I use gp2 or gp3?
Recommend gp3. gp3 is 20% cheaper at the same performance and allows independent IOPS/throughput configuration. gp2 is considered a legacy volume.
Q2: When do I need io2?
io2 is needed when:
- More than 16,000 IOPS required
- Sub-millisecond (under 500μs) latency needed
- 99.999% durability required
- SAP HANA, mission-critical databases
Q3: When should I use HDD volumes (st1, sc1)?
For sequential large I/O workloads. If random I/O is frequent, SSD (gp3) is more suitable than HDD.
- st1: Big data, Kafka, log processing (throughput priority)
- sc1: Cold data, archive (cost priority)
Q4: Can I change volume types?
Yes. With Elastic Volumes, you can change volume type, size, and IOPS without downtime. However, there are some limitations when switching between HDD↔SSD.
Q5: What is Multi-Attach?
Multi-Attach allows an io2/io1 volume to be attached to multiple EC2 instances in the same AZ simultaneously. Useful for cluster applications, but requires application-level write coordination.
Summary
The key to EBS volume selection is choosing the right type for your workload pattern:
- Most workloads: gp3 (general purpose, cost-effective)
- High-performance databases: io2 (maximum performance, low latency)
- Big data/sequential processing: st1 (high throughput)
- Cold data: sc1 (lowest cost)
SAA-C03 exam frequently tests selecting the right volume type based on workload characteristics. Watch for keywords like "boot volume", "SAP HANA", "big data", and "lowest cost".