EBS GP3 vs. GP2 – Pricing Comparison

Written by Francisco Gimeno

UPDATE: GP2 to GP3 Migration Toolkit is now available for download. Benchmark your approach with:

  • An Instruction Manual
  • A 2-min Demo Video
  • GP2 to GP3 Cost Calculator



In the AWS re:Invent 2020 keynote by Andy Jassy, a new volume type, GP3 has been introduced offering a significant discount (up to 20%) and more flexibility than ever. Some features are similar to what GP2 was supporting, such as Min and Maximum volume size (1 GB to 16 TB), the Maximum IOPS/Volume of 16,000 and IOPS/Instance of 260,000, and the Maximum Throughput/Instance of 7,500 MB/s.

However, others such as Max Throughput/Volume and even the pricing model are now different.

What are the new features of EBS GP3?

Now, GP3 speed and IOPS can be customized, and the Burstable capacity has been increased by 4x. The Maximum Throughput is now 1,000 MB/s compared to GP2’s 250 MB/s.

The entry point includes 3,000 IOPS for free and a throughput of 125 MB/s.

The storage cost has a discount of 20% ($0.08/GB-month vs $0.1/GB-month of GP2). Adding more provisioned IOPS costs $0.005/p IOPS-month. Adding throughput costs $0.04/ MB/s-month.

When to move from GP2 to GP3?

Retyping from GP2 to GP3 can be hot executed. When keeping the same performance that GP2 provides, GP3 is always cheaper as you can check in the following chart:


From ~180G to ~380G the discount (%) drops due to the need to provide extra throughput in GP3 to reach GP2 performance. Once this point is reached, the discount will continue growing till 1Terabyte, where GP2 reaches 3,000 IOPS that was free for GP3. Then the discount drops due to the extra IOPS that are required.

This chart represents the worst-case scenario in which all the capacity of the GP2 is used. If you don’t need more than 125MBps nor 3,000 IOPS, the discount will be exactly the initial 20%.

Conclusion: GP3 is cheaper for every case.


How do you do it?

There is a direct API endpoint to change from gp2 to gp3 and it’s quite simple to use:

# aws ec2 modify-volume –volume-id vol-XXXXXXXXX –volume-type gp3

In the case, the volumes are defined in a Cloudformation template, it’s only required to change the VolumeType parameter as described here.

At the moment, there is no update in Terraform documentation, but it probably will be updated here.

Finally, don’t forget to update your Launch templates (you need to manually set the Throughput to 125MB):


[UPDATE] Here’s a peek into the average percentage savings leveraged by our customers after moving from GP2 to GP3.

Benchmark your approach for GP2 to GP3 Migration

Download the Migration Toolkit

[UPDATE #2] It looks there are some differences in the IO latencies between GP2 and GP3 as stated in this article. If your application is too sensitive to the IO latencies, please check the article and perform benchmarks before making changes in the production environment.

[UPDATE #3] Significnt savings are being observed by customers moving from IO1 and IO2 to GP3 as well.

For more strategies on how to optimize your cloud, schedule a call with our cloud experts or drop us an email at hello@cloudwiry.com.