AI Cost Visibility & Optimization Understand, allocate & reduce your AI costs - Learn More

GP2 vs GP3: How to Choose the Right EBS Volume for Your AWS Workloads

GP3 is now the better default for most general-purpose EBS workloads. It costs less per GiB than GP2, provides stronger baseline performance, and lets you scale IOPS and throughput independently of storage capacity.

In this guide, we’ll compare GP2 and GP3 pricing, performance, and volume limits, explain when GP3 offers the biggest savings, and cover the few cases where keeping GP2 may still make sense.

What Are GP2 and GP3 Volumes?

Amazon Elastic Block Store (EBS) offers several volume types designed for different workloads. General Purpose SSD volumes — GP2 and GP3 — are the workhorses for most transactional workloads, including boot volumes, dev/test environments, virtual desktops, and single-instance databases.

Both volume types are SSD-backed block storage with single-digit millisecond latency and 99.8%-99.9% durability. They support the same use cases. The difference lies in how they provision performance and how AWS bills for that performance.

GP2 volumes (released in 2014) tie IOPS and throughput directly to volume size. A 100 GB GP2 volume gets 300 baseline IOPS. A 1 TB volume gets 3,000 IOPS. To get more performance, you have to buy more storage — even if you don't need the capacity.

GP3 volumes (released December 2020) decouple performance from capacity. Every GP3 volume gets 3,000 IOPS and 125 MiB/s baseline throughput, regardless of size. Need more? You can provision IOPS and throughput independently without increasing storage.

This architectural change eliminates the overprovisioning tax. With GP2, teams routinely buy 2 TB of storage to hit 6,000 IOPS when they only need 500 GB. GP3 lets you pay for what you actually use.

GP2 vs GP3: Performance Comparison

GP2 and GP3 differ most in how they deliver IOPS, throughput, and capacity: GP2 performance scales with volume size, while GP3 lets you provision performance independently.

IOPS Performance

GP2 volumes scale IOPS linearly with size: 3 IOPS per GiB, starting at a 100 IOPS minimum and capping at 16,000 IOPS. A 500 GB GP2 volume delivers 1,500 baseline IOPS. To reach the 16,000 IOPS cap, you need at least 5,334 GB of storage.

GP2 volumes also support burst mode — the same credit system used by T2 instances. Volumes smaller than 1 TB can burst up to 3,000 IOPS when they've accumulated I/O credits. Credits accrue at a rate of 3 IOPS per GiB per second when the volume runs at or below baseline. A 100 GB volume (300 baseline IOPS) earns credits back at 300 IOPS per second. When the credit balance is full (5.4 million units), the volume can burst to 3,000 IOPS for about 30 minutes.

This burst model works well for intermittent workloads, but it breaks down under sustained load. If your workload consistently needs more than baseline, you'll drain the credit balance and drop back to baseline IOPS — often at the worst possible time.

GP3 volumes skip the burst mechanic entirely. Every GP3 volume starts at 3,000 baseline IOPS, regardless of size. A 100 GB GP3 volume gets 10x the IOPS of an equivalent GP2 volume. Need more? You can provision up to 80,000 IOPS (as of the September 2025 AWS update) for an additional fee of $0.005 per provisioned IOPS-month above the 3,000 baseline.

Throughput Performance

GP2 throughput also scales with size, but it caps at 250 MiB/s. Volumes under 170 GB run at 128 MiB/s baseline. Between 170 GB and 334 GB, throughput can burst to 250 MiB/s. Volumes 334 GB and larger run at the 250 MiB/s maximum.

GP3 volumes start at 125 MiB/s of baseline throughput at any size. GP3 can achieve maximum performance with a volume as small as 8 GiB, provided you provision sufficient IOPS and throughput. You can provision up to 2,000 MiB/s for an additional per-MiB/s charge above the baseline. In US East (N. Virginia), the current rate is $0.06 per provisioned MiB/s-month.

For workloads that need high throughput — big data analytics, media processing, log aggregation — GP3 is the only practical option. A GP2 volume maxes out at 250 MiB/s no matter how large it gets. GP3 can hit 2,000 MiB/s without buying 64 TB of storage you don't need.

Volume Size Limits

GP2 volumes max out at 16 TiB. GP3 volumes now support up to 64 TiB (quadrupled in the September 2025 update). For large database instances or data warehousing workloads, GP3 removes a hard constraint.

Feature

GP2

GP3

Baseline IOPS

3 per GiB (minimum 100; maximum 16,000)

3,000 at any volume size

Maximum IOPS

16,000

80,000

Baseline throughput

128–250 MiB/s, depending on volume size

125 MiB/s

Maximum throughput

250 MiB/s

2,000 MiB/s

Maximum volume size

16 TiB

64 TiB

Maximum-performance volume size

5,334 GiB for maximum IOPS

As small as 8 GiB

Burst mode

Yes, credit-based

No; sustained baseline performance

IOPS and throughput decoupled from size

No

Yes

GP2 vs GP3: Pricing Comparison

GP3 is 20% cheaper per GiB-month than GP2 for the same storage capacity. That's the baseline savings before you factor in performance differences or overprovisioning elimination.

  • GP2: $0.10 per GiB-month
  • GP3: $0.08 per GiB-month

A 1,000 GB GP2 volume costs $100/month. The same capacity on GP3 costs $80/month and provides comparable baseline IOPS, while allowing you to increase performance independently of storage capacity.

But the real savings come from decoupling performance from capacity. With GP2, if you need 6,000 IOPS, you have to buy at least 2 TB of storage ($200/month). With GP3, you can provision a 500 GB volume with 6,000 IOPS for $55/month:

  • 500 GB storage: $40/month ($0.08 × 500)
  • 3,000 additional IOPS: $15/month ($0.005 × 3,000)
  • 0 additional throughput: $0/month (baseline 125 MiB/s covers most workloads)
  • Total: $55/month

That's a 72% cost reduction compared to the 2 TB GP2 volume.

Provisioned IOPS and Throughput Costs

GP3 lets you pay only for the performance you need:

  • IOPS above 3,000 baseline: $0.005 per provisioned IOPS-month
  • Throughput above 125 MiB/s baseline: $0.06 per provisioned MiB/s-month

Example: 100 GB volume with 16,000 IOPS and 250 MiB/s throughput:

  • GP2: Would require 5,334 GB ($533/month) to hit 16,000 IOPS, but throughput would cap at 250 MiB/s
  • GP3: 100 GB + 13,000 additional IOPS + 125 additional MiB/s = $8 + $65 + $7.50 = $80.50/month

GP3 saves about $452.50/month, or roughly 85%.

When to Choose GP3 Over GP2 (Decision Framework)

GP3 is the better choice for most workloads, particularly when you need lower costs, optimal performance, or more flexibility to scale IOPS, throughput, and capacity independently.

Choose GP3 if:

1. You're provisioning new volumes

GP3 is the default for any new deployment. It's cheaper per GB, delivers better baseline performance, and eliminates the overprovisioning tax. AWS even defaults to GP3 in most EC2 launch templates now.

2. Your volumes are under 1 TB and need consistent IOPS

A 100 GB GP2 volume gets 300 baseline IOPS. The same GP3 volume gets 3,000 IOPS — 10x the performance for 20% less cost. If your workload drains GP2's burst credits, performance drops to 300 IOPS. GP3 delivers 3,000 IOPS sustained, no burst mechanic, no surprises.

3. You're overprovisioning storage to hit IOPS targets

If you're buying 2 TB of storage just to get 6,000 IOPS, you're paying a 4x overprovisioning tax. GP3 lets you provision exactly the IOPS you need without buying unused capacity.

4. You need high throughput (above 250 MiB/s)

GP2 maxes out at 250 MiB/s. GP3 scales to 2,000 MiB/s. For log aggregation, big data pipelines, or media processing, GP3 is the only option.

5. You need volumes larger than 16 TiB

GP2 caps at 16 TiB. GP3 supports up to 64 TiB. For large databases or data warehouses, GP3 removes a hard constraint.

When GP2 Might Still Make Sense

GP3 wins in almost every scenario. But there are a handful of edge cases where GP2 could still make sense:

1. Volumes in the 170-334 GB Range Needing Maximum Throughput

If your workload sits in this range and can rely on occasional bursts to 250 MiB/s, GP2 may be slightly cheaper than provisioning the same throughput on GP3. However, GP3 is the better choice when you need predictable, sustained throughput or when its included 125 MiB/s is sufficient.

2. Legacy AMIs That Default to GP2

Many pre-built AMIs still default to GP2. If you're launching from a marketplace AMI or an older snapshot, you'll get GP2 unless you explicitly change the volume type. This isn't a reason to keep GP2 — it's a reminder to check your launch templates and automation scripts.

3. Extremely Low-Intensity Workloads Where Burst Is Sufficient

For a small, rarely used legacy volume, the absolute savings from migration may be too minor to prioritize immediately. GP3 will generally still cost less, but teams may reasonably migrate higher-cost or performance-sensitive volumes first.

4. You're Already Overprovisioned and Don't Want to Touch It

If you provisioned a large GP2 volume years ago to reach a particular IOPS target, converting it to GP3 can still reduce its storage rate and decouple future performance changes from capacity. However, changing the volume type will not shrink the existing volume. Eliminating the unused capacity requires a separate migration to a smaller volume.

In practice, these scenarios are outliers. For 95%+ of AWS workloads, GP3 is faster, cheaper, and more flexible. The migration is straightforward, reversible, and supported by AWS tooling.

How to Migrate from GP2 to GP3

Migrating from GP2 to GP3 is non-disruptive and requires no downtime. AWS modifies volumes in place using Elastic Volumes, so your instances stay online and your applications keep running.

Using the AWS CLI:

You can modify a GP2 volume in place with the AWS CLI by specifying the volume ID and changing its volume type to GP3. You can also set the desired IOPS and throughput in the same request, or keep the default GP3 performance settings.

Using the AWS Console:

1. Navigate to EC2 > Volumes in the AWS Management Console

2. Select the volume you want to migrate

3. Choose Actions > Modify volume

4. Change Volume type to `gp3`

5. Optionally adjust IOPS and throughput (defaults match or exceed your GP2 baseline)

6. Confirm the change

AWS automatically provisions GP3 IOPS to match or exceed your GP2 volume's baseline. A 500 GB GP2 volume with 1,500 baseline IOPS converts to a GP3 volume with 3,000 IOPS — actually better than what you had before.

What Happens During Migration

After you submit the modification:

1. The volume enters an "optimizing" state

2. Performance is available immediately — no waiting for optimization to complete

3. You cannot make another modification until optimization finishes (typically 1-6 hours depending on volume size)

4. Your EC2 instance stays online — no reboot, no detach, no downtime

You can also modify IOPS and throughput independently after the initial migration to fine-tune performance.

Automating Bulk Migrations

For teams managing hundreds of volumes across multiple accounts, manual migration isn't practical. You can automate the process using:

  • AWS Systems Manager: Run a Systems Manager document across all instances
  • Terraform: Update your infrastructure-as-code definitions to set `volume_type = "gp3"`
  • AWS Lambda: Trigger volume modifications on a schedule or based on tagging

Save on AWS with nOps

Migrating from GP2 to GP3 can reduce EBS costs, but commitments are typically the biggest savings lever across your broader AWS environment. nOps offers:

Commitment Management: Save 50-60% autonomously on AWS costs while reducing your lock-in and risk. The pricing model is a percentage of savings, ensuring you only pay for results.

Cost Visibility & Allocation: See which teams, products, and features are driving spend across multicloud, AI, Kubernetes, and SaaS—with anomaly detection, budgeting, forecasting, and reporting.

AI Insights: Identify opportunities to optimize token usage, model selection, caching, provisioned throughput, and batch processing.

nOps processes over $4 billion in cloud spend and was recently named #1 in G2's cloud cost management category. You can book a free savings analysis to find out how nOps can help you start saving today!

Frequently Asked Questions

Can I migrate from GP2 to GP3 without downtime?

Yes. AWS Elastic Volumes allow you to modify volume types on the fly — no instance reboot, no volume detach, no service interruption. Your EC2 instances stay online during the entire migration. The volume enters an "optimizing" state after modification, but performance is available immediately.

Does GP3 cost more than GP2 for high IOPS workloads?

Not usually. GP3's baseline includes 3,000 IOPS for free. Provisioning above 3,000 costs $0.005 per IOPS-month. Even at 16,000 IOPS, a GP3 volume is typically cheaper than the oversized GP2 volume you'd need to hit the same performance. One exception is a 170–334 GiB GP2 volume that relies on occasional bursts to 250 MiB/s. Provisioning 250 MiB/s continuously on GP3 can cost slightly more, but this is a narrow edge case.

Will switching to GP3 impact my application performance?

No — GP3 performance equals or exceeds GP2 in nearly all cases. AWS automatically provisions GP3 IOPS to match or exceed your GP2 baseline during migration. A 500 GB GP2 volume (1,500 baseline IOPS) becomes a GP3 volume with 3,000 IOPS. You can also provision higher IOPS and throughput on GP3 if your workload needs it, which wasn't possible on GP2 without buying more storage.

Can I switch back to GP2 after migrating to GP3?

Yes. Volume modifications are reversible. If you migrate to GP3 and later decide to revert, you can modify the volume type back to GP2 using the same Elastic Volumes process. There's no downtime and no data loss. AWS bills per second, so you're only charged for the time you actually use each volume type.

Should I migrate all my GP2 volumes to GP3 at once?

Not necessarily. While GP3 is better for most workloads, you can prioritize high-value migrations first — large volumes, overprovisioned volumes, or volumes where the 10x IOPS boost matters. Tools like nOps Essentials help you identify the highest-impact candidates and schedule migrations in batches. There's no urgency to migrate low-cost, low-utilization volumes unless you're standardizing on GP3 as your default volume type going forward.

GP2 to GP3 Migration: Overcoming Common Hesitations

Tags

Chintu Parikh

Chintu Parikh

Published Date: August 2, 2026, General

Featured Content

Introducing Cursor Integration in nOps

Announcement

Introducing Cursor Integration in nOps

byRick Haggart
Introducing Claude.ai (Enterprise) Integration in nOps

Announcement

Introducing Claude.ai (Enterprise) Integration in nOps

byRick Haggart
Amazon EMR Cost Optimization: How to Cut AWS Big Data Processing Costs by 30% or More

Cost Optimization

Amazon EMR Cost Optimization: How to Cut AWS Big Data Processing Costs by 30% or More

bynOps
AWS Spot Instances: How They Work and When to Use Them

Spot

AWS Spot Instances: How They Work and When to Use Them

bynOps
AWS Cost Visibility, Allocation & Governance

Cloud Management

AWS Cost Visibility, Allocation & Governance

bynOps
AWS Database & Analytics Cost Optimization

Spot

AWS Database & Analytics Cost Optimization

bynOps