I want to choose an Amazon Elastic Block Store (Amazon EBS) volume type that's right for my workload.
Resolution
The following are factors to consider when you choose an Amazon EBS volume type that is right for you:
- Durability
- Volume size
- Maximum input/output operations per second (IOPS) per volume
- Maximum throughput per volume
- Whether the volume supports Amazon EBS Multi-Attach
- Whether the volume supports boot volume
Amazon EBS provides previous generation, hard disk drives (HDD), and solid state drives (SSD) volume types.
Note: Before you modify your volume type, see Limitations.
Previous generation
You can use this volume type as a backup and to archive, or for workloads with small datasets that you don't access frequently. For more information, see Amazon EBS previous generation volumes.
HDD
The dominant performance attribute for HDD volume type is the throughput. HDD-backed volumes are optimized for workloads that require a large I/O size, or workloads 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. HDD-backed volumes don't support boot volume, so you can't use them as a root volume.
There are two types of HDD-backed volumes, throughput Optimized HDD (st1) and Cold HDD (sc1). If optimal performance is your priority, then use st1. If cost optimization is your priority, then use sc1. Both st1 and sc1 offer the same level of durability. For more information, see Amazon EBS Throughput Optimized HDD and Cold HDD volumes.
SSD
The dominant performance attribute for SSD volume types is IOPS. SSD-backed volumes are optimized for a small I/O size and random I/O. It's a best practice to use an EBS-optimized Amazon EC2 instance for this volume type. SSD-backed volume types include General Purpose SSD volumes and Provisioned IOPS SSD volumes.
General Purpose SSD volumes
General Purpose SSD volumes are good for a wide variety of transactional workloads that require less than the following:
- 16,000 IOPS
- 1,000 MiBps of throughput
- 16-TiB volume size
General Purpose SSD volumes include gp2 and gp3 types. Both gp2 and gp3 can reach up to 16,000 IOPS, and both offer the same level of durability. However, gp2 volumes reach a lower maximum throughput per volume (250 MiBps) than gp3 volumes (1,000 MiBps). IOPS performance for gp2 volumes scales linearly with volume size, and gp2 burst performance is good for workloads that have a high IOPS burst rate. gp3 volumes don't use burst performance. However, gp3 volumes provide a consistent 3,000 IOPS baseline performance and 125 MiBps throughput performance regardless of volume size. With gp3 volumes, you can provision IOPS and throughput independent of storage size.
If you currently use gp2 and want to change to the volume type gp3, then see Migrate to gp3 from gp2.
Note: If you don't specify IOPS or throughput performance when you change your volume type, then Amazon EBS provisions the higher performance value.
Provisioned IOPS SSD volumes
Provisioned IOPS SSD volumes include io2 Block Express volumes and io1 volumes. If your workload requires up to 64,000 IOPS per volume and up to 1,000 MiBps of throughput, then use io1. If your workload requires up to 256,000 IOPS per volume, and up to 4,000 MiBps of throughput, then use io2 Block Express. If you also need more durability and ration per GiB, 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.
If you created your io1 volume before December 6, 2017, then you must modify the volume. Make sure that you provisioned 64,000 IOPS to reach the maximum 1,000 MiBps throughput.
io2 Block Express is available on all EC2 instances built on the Nitro system.
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.