I want to choose an Amazon Elastic Block Store (Amazon EBS) volume type for my workload.
Short description
Amazon EBS offers several volume types, including hard disk drive (HDD) and SSD volume options, designed for different performance, durability, and cost requirements. To choose the right volume, compare Amazon EBS volume types by key specifications, including durability, volume size, input/output operations per second (IOPS), throughput, Amazon EBS Multi-Attach, and boot volume compatibility.
Note: Amazon EBS provides previous generation HDD and SSD volume types. You can use the previous generation volume type for backups and archives, or for workloads with small datasets that you don't frequently access. Before you modify your volume type, understand the limitations.
Resolution
Compare HDD volumes
The dominant performance attribute for HDD volume types is throughput. HDD-backed volumes are optimized for workloads that require a large I/O size or that have a synchronized I/O. It's a best practice to use an Amazon EBS-optimized Amazon Elastic Compute Cloud (Amazon EC2) instance for this volume type.
There are two types of HDD-backed volumes. If optimal performance is your priority, then use Throughput Optimized HDD (st1). If cost optimization is your priority, then use Cold HDD (sc1). For more information, see Amazon EBS Throughput Optimized HDD and Cold HDD volumes.
Review the following specifications to choose between st1 and sc1 HDD-backed volumes for your workload:
| Specification | st1 (Throughput Optimized HDD) | sc1 (Cold HDD) |
|---|
| Volume size | 125 GB – 16 TB | 125 GB – 16 TB |
| Max IOPS/volume | 500 | 250 |
| Max throughput/volume | 500 MB/s | 250 MB/s |
| Durability | 99.8% – 99.9% | 99.8% – 99.9% |
| Multi-Attach support | Not supported | Not supported |
| Boot volume | Not supported | Not supported |
| Use cases | Use for big data, data warehouses, and log processing. | Use for throughput-oriented storage for infrequently accessed data or scenarios where the lowest storage cost is important. |
Compare General Purpose SSD volumes
General Purpose SSD volumes are good for a wide variety of transactional workloads. General Purpose SSD volumes include gp2 and gp3 types.
Note: If you don't specify IOPS or throughput performance when you change your volume type, then Amazon EBS provisions the higher performance value.
Compare the following specifications to select the right General Purpose SSD volume for your workload:
| Specification | gp2 | gp3 |
|---|
| Volume size | 1 GB – 16 TB | 1 GB – 64 TB |
| Max IOPS/volume | 16,000 | 80,000 |
| Max throughput/volume | 250 MB/s | 2,000 MB/s |
| Durability | 99.8% – 99.9% | 99.8% – 99.9% |
| Multi-Attach support | Not supported | Not supported |
| Boot volume | Supported | Supported |
| IOPS performance | IOPS scales linearly with volume size at a rate of 3 IOPS per GB, with a minimum of 100 IOPS. Volumes smaller than 1 TB can burst up to 3,000 IOPS. | The volume provides a baseline of 3,000 IOPS and 125 MB/s regardless of volume size, with no burst model. You can provision IOPS and throughput independently of storage size. |
Note: It's a best practice to use the gp3 volume type because it's the latest generation. If you currently use gp2 and want to change to the volume type gp3, then see Migrate to gp3 from gp2.
Compare provisioned IOPS SSD volumes
Provisioned IOPS SSD volumes include io2 Block Express volumes and io1 volumes. If you require more durability and a higher IOPS-to-GiB ratio, then use io2 Block Express.
Note: All io2 volumes created after November 21, 2023, are io2 Block Express volumes. To convert io2 volumes created before November 21, 2023, to io2 Block Express volumes, modify the IOPS or size of the volume.
Important: If you created your io1 volume before December 6, 2017, then you must upgrade the volume to io2 Block Express. Make sure that you provisioned 64,000 IOPS to reach the maximum 1,000 MB/s throughput.
The maximum values for IOPS, throughput, and latency are based on an I/O size of 16 KiB. A larger I/O size can't reach these maximum values.
Use the following specifications to determine whether io1 or io2 Block Express meets your performance and durability requirements:
| Specification | io1 | io2 Block Express |
|---|
| Volume size | 4 GB – 16 TB | 4 GB – 64 TB |
| Max IOPS/volume | 64,000 | 256,000 |
| Max throughput/volume | 1,000 MB/s | 4,000 MB/s |
| Max IOPS/GB | 50 IOPS/GB | 1,000 IOPS/GB |
| Durability | 99.8% – 99.9% | 99.999% |
| Multi-Attach support | Supported | Supported |
| Boot volume | Supported | Supported |
| Latency | Single-digit millisecond | Sub-millisecond (average under 500 microseconds for 16 KiB I/O) |
| Instance availability | All EC2 instances | All EC2 instances built on the AWS Nitro System |