Chapter 13: Amazon EBS (Elastic Block Store)
13.2 EBS volume types
| Type | Category | Size | Max IOPS / volume | Max throughput | Use case |
|---|---|---|---|---|---|
| gp3 | General purpose SSD | 1 GiB – 16 TiB (newer limits allow larger) | 3,000 baseline included; more can be provisioned independently of size | 125 MiB/s baseline; more can be provisioned | Default choice: boot volumes, web/app servers, dev/test, small DBs |
| gp2 | General purpose SSD (previous generation) | 1 GiB – 16 TiB | 3 IOPS per GiB (min 100, burst to 3,000, max 16,000) | up to 250 MiB/s | Legacy; migrate to gp3 (usually ~20% cheaper) |
| io2 Block Express | Provisioned IOPS SSD | 4 GiB – 64 TiB | up to 256,000 | up to 4,000 MiB/s | Mission-critical databases (Oracle, SAP HANA, large MySQL) needing consistent low latency; 99.999% durability |
| io1 | Provisioned IOPS SSD (older) | 4 GiB – 16 TiB | up to 64,000 | up to 1,000 MiB/s | Legacy high-IOPS workloads |
| st1 | Throughput optimised HDD | 125 GiB – 16 TiB | 500 | 500 MiB/s | Big data, log processing, data warehouses (large sequential reads) — cannot be boot volume |
| sc1 | Cold HDD | 125 GiB – 16 TiB | 250 | 250 MiB/s | Infrequently accessed archives, lowest cost — cannot be boot volume |
gp3 vs gp2
With gp2, performance depends on size (a 100 GiB gp2 gets only 300 baseline IOPS). With gp3, every volume gets 3,000 IOPS and 125 MiB/s regardless of size, and you can buy more IOPS/throughput independently. Converting gp2 → gp3 is an online Modify volume operation with no downtime.
IOPS = input/output operations per second (small random reads/writes — databases). Throughput = MiB per second (large sequential transfers — logs, video, backups).
Ravindra Bagale's Tip
For almost every lab and small project, choose gp3. It gives 3,000 IOPS even on a small volume and usually costs less than gp2. Only move to io2 when a real database benchmark proves you need it — don't over-engineer.