Certopolis

AWS Certified Solutions Architect – Associate

EBS volume types: gp3 vs io2 vs st1 vs sc1

Use gp3 for most workloads: it gives 3,000 IOPS and 125 MiB/s as a baseline and lets you buy more IOPS and throughput without growing the volume. Move to io2 Block Express when one volume needs more than 80,000 IOPS or 2,000 MiB/s, sub-millisecond latency, or Multi-Attach. Use st1 or sc1 only for large sequential, throughput-bound data, and never as a boot volume.

SSD volumes: gp3, gp2, io2 Block Express, io1

SSD volumes suit transactional work with small, frequent I/O, where IOPS is the main measure. gp3 is the lowest-cost SSD type. It ranges from 1 GiB to 64 TiB and reaches 80,000 IOPS and 2,000 MiB/s. Extra IOPS are allowed at up to 500 per GiB, so 80,000 IOPS needs at least 160 GiB. Extra throughput is allowed at 0.25 MiB/s per provisioned IOPS, so 2,000 MiB/s needs at least 8,000 IOPS and 16 GiB. gp3 does not burst. It sustains what you provision.

gp2 performance is tied to size: 3 IOPS per GiB, from a minimum of 100 up to 16,000 IOPS at 5,334 GiB. Volumes under 1 TiB can burst to 3,000 IOPS while I/O credits last. Throughput is 128 to 250 MiB/s depending on size. You can change a gp2 volume to gp3 with Elastic Volumes without detaching it.

io2 Block Express reaches 256,000 IOPS and 4,000 MiB/s per volume, with average latency under 500 microseconds for 16 KiB I/O and 99.999% durability. The other types are rated 99.8% to 99.9%. Only Nitro-based instances can use more than 64,000 provisioned IOPS. io1 tops out at 64,000 IOPS and 1,000 MiB/s.

HDD volumes: st1 and sc1

HDD volumes suit large streaming workloads where throughput, not IOPS, is the main measure. Both range from 125 GiB to 16 TiB. st1 (Throughput Optimized) reaches 500 MiB/s and suits big data, data warehouses and log processing. sc1 (Cold) reaches 250 MiB/s and suits infrequently accessed data where the lowest storage cost matters.

Neither HDD type can be a boot volume, and neither supports Multi-Attach.

Multi-Attach and the instance limit

Multi-Attach, one volume attached to several instances at once, is supported on io2 Block Express and io1 only. It is not supported on gp2, gp3, st1 or sc1. Your cluster software must still coordinate the writes.

Volume settings are not the only factor. AWS lists instance configuration, I/O characteristics and workload demand as things that affect EBS performance, and says to use EBS-optimized instances to get the full provisioned IOPS.

Where the exam catches people

  • Believing gp3 throughput grows with volume size: it is provisioned separately, at up to 0.25 MiB/s per provisioned IOPS.
  • Believing gp3 and io2 reach the same IOPS: gp3 stops at 80,000 per volume, io2 Block Express reaches 256,000 on Nitro-based instances.
  • Believing any SSD volume can be shared by several instances: Multi-Attach works only on io1 and io2 Block Express.
  • Believing st1 is a cheap boot disk: HDD volume types cannot be boot volumes.
  • Believing a slow gp2 volume needs RAID or a bigger size: changing it to gp3 lets you set IOPS and throughput directly.

Written from Amazon Web Services's documentation

Try 3 questions on this

Pick an answer to see why each option is right or wrong.

  1. A trading application needs a single volume delivering 150,000 IOPS at consistently sub-millisecond latency, and it will run on a Nitro-based instance. A solutions architect must choose between General Purpose SSD gp3 with its maximum settings and Provisioned IOPS SSD io2 Block Express. Which approach will meet these requirements?

    Right. In the game that’s Renown for your Design High-Performing Architectures building.

    Not that one: C is right. In the game your Design High-Performing Architectures building would lose a little Renown, and this question would come back later.

    Show the full explanation and doc quotes

    The latency requirement points the same way: io2 Block Express is listed for "consistent sub-millisecond latency with average latency under 500 microseconds", and the footnote states it is "designed to deliver an average latency of under 500 microseconds for 16KiB I/O operations." The Nitro detail in the stem matters for a different reason - the footnote records that only Nitro-based instances support volumes provisioned above 64,000 IOPS.

    Written from docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html

  2. A clustered application needs one volume attached to several EC2 instances at the same time, with the cluster software coordinating writes. A solutions architect must pick a volume type that supports this and must tell the team which types do not. Which solution meets these requirements?

    Right. In the game that’s Renown for your Design High-Performing Architectures building.

    Not that one: B is right. In the game your Design High-Performing Architectures building would lose a little Renown, and this question would come back later.

    Show the full explanation and doc quotes

    For gp3 and gp2 it reads "Amazon EBS Multi-attach: Not supported"; for io2 Block Express and io1 it reads "Supported". The HDD types, st1 and sc1, are also marked not supported. Multi-Attach lets a single Provisioned IOPS volume be attached to several instances in the same Availability Zone, and the table records that io2 Block Express additionally supports NVMe reservations, which is what a cluster-aware file system uses to coordinate access. The application's own software remains responsible for write coordination.

    Written from docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html

  3. An architect sizes a gp3 volume for an analytics node that needs 2,000 MiB/s of throughput and asks what the volume must be provisioned with to reach it. Which solution meets these requirements?

    Right. In the game that’s Renown for your Design High-Performing Architectures building.

    Not that one: D is right. In the game your Design High-Performing Architectures building would lose a little Renown, and this question would come back later.