1

My AWS EC2 application consistently requires about 3000 IOPS, but only about 100 GB disk space. Comparing the prices between gp2 and io1 it looks like (from https://aws.amazon.com/ebs/pricing/ for Ohio):

  • gp2: 1000GB disk would cost $100/month ($0.10/GB-month * 1000GB). There would be 90% wasted disk space, but I'd get my 3000 IOPS sustained.
  • io1: 100GB disk + 3000 IOPS would cost $207/month (0.065/IOPS-month * 3000IOPS + 0.125/GB-month * 100GB).

Am I doing the math right? Is it really 2x as expensive to get a smaller disk with the same IOPS on io1? It seems like there would never be a reason to use io1 and instead just get enough gp2 disk space to get the IOPS for free. Am I missing something?

sligocki
  • 170
  • 7

1 Answers1

2

Yes, you've done the maths correctly, I confirmed with the AWS Calculator.

Yes, provisioned IOPS is quite a bit more expensive than gp2. Using a large gp2 volume is a standard way to save money. You get a slightly better guarantee of performance with IO1 - 99.9% instead of 99%.

You might also test that you do get all the IOPS you need using GP2. In theory you should, but maybe only using a fraction of the disk it wouldn't give you the full throughput. You should test that.

This article is a useful reference.

Tim
  • 31,888
  • 7
  • 52
  • 78
  • Thanks for the quick and thorough answer, Tim! I hadn't seen the AWS Calculator before, really helpful. – sligocki Jan 15 '20 at 20:49