Support Portal
costlensebs gp2 to gp3

EBS gp2 → gp3 Migration

Migrate older gp2 EBS volumes to gp3 — 20% cheaper, better performance, zero downtime.

Last updated: May 2025

CostLens detects EBS volumes still using the older gp2 volume type and recommends migrating them to gp3. The migration is live — no downtime, no data loss, instance keeps running — and saves 20% on storage costs while also improving baseline performance (3,000 IOPS and 125 MB/s throughput at no extra charge).

Why migrate?

gp2 costs $0.10/GB/month. gp3 costs $0.08/GB/month. A 500 GB volume saves $12/month. gp3 also gives you 3,000 IOPS baseline (vs. gp2's burst-credit model), making performance more predictable.

How it works

CostLens scans for gp2 volumes

CostLens scans all EBS volumes and identifies those with VolumeType=gp2.

Recommendation card appears

A card appears showing the volume size, current monthly cost, and the projected saving.

Admin or Operator approves

Admin or Operator clicks Approve & Fix.

CostLens calls ModifyVolume

CostLens calls ec2:ModifyVolume with VolumeType=gp3 and sets IOPS to at least 3,000.

AWS migrates the volume live

The state transitions from modifyingoptimizingcompleted, typically within minutes.

The instance and workload are completely uninterrupted. AWS performs the type migration in the background. No reboot is required.

What IOPS does CostLens set?

ParameterValue
Minimum3,000 IOPS (gp3 baseline — free of charge)
Formulamax(3000, volume_size_GB × 3)
Maximum16,000 IOPS (gp3 cap)

Throughput is set to 125 MB/s (the free gp3 baseline). If your workload needs more, adjust after migration in the AWS Console.

Limitations & notes

LimitationDetail
6-hour cooldownAWS enforces a 6-hour window between volume modifications. If a volume was recently modified (e.g. after an EBS Auto-Expand), the migration will be deferred.
Volumes in 'modifying' state skippedCostLens skips any volume already mid-modification to avoid conflicts.
gp3 cannot be downgraded back to gp2Once migrated, you cannot revert from the CostLens UI. You can manually change the type back via the AWS Console.
IOPS and throughput charges3,000 IOPS and 125 MB/s are free on gp3. Provisioning above these limits incurs additional charges — CostLens stays within the free baseline.

Required IAM permissions

Included in the CostlensApplyFix policy from Step 4b in AWS Accounts:

ec2:ModifyVolume
ec2:DescribeVolumesModifications
ec2:DescribeVolumes

Tip

After migration, verify the volume type in the AWS Console (EC2 → Volumes → select volume → Details tab). The Type field should show gp3.

Previous
Instance Scheduling
Next
Idle Load Balancer