こんにちは、ディーネットの山田です。
EC2を作成する際に、ルートボリュームに『終了時に削除する』設定を忘れてしまったので、CLI経由で設定を変更してみました。
比較的簡素な内容となりますが、ブログ化してみました。
また、終了時に削除する設定の有効・無効を切り替えることができるので、EC2を誤って終了してしまいEBSが消えるのを防ぎたいなど設定忘れとは別のユースケースでも利用することができます。
目次
はじめに
終了時に削除する設定について
インスタンスが終了すると、『終了時に削除する』設定が有効で、EC2にアタッチされたEBSボリュームは削除されます。
『終了時に削除する』設定が無効であれば、EC2にアタッチされたEBSボリュームは保持されます。
設定方法について
AWSマネジメントコンソールから行う場合
こちらの設定方法は、EC2を新規に起動するタイミングでのみ設定可能な方法になりますので、今回の記事では割愛いたします。
AWS CLIから行う場合
CLI実行に必要なパラメータを調査する
インスタンスIDを調べる
EBSのボリュームIDを調べる
アタッチするEBSのデバイス名を調べる
CLI実行可能な環境でコマンドを実行する
CloudShellから実行すれば、CLI環境を用意することがなく実行できるので便利です。
AWS CLIで『modify-instance-attribute』を実行する
target="i-XXXXXXXXXXXXXXXXX" # 対象となるEC2のインスタンスIDを入力
VolumeId="vol-XXXXXXXXXXXXXXXXX" # 終了時に削除する設定を有効化するEBSのボリュームIDを入力
DeviceName="/dev/XXXX" # EC2インスタンスにアタッチされているデバイス名を入力
aws ec2 modify-instance-attribute --instance-id ${target} --block-device-mappings "
{
\"DeviceName\":\"${DeviceName}\",
\"Ebs\":
{
\"DeleteOnTermination\":true,
\"VolumeId\":\"${VolumeId}\"
}
}
"
対象のEBSで『終了時に削除する』設定が有効化されたことを確認する
参考サイト
https://aws.amazon.com/jp/premiumsupport/knowledge-center/deleteontermination-ebs/
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#delete-on-termination-running-instance
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination
プロフィール
テクニカルサポートは卒業して、フロントサイドでお客様環境の構築をさせていただいております。
たまに、テクニカルサポートでご対応させていただくことがあるかもしれませんが、その際はよろしくお願いいたします。
インフラ系のエンジニアですが、時々休日プログラマー(Python、PHP)をやっております。
LINK
クラウドベリージャム:プロフィールページ