How to Modify NVMe Volume Type from io1 to gp2


We have r5.16xlarge EC2 instance and want to modify one of the NVMe Volume Type from io1 to gp2. and visa versa. A) Is it possible to achieve the same? B) If yes how can we do it? C) Can we do it when volume is connected to the instance? Appreciate your support. Thank you.

asked 9 months ago399 views
4 Answers

Hello, it is possible to change EBS volume types that are attached to instances, depending on the volume type and instance type. The CLI command documentation[1] says "You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you might be able to apply these changes without stopping the instance or detaching the volume from it." Altough it's not clear what is meant by "current-generation" it's worth giving a try on you r5.

Please follow this documentation to learn how:

If you run into any trouble here's a troubleshoot guide that might help you (worth reading before requesting volume changes though):

Is there any specific reason why you would like the gp2 volume ? gp3 volume are the next generation and offers better baseline performance for lower price per GB. Here's is an excellent comparison of both gp2 and gp3:

Hope this helps you. Let me know if you have further questions.

Have a nice day!


[1] aws ec2 modify-volume doc

answered 9 months ago

Yes you can change the volume type of an EBS volume without stopping the instance or detaching the volume. You just need to call the modify-volume api.

answered 9 months ago

Hi there.

I know you may be seeing conflicting answers here but I don't think you can change the NVMe volume type. Per the instance description

With R5d instances, local NVMe-based SSDs are physically connected to the host server and provide block-level storage that is coupled to the lifetime of the R5 instance

These volumes are what is called Instance Store Volumes and are physically attached to the instance.

For instance types with NVMe instance store volumes, all of the supported instance store volumes are automatically attached to the instance at launch. For instance types with non-NVMe instance store volumes, such as C1, C3, M1, M2, M3, R3, D2, H1, I2, G2, X1, and X1e, you must manually specify the block device mappings for the instance store volumes that you want to attach at launch. Then, after the instance has launched, you must format and mount the attached instance store volumes before you can use them. You can't attach an instance store volume after you launch the instance.

Some instance types use NVMe or SATA-based solid state drives (SSD), while others use SATA-based hard disk drives (HDD). SSDs deliver high random I/O performance with very low latency, but you don't need the data to persist when the instance terminates or you can take advantage of fault-tolerant architectures. For more information, see SSD instance store volumes.

I hope this helps.

profile pictureAWS
answered 9 months ago


The only way I know to do that is to go via Snapshot of disk of type that you want to change, detach of unwanted disk, creation of new disk of proper type, and then restore on the disk of the new type that you want.

It it detailled here (for slightly different disk types):



profile pictureAWS
answered 9 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions