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が便利というよりも、マネージメントコンソール直した方が良さそうな気がするが、アタッチ時の指定なので、どの画面に実装するか確かに難しいところですね。

 

後からアタッチしたボリュームの削除し忘れには気を付けましょう。

TOP