
Cargando...
Choose the right EBS volume type — stop guessing, start architecting with confidence
Performance, cost, and consistency — four volume types, one right answer for your workload
| Feature | EBS gp2 Baseline SSD, burst-capable, legacy default | gp3 Newer default SSD, independent IOPS tuning | io1 High IOPS, mission-critical, first-gen | io2 Highest durability, sub-millisecond latency |
|---|---|---|---|---|
Volume Type Family gp2 and gp3 are in the same family but are NOT interchangeable by default — migration is required. io2 Block Express is a distinct sub-type of io2 with higher limits. | General Purpose SSD | General Purpose SSD | Provisioned IOPS SSD | Provisioned IOPS SSD (io2 Block Express) |
Max Volume Size io2 Block Express supports up to 64 TiB — a significant differentiator for very large databases. Standard io1/io2 max at 16 TiB. | 16 TiB | 16 TiB | 16 TiB | 64 TiB (io2 Block Express) |
Max IOPS per Volume io1 max IOPS is 64,000 only on Nitro-based instances; on older instance types it caps at 32,000. io2 Block Express reaches 256,000 IOPS — a critical differentiator. | 16,000 IOPS | 16,000 IOPS | 64,000 IOPS (Nitro instances) | 256,000 IOPS (io2 Block Express) |
Max Throughput per Volume gp3 matches io1 on throughput at 1,000 MiB/s — a key reason gp3 is preferred for most workloads. io2 Block Express at 4,000 MiB/s is unmatched. | 250 MiB/s | 1,000 MiB/s | 1,000 MiB/s | 4,000 MiB/s (io2 Block Express) |
Baseline IOPS Behavior gp2 uses a burst credit bucket (I/O credit balance). Small gp2 volumes (<1 TiB) can burst to 3,000 IOPS but will throttle when credits run out. gp3 eliminates this unpredictability entirely. | 3 IOPS/GiB (min 100, max 16,000) — burst model | 3,000 IOPS baseline always included, no burst credits needed | Provisioned — you specify exact IOPS at creation | Provisioned — you specify exact IOPS at creation |
Burst IOPS (Credit Model) The gp2 burst model is the #1 exam trap. A 100 GiB gp2 volume gets 300 baseline IOPS but can burst to 3,000 IOPS until credits are exhausted. This is a critical distinction from gp3. | Yes — bursts to 3,000 IOPS for volumes < 1 TiB using I/O credit balance | No burst credits — 3,000 IOPS is the sustained baseline always | No burst — IOPS are always provisioned and consistent | No burst — IOPS are always provisioned and consistent |
IOPS-to-GiB Ratio Limit io1 ratio cap of 50:1 means to get 64,000 IOPS on io1 you need at least 1,280 GiB. io2 at 500:1 is 10x more flexible. io2 Block Express at 1,000:1 is the highest ratio available. | Not applicable (IOPS tied to size automatically) | Not applicable (IOPS independent of size) | Maximum 50 IOPS per GiB provisioned | Maximum 500 IOPS per GiB (io2 Block Express: 1,000 IOPS per GiB) |
IOPS Independent of Storage Size gp3 is the only general-purpose volume that decouples IOPS from storage size. This is a cost optimization win — you don't need to over-provision storage just to get more IOPS. | No — IOPS scales with volume size | Yes — IOPS and throughput configurable independently | Yes — IOPS provisioned independently | Yes — IOPS provisioned independently |
Durability (Annual Failure Rate) io2 (and io2 Block Express) offers 99.999% durability — 100x better than gp2, gp3, and io1. This is a critical exam differentiator for SAP HANA, Oracle, and mission-critical database questions. | 99.8%–99.9% (0.1%–0.2% AFR) | 99.8%–99.9% (0.1%–0.2% AFR) | 99.8%–99.9% (0.1%–0.2% AFR) | 99.999% (0.001% AFR) — 100x more durable |
Multi-Attach Support Multi-Attach is ONLY supported on io1 and io2. This is a frequent exam scenario for clustered databases (e.g., Oracle RAC). The application must manage concurrent write access — EBS does not handle this automatically. | No | No | Yes — up to 16 Nitro-based instances in same AZ | Yes — up to 16 Nitro-based instances in same AZ |
Pricing Model gp3 is typically 20% cheaper than gp2 for equivalent workloads. io2 has tiered IOPS pricing that becomes more cost-effective at scale compared to io1's flat per-IOPS rate. | Pay per GB provisioned only | Pay per GB + optional IOPS above 3,000 + optional throughput above 125 MiB/s | Pay per GB + pay per IOPS provisioned (separate charges) | Pay per GB + tiered IOPS pricing (lower rate at higher IOPS tiers) |
Cost vs gp2 (General Guidance) AWS officially recommends migrating from gp2 to gp3 for cost savings. gp3 provides better price-performance for the vast majority of workloads. | Baseline reference cost | ~20% cheaper than gp2 for equivalent performance | More expensive — dedicated IOPS billing | More expensive than io1 at low IOPS; competitive at high IOPS due to tiering |
Latency io2 Block Express delivers the lowest latency of any EBS volume type. For latency-sensitive workloads like SAP HANA or high-frequency trading, io2 Block Express is the correct answer. | Single-digit millisecond | Single-digit millisecond | Sub-millisecond (consistent) | Sub-millisecond (io2 Block Express: microsecond-level) |
Recommended Use Cases AWS explicitly recommends gp3 as the default choice for new volumes. io2 is the answer whenever the question mentions 'highest durability,' 'sub-millisecond latency,' or 'SAP HANA.' | Boot volumes, low-latency apps, dev/test (legacy — prefer gp3 for new workloads) | Boot volumes, most production workloads, MySQL, PostgreSQL, Kafka, virtual desktops | I/O-intensive databases (SQL Server, Oracle), workloads requiring consistent high IOPS | SAP HANA, Oracle, mission-critical databases requiring highest durability and IOPS |
Boot Volume Support All four SSD volume types support boot volumes. However, gp2 and gp3 are the typical and cost-effective choices for OS volumes. | Yes | Yes | Yes | Yes |
EBS-Optimized Instance Required io2 Block Express is ONLY available on Nitro-based instances. This is a constraint that appears in exam scenarios about instance compatibility. | Recommended (most modern instances default to EBS-optimized) | Recommended (most modern instances default to EBS-optimized) | Required to achieve maximum IOPS (Nitro instances for 64,000 IOPS) | Required — Nitro instances mandatory for io2 Block Express |
Encryption Support All EBS volume types support encryption at rest using AWS KMS. Encryption is not a differentiator between volume types. | Yes — AWS KMS | Yes — AWS KMS | Yes — AWS KMS | Yes — AWS KMS |
Snapshot Support All volume types support EBS snapshots stored in S3. Snapshots are incremental and AZ-agnostic — you can restore to any AZ. | Yes | Yes | Yes | Yes |
AWS Recommendation Status AWS has officially positioned gp3 as the successor to gp2 and io2 as the successor to io1. Exam questions about 'best practice' or 'cost optimization' almost always favor gp3 over gp2. | Legacy — AWS recommends migrating to gp3 | Current default — AWS recommended for general workloads | Available — consider io2 for new deployments | Current recommended provisioned IOPS option |
Summary
For most workloads, gp3 is the correct answer — it's cheaper than gp2, offers 3,000 baseline IOPS without burst credits, and allows independent IOPS/throughput tuning. Choose io1 or io2 when you need consistent high IOPS above 16,000, Multi-Attach, or sub-millisecond latency. Choose io2 specifically when the question mentions 99.999% durability, SAP HANA, or io2 Block Express capabilities like 256,000 IOPS or 64 TiB volumes.
🎯 Decision Tree
Need > 16,000 IOPS? → io1 or io2. Need 99.999% durability? → io2. Need Multi-Attach? → io1 or io2. Need > 16 TiB? → io2 Block Express. Need sub-millisecond latency? → io2. Need cost optimization from gp2? → migrate to gp3. General workload, boot volume, or dev/test? → gp3. Legacy system already on gp2 with no performance issues? → consider migrating to gp3 for savings.
gp2 uses a BURST CREDIT MODEL — small volumes (<1 TiB) can burst to 3,000 IOPS but will throttle when credits are exhausted. gp3 eliminates this entirely with a guaranteed 3,000 IOPS baseline always. Any exam scenario involving 'unpredictable I/O performance' or 'throttling on small volumes' points to gp2 as the problem and gp3 as the solution.
io2 (specifically io2 Block Express) is the ONLY EBS volume type with 99.999% durability (five nines). Whenever an exam question mentions SAP HANA, highest durability, 256,000 IOPS, 4,000 MiB/s throughput, or volumes larger than 16 TiB — the answer is io2 Block Express. Do not confuse this with standard io2 which shares io1's limits.
Multi-Attach is EXCLUSIVE to io1 and io2 volumes, restricted to Nitro instances, and limited to 16 instances in the SAME Availability Zone. EBS Multi-Attach does NOT handle concurrent write conflicts — the application must manage this. If an exam question asks about clustered databases (Oracle RAC) or shared block storage across instances, Multi-Attach on io1/io2 is the answer — but gp2 and gp3 cannot be used.
gp3 is the AWS-recommended default and is ~20% cheaper than gp2 for equivalent workloads. gp3 allows IOPS and throughput to be configured independently of storage size — you can have a 10 GiB gp3 volume with 16,000 IOPS. gp2 requires ~5.3 TiB to reach 16,000 IOPS. For cost optimization questions, migrating gp2 to gp3 is almost always the correct answer.
io1 has a 50 IOPS-per-GiB ratio limit, while io2 allows 500 IOPS per GiB (and io2 Block Express allows 1,000 IOPS per GiB). This means io2 can achieve maximum IOPS on a much smaller volume than io1. Also, io1's 64,000 IOPS maximum is ONLY achievable on Nitro-based instances — on older instance types it caps at 32,000 IOPS.
Throughput comparison: gp2 maxes at 250 MiB/s, gp3 and io1 both max at 1,000 MiB/s, and io2 Block Express reaches 4,000 MiB/s. If a question asks about maximizing throughput for streaming or analytics workloads on EBS, gp3 is the cost-effective answer up to 1,000 MiB/s; io2 Block Express is required above that.
io2 Block Express requires Nitro-based EC2 instances. If an exam scenario specifies an older instance type or asks about compatibility constraints, io2 Block Express may not be available. Always check instance family compatibility when io2 Block Express features are in play.
The #1 certification exam trap is assuming gp2 and gp3 perform identically because they share the same 16,000 IOPS ceiling. They do NOT behave the same: gp2 uses a burst credit model where small volumes rely on temporary burst capacity that can be exhausted, while gp3 provides 3,000 IOPS as a guaranteed sustained baseline with no credits. A second major trap is applying io2 Block Express limits (256,000 IOPS, 4,000 MiB/s, 64 TiB, 99.999% durability) to standard io2 — standard io2 shares io1's 64,000 IOPS and 1,000 MiB/s limits.
CertAI Tutor · · 2026-02-22
Services
Comparisons