The 6 different types of EBS volumes: Which one is right for you?
Zivan Ori
June 19, 2024
5
min read
An efficient way to view EBS volume types is in pairs: sc1 & st1; gp2 & gp3; io1 & io2.
So how do choose the right type? Let's dig in.
The most commonly used EBS volume type is gp2/gp3. gp3 is the successor to gp2 and is the default volume type if you don’t select a volume type. Both gp2 and gp3 have similar characteristics, and unless you have a strong reason to use sc1/st1 or io1/io2, this is probably what you want to use.
Starting with the gp2/gp3 pair: gp3 capacity is cheaper than gp2 by about 20%, so if we only look at the capacity aspect, we should always go with gp3. However, there are performance dimensions to this comparison as well: in gp2, performance is a factor of the capacity allocated, and isn’t priced separately. In gp3, every volume gets a baseline of performance, and additional performance can be added for additional cost. In gp3, there’s no dependency between capacity and performance.
First - an IOPS comparison. gp3 provides 3000 IOPS to any volume by default, without an extra cost, and irrespective of the volume size. gp2 provides 3 IOPS/GiB, so only when provisioned at 1TiB does it hit the default performance of gp: so, for all volumes that are smaller than 1TiB, it is a no-brainer to use gp3 rather than gp2. Since gp3 capacity is 20% cheaper than gp2 capacity, even if you need to pay for the extra IOPS to match gp2 IOPS on very large volumes, gp3 still comes out cheaper than gp2.
So, from a pure IOPS perspective, you should always use gp3, even if you need to pay for the extra IOPS. gp3 also gives you the flexibility to determine how many IOPS to pay for, which gp2 lacks.
From a bandwidth comparison standpoint, it is more complicated: gp3 provides 125MiB/s by default with no extra cost, and you can buy extra bandwidth up to 1000MiB/s. gp2 provides at least 128MiB/s and at most 250MiB/s. Since the capacity of gp3 is 20% cheaper than gp2, even if you pitch in the extra cost of increasing bandwidth to 250MiB/s to match gp2, it still comes out cheaper to use gp3. And again, gp3 gives you the benefit of being able to reserve more bandwidth, and much higher than gp2 (1000MiB/s in gp3, vs. 250MiB/s in gp2).
So the bottom line is, no matter your requirements, it will always be cheaper to use gp3 rather than gp2.
Maximize the efficiency of your EBS volumes. Book a demo with Datafy and discover how our solution can help you achieve optimal performance and significant cost savings.
Next, let’s look at io1 and io2. The main difference between io1/io2 and gp2/gp3 is that EBS guarantees you will get the IOPS you pay for (aka Provisioned IOPS), but this will cost you. Unless you have very strict performance requirements, this is probably going to be too expensive for normal use. io2 and io1 are priced exactly the same. io2 is the successor to io1, and contains a few features that supersede io1: primarily, its durability is 5 9s: that’s 100 times better than io1. io2 can also scale IOPS to 256,000 (io1 is only 64,000), and respectively bandwidth can be as high as 4000MiB/s (io1 is only 1000MiB/s). So - for guaranteed high IOPS performance, io2 is what you’re looking for.
Finally, let’s look at the last pair of EBS Volumes, st1/sc1. These are the older hard-disk drive (HDD) based volumes. HDDs present a bandwidth-to-capacity-to-cost ratio that still beats SSDs. For streaming applications - this could be a good and cheaper fit. However, you must make sure that the application uses a large block size (1MiB is ideal), and is insensitive to IOPS: these volumes only provide 500/250 IOPS respectively for st1/sc1, allowing them to achieve a remarkable 500/250 MiB/s: but only if you’re using 1MiB block sizes.
In conclusion:
- from a pure IOPS perspective, you should always use gp3, even if you need to pay for the extra IOPS. gp3 also gives you the flexibility to determine how many IOPS to pay for, which gp2 lacks.
- No matter your requirements, it will always be cheaper to use gp3 rather than gp2
- For guaranteed high IOPS performance, use io2
- For streaming applications use st1/sc1- older hard-disk drive (HDD) based volumes. They present a bandwidth-to-capacity-to-cost ratio that still beats SSDs. However, you must make sure that the application uses a large block size (1MiB is ideal), and is insensitive to IOPS.
Want to optimize your EBS volumes without the guesswork? Schedule a meeting with Datafy’s experts and start saving up to 50% on your cloud storage today.
To understand more about EBS Volume types check out this great resource from AWS.