はじめに

稼働中のec2インスタンスのEBSボリュームをec2-api-toolsを使って
provisioned IOPS EBSに変更する方法を試してみました。
ec2-api-toolsのバージョンは1.6.12.2です。

手順

稼働中のインスタンスを停止する

ec2-stop-instances $instance_id

元になるEBSボリュームをdetachする

ec2-detach-volume $volume_id

EBSボリュームのスナップショットを作成する

ec2-create-snapshot $volume_id

Provisioned IOPS EBSを作成する

ec2-create-volume --availability-zone $zone --size 10 --type io1 --iops 4000 --snapshot $snapshot_id

作成したProvisioned IOPS EBSボリュームをインスタンスにatacheする

ec2-attach-volume --instance $instance_id --device /dev/sda $new_volume_id

インスタンスがEBS-Optimizedインスタンスでなければ、
以下コマンドで対応するインスタンスに変更する(この例ではm1.largeに変更)

ec2-modify-instance-attribute --instance-type m1.large $instance_id

EBS-optimizedにコンバートする

ec2-modify-instance-attribute --ebs-optimized True $instance_id

作成したEBS-Optimizedインスタンスを起動する

ec2-start-instances $instance_id

まとめ

DBの大量インサートとかIOバウンドな処理をする時は良さそうですね。