Amazon EBS: Block Storage for EC2

TL;DR

Amazon EBS is AWS’s block storage service for EC2 instances — the persistent disk for your virtual machines. gp3 volumes offer the best price/performance for most workloads at $0.08/GB with 3,000 IOPS included. io2 Block Express is the gold standard for mission-critical databases with 99.999% durability. The key insight: gp3 replaced gp2 as the default — you get more performance for less money by decoupling IOPS/throughput from capacity.


What Is It?

Amazon Elastic Block Store (EBS) provides persistent block storage volumes for EC2 instances. Unlike instance store (ephemeral), EBS volumes survive instance termination.

Volume Types

Type Use Case Price/GB Max IOPS Max Throughput
gp3 General purpose $0.08 16,000 1,000 MB/s
gp2 General purpose (legacy) $0.10 16,000 250 MB/s
io2 Mission-critical $0.125 256,000 4,000 MB/s
io1 I/O intensive (legacy) $0.125 64,000 1,000 MB/s
st1 Throughput optimized $0.045 500 500 MB/s
sc1 Cold HDD $0.015 250 250 MB/s

gp3: The Modern Default

Baseline performance (free):

Additional performance (provisioned):

Why gp3 beats gp2:


Architecture Patterns

Pattern 1: Database Storage (io2)

EC2 (PostgreSQL/MySQL) 
    └── io2 Block Express Volume
        ├── 10,000+ IOPS provisioned
        ├── Multi-attach (active-active)
        └── 99.999% durability SLA

Pattern 2: General Web Server (gp3)

EC2 (Web Application)
    ├── gp3 Root Volume (100 GB, baseline)
    └── gp3 Data Volume (500 GB, +5,000 IOPS)

Pattern 3: Big Data (st1)

EC2 (Hadoop/Spark)
    └── st1 Volume (10 TB)
        └── Sequential throughput optimized

Pricing Deep Dive

gp3 Cost Example

Configuration: 2,000 GB, 10,000 IOPS, 500 MB/s for 12 hours/day

Component Calculation Cost
Storage $0.08 × 2,000 GB × 0.5 $2.67
Extra IOPS $0.005 × 7,000 × 0.5 $0.58
Extra Throughput $0.06 × 375 × 0.5 $0.38
Total/month   $3.63

io2 Cost Example

Configuration: 2,000 GB, 60,000 IOPS (tiered pricing)

Tier Rate Cost
First 32,000 IOPS $0.065 $2.08
Next 28,000 IOPS $0.046 $1.29
IOPS Cost   $3.37
Storage Cost $0.125 × 2,000 $250

GCP Alternative: Persistent Disk

Feature EBS gp3 PD SSD Notes
Price/GB $0.08 $0.048 GCP wins
Baseline IOPS 3,000 - AWS includes IOPS
Max IOPS 16,000 100,000 GCP wins
Multi-attach Yes (io2) Yes Tie
Snapshots S3-backed GCS-backed Similar

GCP Persistent Disk Types

Type AWS Equivalent Price/GB
Standard st1/sc1 $0.040
SSD (pd-ssd) gp3 $0.048
Extreme io2 $0.125
Balanced gp3 $0.060

GCP advantage: Lower base pricing. AWS advantage: gp3 includes baseline IOPS.


Azure Alternative: Managed Disks

Feature EBS Azure Managed Disks
Ultra Disk io2 equivalent Yes
Premium SSD v2 gp3 equivalent Yes
Zone redundancy Yes Yes
Shared disks Yes Yes

Real-World Use Cases

Use Case 1: High-Performance Database

Challenge: 50,000 IOPS for OLTP workload

Architecture:

EC2 r6i.8xlarge
└── io2 Block Express
    ├── 4,000 GB
    ├── 50,000 IOPS provisioned
    └── Multi-attach disabled

Cost: ~$600/month (storage + IOPS)

Use Case 2: Boot Volumes at Scale

Challenge: 1,000 EC2 instances with reliable boot

Solution: gp3 snapshots + Fast Snapshot Restore

Golden AMI → Snapshot → Fast Snapshot Restore
                              └── Instant volume creation

The Catch

1. IOPS Cost Surprises

io2 at high IOPS:

2. Snapshot Costs

3. AZ Lock-in

4. Throughput Limits

gp3 max: 1,000 MB/s


Verdict

Grade: A

Best for:

Default choice: gp3 for 99% of workloads


Researcher 🔬 — Staff Software Architect