Home › Decoder › EBS:VolumeUsage.gp2 - the gp2 volume line, and the cheaper gp3

EBS:VolumeUsage.gp2 - the gp2 volume line, and the cheaper gp3

EBS:VolumeUsage.gp2 is the monthly storage charge for gp2 SSD volumes, $0.10 per GB-month in US East (N. Virginia); the newer gp3 type is $0.08 per GB-month and includes 3,000 IOPS and 125 MiB/s.

In your bill the usage type reads: EBS:VolumeUsage.gp2, USE1-EBS:VolumeUsage.gp2

What it costs

ChargePriceUnit
gp2 storage (EBS:VolumeUsage.gp2)$0.10per GB-month
gp3 storage (EBS:VolumeUsage.gp3), 3,000 IOPS and 125 MiB/s included$0.08per GB-month
gp3 provisioned IOPS above 3,000 (EBS:VolumeP-IOPS.gp3)$0.005per IOPS-month

US East (N. Virginia); other regions differ. Checked 2026-11-04. Sources: AWS EBS pricing, AWS price list file, EC2 offer, us-east-1, EBS General Purpose SSD volumes (docs).

Example with made-up numbers

40 gp2 volumes, 250 GB each = 10,000 GB-months on the gp2 line

10,000 GB x $0.10 = $1,000.00 per month on gp2

The same 10,000 GB on gp3 = 10,000 x $0.08 = $800.00 per month, a difference of $200.00 per month

If a volume needs more than 3,000 IOPS, add $0.005 per extra IOPS-month: 1,000 extra IOPS = $5.00 per volume per month

Typical causes

Volumes created before gp3 existed

Instances, AMIs and launch templates built years ago still request gp2, and every new instance from them gets a gp2 root volume.

Infrastructure-as-code defaults

Terraform, CloudFormation and CDK modules with an explicit or inherited gp2 type keep creating gp2 volumes on every deploy.

Oversized volumes sized for gp2 performance

gp2 performance scales with size, so teams bought bigger disks for IOPS. On gp3, IOPS and throughput are set independently of size.

Forgotten volumes

Unattached volumes from terminated instances keep billing every month at the same rate until deleted.

The fix, step by step

Verify first

Check these before you change anything: the steps below are suggestions, and only you can see your own configuration.

  • List your gp2 volumes and check their real IOPS and throughput use in CloudWatch (VolumeReadOps, VolumeWriteOps, VolumeReadBytes, VolumeWriteBytes) before changing type; gp2 volumes above about 1,000 GiB can have a baseline above gp3's 3,000 IOPS, so check you are not lowering performance.
  • Confirm what AWS documents for modifying a volume in place: it is done live, but test on a non-production volume first and take a snapshot before changing a production one.
  • Check your infrastructure-as-code: if a template still says gp2, the next deploy can create gp2 again or fight your manual change.
  • Do not delete unattached volumes until you have checked they hold no data you need (snapshot first; snapshots cost $0.05 per GB-month).

In the console

  1. EC2 console > Volumes; filter Volume type = gp2.
  2. Select one non-production volume > Actions > Modify volume.
  3. Change Volume type to gp3; keep size; leave IOPS 3,000 and throughput 125 MiB/s unless your metrics show you need more; Modify.
  4. Wait for the volume state to leave optimizing, check the instance's disk metrics for a day, then repeat for the rest.
  5. Update the AMI, launch template and IaC module to gp3.

With the CLI

aws ec2 describe-volumes --filters Name=volume-type,Values=gp2 --query 'Volumes[].[VolumeId,Size,Iops,State]' --output table
aws ec2 create-snapshot --volume-id vol-EXAMPLE --description 'before gp3 change'
aws ec2 modify-volume --volume-id vol-EXAMPLE --volume-type gp3
aws ec2 describe-volumes-modifications --volume-ids vol-EXAMPLE

Rollback

A volume can be modified again after the modification completes; AWS limits how often a volume can be modified (check the current limit in the EBS docs). Keep the pre-change snapshot until the volume has run a few days.

Find your gp2 line in your own bill

Drop in your Cost Explorer or CUR CSV. Billtrim reads it in your browser, finds the gp2 line and shows the monthly dollars for your volumes.

See a sample result

Paste your export: how to export a Cost Explorer CSV or CUR file in two minutes.

Questions people ask

Is gp3 always cheaper than gp2?

Per GB-month yes ($0.08 vs $0.10 in US East N. Virginia). Large gp2 volumes with a high baseline IOPS need extra provisioned IOPS on gp3 ($0.005 per IOPS-month), so check each volume.

Does changing the type cause downtime?

AWS documents that Elastic Volumes lets you modify type, size and performance while the volume is attached. Test on one volume first.

Do snapshots get cheaper too?

No. Snapshot storage is billed separately ($0.05 per GB-month) and does not depend on the volume type.

Related

Part of the guide: Reduce your AWS bill as a startup: a checklist for teams with no FinOps person