Guides · EBS
gp3 is AWS's newer general-purpose SSD volume, and it costs 20% less per GB than gp2. In US East (N. Virginia), gp2 is $0.10 per GB-month and gp3 is $0.08. If your instance supports Elastic Volumes, you can change a volume's type in place while it keeps running. Small volumes save the full 20%. Larger ones (roughly 170 GB and up) can save less if you buy extra gp3 throughput or IOPS to match what gp2 gave them, because gp3 charges separately for performance above its included baseline; see the table below.
A small gp2 volume (100 GiB gives 300 IOPS baseline) gets more steady performance as gp3, for less money. A large gp2 volume (2,000 GiB gives 6,000 IOPS) needs extra IOPS bought on gp3 to match it.
| gp2 volume | gp2 performance | gp2 / month | gp3 configuration | gp3 / month | Saving |
|---|---|---|---|---|---|
| 100 GB | 300 IOPS (bursts to 3,000), 128 MiB/s | $10.00 | Included 3,000 IOPS, 125 MiB/s | $8.00 | $2.00 |
| 500 GB | 1,500 IOPS, 250 MiB/s | $50.00 | 3,000 IOPS + 125 MiB/s extra ($5.00) | $45.00 | $5.00 |
| 2,000 GB | 6,000 IOPS, 250 MiB/s | $200.00 | 3,000 extra IOPS ($15.00) + 125 MiB/s extra ($5.00) | $180.00 | $20.00 |
Fifty 100 GB volumes is 5,000 GB of gp2. That's $500 a month as gp2 and $400 as gp3: $100 a month, or $1,200 a year, for a change you can make without downtime.
The 500 GB row assumes you keep gp2's 250 MiB/s. If your workload doesn't need more than 125 MiB/s, leave throughput at the included baseline and the saving is the full $10.
AWS publishes a spreadsheet, the gp2 to gp3 migration cost savings calculator, if you want to run your own volume list through it.
Console: EC2 console → Elastic Block Store → Volumes. Filter by Volume type = gp2. Volumes are per region, so repeat for each region you use.
AWS CLI (read-only). List gp2 volumes in one region:
aws ec2 describe-volumes --region us-east-1 \
--filters Name=volume-type,Values=gp2 \
--query 'Volumes[].[VolumeId,Size,Iops,State]' --output table
Total gp2 GB in every enabled region:
for r in $(aws ec2 describe-regions --query 'Regions[].RegionName' --output text); do
echo "$r: $(aws ec2 describe-volumes --region $r --filters Name=volume-type,Values=gp2 \
--query 'sum(Volumes[].Size)' --output text) GB of gp2"
done
Multiply the total by $0.02 for a rough monthly saving at us-east-1 prices. Then subtract the extra IOPS and throughput for any volume of 1,000 GB or more.
aws ec2 modify-volume --volume-id vol-0123456789abcdef0 --volume-type gp3--iops and --throughput to set them yourself.aws ec2 describe-volumes-modifications --volume-ids vol-0123456789abcdef0. A 1 TiB volume can take up to six hours. Billing at the new rate starts when the modification starts, and there's no charge for the change itself.Limits to know: once a modification completes, you can modify the same volume again, up to four times in a rolling 24 hours. Elastic Volumes works on all current-generation instances and some older ones. On other instances, detach a data volume or stop the instance for a root volume, then modify it. A modification can't be cancelled once submitted.
The free checkup finds this and 20 other kinds of issues automatically. It lists every gp2 volume in every region you use. It works out the gp3 saving per volume, including matching IOPS and throughput on large volumes. Volumes it already counts elsewhere (unattached, on a stopped instance, or on an idle instance) are skipped, so savings don't add up twice.
EBS:VolumeUsage.gp2 $0.10/GB-month, EBS:VolumeUsage.gp3 $0.08/GB-month, EBS:VolumeP-IOPS.gp3 $0.005/IOPS-month, EBS:VolumeP-Throughput.gp3 $0.04/MiB/s-month.Prices are AWS on-demand list prices for US East (N. Virginia), checked October 3, 2026. Other regions differ. Your bill may also reflect credits or private pricing.