EC2起動時にはけっこう目立つEBSボリュームのDelete on Terminationだけど、AWSマネージメントコンソールから追加Volume追加する時に設定変更できる箇所が見当たらない。設定は見えるのだけど、変更できるインターフェースがどうも無さそう。
困ったときのAWS CLI
CLIでできるかもと思ってやってみたらできました。
# 事前確認
$ aws ec2 describe-instances --instance-id $INSTANCEID \
--query Reservations[].Instances[].BlockDeviceMappings[]
[
{
"DeviceName": "/dev/xvda",
"Ebs": {
"Status": "attached",
"DeleteOnTermination": false,
"VolumeId": "vol-1503be1f",
"AttachTime": "2014-07-04T06:01:17.000Z"
}
}
]
# 上の結果からこんなファイルを用意してみる(VolumeId指定だけでも行けるかも?)
$ cat new.json
[
{
"DeviceName": "/dev/xvda",
"Ebs": {
"DeleteOnTermination": true,
"VolumeId": "vol-1503be1f"
}
}
]
# jsonファイルを指定して変更
$ aws ec2 modify-instance-attribute --instance-id $INSTANCEID \
--block-device-mappings file://new.json
# 事後確認
$ aws ec2 describe-instances --instance-id $INSTANCEID \
--query Reservations[].Instances[].BlockDeviceMappings[]
[
{
"DeviceName": "/dev/xvda",
"Ebs": {
"Status": "attached",
"DeleteOnTermination": true,
"VolumeId": "vol-1503be1f",
"AttachTime": "2014-07-04T06:01:17.000Z"
}
}
]
CLIが便利というよりも、マネージメントコンソール直した方が良さそうな気がするが、アタッチ時の指定なので、どの画面に実装するか確かに難しいところですね。
後からアタッチしたボリュームの削除し忘れには気を付けましょう。