AWS Cost Optimization
AWS EBS gp2 vs. gp3: A Cost and Performance Showdown
This blog pits AWS EBS gp2 against gp3, exposing gp2's costly "performance-tied-to-size" flaw. It details gp3's 20% savings, decoupled IOPS, and "burst-free" consistency, guiding you through a risk-free migration to modernize your cloud storage bill. 
A comparison of AWS EBS volumes, showing that gp2 performance is coupled with storage size, while gp3 allows for independent control over size, IOPS, and throughput via separate sliders for greater flexibility

There is a specific kind of "legacy tax" hidden in almost every AWS bill. It doesn't appear as a line item called "Old Tech Fee," but it’s there, silently inflating your storage costs by 20% every month. The culprit? Amazon EBS gp2 volumes. 

For years, GP2 was the default workhorse for general-purpose SSD storage. It was reliable, familiar, and "good enough." But in the fast-moving world of cloud infrastructure, "good enough" is often code for "overpriced." When AWS released the next-generation gp3 volume, they didn’t just iterate; they fundamentally broke the outdated rules that tied performance to storage size. 

This isn't just a version upgrade; it’s a philosophical shift in how you pay for performance. If you are still running your production databases or development clusters on gp2, you are likely over-provisioning storage just to get the speed you need, a practice that is now completely obsolete. In this showdown, we are going to strip away the marketing fluff and look at the hard math of AWS EBS gp2 vs. gp3, helping you decide when to switch, how much you’ll save, and the few edge cases where the old guard might still win. 

The Fatal Flaw of GP2: Buying a Mansion for the Internet Speed 

To understand why GP3 is superior, you first have to understand the architectural flaw of GP2. 

With GP2 volumes, performance is linearly tied to capacity. You get 3 IOPS (Input/Output Operations Per Second) for every GB of storage you provision. This sounds fair until you do the math for a high-performance workload. 

Imagine you have a highly transactional database that requires 9,000 IOPS to run smoothly, but the database itself is only 100 GB in size. 

  • The GP2 Problem: To get 9,000 IOPS on GP2, you must provision a 3,000 GB (3 TB) volume. You are forced to pay for 2,900 GB of empty disk space just to unlock the speed you need. 

  • The Analogy: It’s like being told you can’t upgrade your home internet plan unless you also add two extra bedrooms to your house. You don't need the bedrooms (storage), but you're paying the mortgage on them just to get the bandwidth (IOPS). 

This coupling leads to massive over-provisioning waste. Engineers end up creating massive, empty volumes solely to satisfy the IOPS hunger of their applications. 

The GP3 Revolution: Decoupling Performance from Size 

Enter gp3. The headline feature of GP3 isn't just that it’s cheaper (though it is). It’s that it decouples storage from performance. 

With GP3, you can dial in your IOPS and Throughput independently of your storage size. Using the same example above: 

  • The GP3 Solution: You provision a 100 GB volume. You then explicitly pay for the extra IOPS to reach 9,000. You pay for exactly what you use: 100 GB of storage and 9,000 IOPS of speed. No empty bedrooms. No wasted spend. 

The Baseline Advantage

Even for smaller workloads, GP3 wins on the baseline. 

  • GP2: A 100 GB volume gives you a baseline of 300 IOPS. It relies on a "burst bucket" credit system to spike up to 3,000 IOPS. Once those credits run dry (which happens often during sustained traffic), your performance falls off a cliff. 

  • GP3: Every gp3 volume, regardless of size, starts with a guaranteed baseline of 3,000 IOPS. There is no burst bucket to deplete. You get consistent, predictable performance from minute one. 

The Price Tag: Calculating the Savings 

Let’s talk dollars and cents. AWS lists GP3 storage as 20% cheaper per GB than GP2. 

  • GP2 Price: ~$0.10 per GB-month (us-east-1) 

  • GP3 Price: ~$0.08 per GB-month (us-east-1) 

That 20% storage saving is the "easy money." But the real savings come from rightsizing. If you were running that 3 TB GP2 volume just for the IOPS: 

  • GP2 Cost: 3,000 GB * $0.10 = $300/month 

  • GP3 Cost: 100 GB * $0.08 + (Provisioned IOPS fees) = ~$45/month 

In extreme over-provisioning scenarios, the migration can drop your bill by 85%. Even in standard scenarios where you aren't over-provisioned, the flat 20% discount on storage applies instantly. VMware Carbon Black, for example, reported reducing their Amazon EKS cluster costs by over $25,000 per month simply by migrating to gp3 and rightsizing. 

The "Hidden" Costs: Throughput and IOPS Fees 

Is GP3 always cheaper? Almost always, but you have to watch out for the add-ons. 

GP3 gives you a "free tier" of performance: 

  • 3,000 IOPS free. 

  • 125 MiB/s Throughput free. 

If your application is throughput-heavy (e.g., a data warehousing job or large log processing), you might need more than 125 MiB/s. On GP2, throughput scaled with size (up to 250 MiB/s). On GP3, you have to pay extra for anything above 125 MiB/s. 

The Trap: If you migrate a 1 TB gp2 volume to gp3, check your throughput requirements. A 1 TB gp2 volume gets 250 MiB/s included. To match that on GP3, you need to pay for an extra 125 MiB/s. Usually, the 20% storage savings still outweigh this extra fee, but for very specific high-throughput, low-storage workloads, you need to double-check the math. 

The Migration: Zero Downtime, Low Risk 

One of the biggest blockers to optimization is the fear of downtime. "If it ain't broke, don't fix it." Fortunately, AWS made the path from gp2 to gp3 remarkably smooth. You can use the Elastic Volumes feature to modify the volume type on the fly. 

  1. Go to the EC2 Console. 

  1. Select your GP2 volume. 

  1. Click "Modify Volume." 

  1. Select GP3 and hit Save. 

That’s it. AWS handles the data migration in the background. Your application stays online, the disk keeps reading and writing, and eventually, the switch flips. There is usually no performance impact during the transition, though AWS advises doing this during off-peak hours for mission-critical databases just to be safe. 

How Atler Pilot Ensures You Don’t Fly Blind? 

Migrating is easy, but finding the opportunities is hard. In an AWS account with 500 volumes, which ones are GP2? Which ones are over-provisioned? And crucially, did the migration actually work without hurting performance? 

This is where Atler Pilot becomes your FinOps co-pilot. 

  • Discovery: Atler Pilot automatically scans your infrastructure to identify every legacy gp2 volume and calculates the exact potential savings of moving them to GP3. 

  • Validation: Instead of guessing if 3,000 IOPS is enough, Atler Pilot analyzes your actual historical usage. It tells you, "This volume peaks at 4,500 IOPS; if you migrate to gp3, ensure you provision extra performance." 

  • Post-Migration Tracking: After the switch, Atler Pilot verifies the cost reduction in your daily spend, closing the loop on your optimization efforts. 

Conclusion 

Unless you are running a legacy OS kernel that doesn't support modern NVMe drivers (very rare) or have a unique throughput-heavy workload that breaks the math, GP3 is the clear winner. It offers better baseline performance, eliminates the "burst credit" anxiety, and costs 20% less for storage. The GP2 volume has served us well, but in 2025, it is effectively a "legacy tax" on your innovation budget. Stop paying for empty bedrooms. Switch to GP3, decouple your performance, and put that budget back into building features. 

See, Understand, Optimize -
All in One Place

Atler Pilot decodes your cloud spend story by bringing monitoring, automation, and intelligent insights together for faster and better cloud operations.