🔥

【AWS/EC2】EBS自動削除をオフ→オンに切り替える方法

2021/10/16に公開

はじめに

業務で1回あった事例で、EC2インスタンス作成時に「EBSの自動削除(終了時に削除)をオフにしてしまった」という事象がありました。
今回は、EBSの自動削除(終了時に削除)をオンにする方法をアウトプットします。

前提条件

  • 作業用IAMユーザーにて作業実施
  • 東京リージョンにて作業を実施
  • 今回はCloudShellを使用
  • EC2インスタンスを起動させた状態で作業を実施

事象

EC2インスタンス作成後に対象ボリュームの「終了時に削除」が「いいえ」になっている。

対応方法

事前準備

1.EC2のインスタンス一覧にて対象のインスタンスを選択する。

2.下の画面より「ストレージ」タブを選択し、対象のデバイス名を控える。

※下の場合は、「/dev/xvda」になります。

3.AWSマネジメントコンソールよりCloudShellを開く。

4.CloudShellが起動したことを確認する。

設定変更

1.ホームディレクトリにてmapping.jsonを作成する。

  • ディレクトリ確認
コマンド
pwd
実行例
[cloudshell-user@ip-10-0-163-136 ~]$ pwd
/home/cloudshell-user
[cloudshell-user@ip-10-0-163-136 ~]$ 
  • mapping.json作成
コマンド
vim mapping.json
ファイル内容
[
        {
            "DeviceName": "<対象のデバイス名>",
             "Ebs": {
                         "DeleteOnTermination": true
             }
        }
]
ファイル内容(記載例)
[
        {
            "DeviceName": "/dev/xvda",
             "Ebs": {
                         "DeleteOnTermination": true
             }
        }
]

※ファイルが作成されたことを確認

ファイル作成確認
[cloudshell-user@ip-10-0-163-136 ~]$ cat mapping.json 
[
        {
            "DeviceName": "/dev/xvda",
             "Ebs": {
                         "DeleteOnTermination": true
             }
        }
]
[cloudshell-user@ip-10-0-163-136 ~]$ 

2.以下コマンドを実行する。

コマンド
aws ec2 modify-instance-attribute --instance-id "<インスタンスID>" --block-device-mappings file://mapping.json
コマンド実行例
[cloudshell-user@ip-10-0-163-136 ~]$ aws ec2 modify-instance-attribute --instance-id "i-042811245a37b88b7" --block-device-mappings file://mapping.json
[cloudshell-user@ip-10-0-163-136 ~]$ 

3.対象EC2インスタンスの対象ボリュームの「終了時に削除」が「はい」になったことを確認。

追加情報

以下コマンドを実行すると、EC2インスタンスの設定を確認することが可能

コマンド
aws ec2 describe-instances --instance-ids <インスタンスID>
コマンド実行例
[cloudshell-user@ip-10-0-163-136 ~]$ aws ec2 describe-instances --instance-ids i-042811245a37b88b7
{
    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "AmiLaunchIndex": 0,
                    "ImageId": "ami-0701e21c502689c31",
                    "InstanceId": "i-042811245a37b88b7",
                    "InstanceType": "t2.micro",
                    "KeyName": "WEB-KEY",
                    "LaunchTime": "2021-10-16T01:40:39+00:00",
                    "Monitoring": {
                        "State": "disabled"
                    },
                    "Placement": {
                        "AvailabilityZone": "ap-northeast-1a",
                        "GroupName": "",
                        "Tenancy": "default"
                    },
                    "PrivateDnsName": "ip-10-0-30-107.ap-northeast-1.compute.internal",
                    "PrivateIpAddress": "10.0.30.107",
                    "ProductCodes": [],
                    "PublicDnsName": "ec2-3-113-25-178.ap-northeast-1.compute.amazonaws.com",
                    "PublicIpAddress": "3.113.25.178",
                    "State": {
                        "Code": 16,
                        "Name": "running"
                    },
                    "StateTransitionReason": "",
                    "SubnetId": "subnet-06cfb9091061b54f3",
                    "VpcId": "vpc-06bd07fd56da46e82",
                    "Architecture": "x86_64",
                    "BlockDeviceMappings": [
~続く

参考

AWS CLIでサービスの各種コマンドを動かしてみる(EC2編1: インスタンス)
起動中のインスタンスからEBSボリュームのDeleteOnTermination設定を変更する。

Discussion