🔥
【AWS/EC2】EBS自動削除をオフ→オンに切り替える方法
はじめに
業務で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