#はじめに
- EBSのボリュームタイプの変更を実施したので備忘録として残します。
※EC2インスタンスの停止させることなく、オンライン状態でのEBSボリュームタイプ変更作業です。 - AWS-CLIを用いて作業をおこないます。
#実施手順
##環境
OS情報
[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
AWS-CLIバージョン
[root@localhost ~]# aws --version
aws-cli/2.1.19 Python/3.7.3 Linux/3.10.0-1160.11.1.el7.x86_64 exe/x86_64.centos.7 prompt/off
##EBSボリュームタイプ変更作業
▼EBSのボリューム IDを変数「EBS_VOLUME_ID」に格納
# EBS_VOLUME_ID="vol-1111111111111111"
▼現在のEBSのボリュームタイプを確認
[root@localhost ~]# aws ec2 describe-volumes --volume-ids ${EBS_VOLUME_ID} --query Volumes[].VolumeType --output text
gp2
▼ボリュームタイプを「gp3」に変更
[root@localhost ~]# aws ec2 modify-volume --volume-id ${EBS_VOLUME_ID} --volume-type gp3
{
"VolumeModification": {
"VolumeId": "vol-1111111111111111",
"ModificationState": "modifying",
"TargetSize": 1000,
"TargetIops": 3000,
"TargetVolumeType": "gp3",
"TargetThroughput": 125,
"OriginalSize": 1000,
"OriginalIops": 3000,
"OriginalVolumeType": "gp2",
"Progress": 0,
"StartTime": "2021-01-17T01:31:11+00:00"
}
}
※今回は、1TBのEBSボリュームで、ボリュームタイプの変更をおこないます。
▼EBSボリュームタイプ変更の進捗を確認
[root@localhost ~]# aws ec2 describe-volumes-modifications --volume-id ${EBS_VOLUME_ID}
{
"VolumesModifications": [
{
"VolumeId": "vol-1111111111111111",
"ModificationState": "completed",
"TargetSize": 1000,
"TargetIops": 3000,
"TargetVolumeType": "gp3",
"TargetThroughput": 125,
"OriginalSize": 1000,
"OriginalIops": 3000,
"OriginalVolumeType": "gp2",
"Progress": 100, ※ここの値が100になれば、処理が完了
"StartTime": "2021-01-17T01:31:11+00:00",
"EndTime": "2021-01-17T01:52:13+00:00"
}
]
}
ボリュームタイプ変更の実施時間:2021/01/17 10:31(日本時間)
ボリュームタイプ変更の終了時間:2021/01/17 10:52(日本時間) 処理時間→21分
▼現在のEBSのボリュームタイプを確認
[root@localhost ~]# aws ec2 describe-volumes --volume-ids ${EBS_VOLUME_ID} --query Volumes[].VolumeType --output text
gp3
#まとめ
今回は、何もデータが入っていないEBSボリュームで実施いたしました。そのため、データがたくさん入っている場合だと、もっと時間がかかるかもしれません。
また、旧世代(C1, C3, G2, I2, M1, M2, M3, R3, T1)のファミリーの場合は、処理が失敗するようなので、注意が必要のようです。
#参考URL
https://blog.serverworks.co.jp/reinvent2020-modify-ebs-gp2-to-gp3