EBS gp2 → gp3 Migration
Migrate older gp2 EBS volumes to gp3 — 20% cheaper, better performance, zero downtime.
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 modifying → optimizing → completed, 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?
| Parameter | Value |
|---|---|
| Minimum | 3,000 IOPS (gp3 baseline — free of charge) |
| Formula | max(3000, volume_size_GB × 3) |
| Maximum | 16,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
| Limitation | Detail |
|---|---|
| 6-hour cooldown | AWS 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 skipped | CostLens skips any volume already mid-modification to avoid conflicts. |
| gp3 cannot be downgraded back to gp2 | Once migrated, you cannot revert from the CostLens UI. You can manually change the type back via the AWS Console. |
| IOPS and throughput charges | 3,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.