これは
初老丸アドベントカレンダー 13 日目の記事です。
qiita.com
ということで、小ネタ大ネタを交えて 12/25 まで張り切っていきましょう。
初老と AWS(2)〜 AWS CLI で AMI を作るが削除する 〜
逃げ恥
が流行ってますよね。
この「逃げるが恥だが役に立つ」テイストの言葉を考えているのですが、全く思いつきませんえん。
ということで、AMI を作る
AMI を作ることは恥ではありません。
_PROFILE=${プロファイル名を指定する} _INSTANCE_ID=i-xxxxxxxxxxxxx _AMI_NAME=oreno-instance-backup-image_$(date +%Y%m%d) aws --profile ${_PROFILE} --region ap-northeast-1 \ ec2 \ create-image \ --instance-id ${_INSTANCE_ID} \ --name ${_AMI_NAME} \ --no-reboot \ --output text
むしろ、何かあった時には役に立ちますよね。
AMI を登録解除する
用事が終わったら AMI は登録解除して、スナップショットを削除しましょう。
# 削除対象の IAM ID を取得 _PROFILE=${プロファイル名を指定する} _AMI_NAME=oreno-instance-backup-image_$(date +%Y%m%d) _AMI_ID=$(aws --profile ${_PROFILE} --region ap-northeast-1 \ ec2 \ describe-images \ --filters Name=name,Values=${_AMI_NAME} \ --query 'Images[].ImageId' \ --output text) echo ${_AMI_ID} # 削除対象の IAM を登録解除 _PROFILE=${プロファイル名を指定する} aws --profile ${_PROFILE} --region ap-northeast-1 \ ec2 \ deregister-image \ --image-id ${_AMI_ID}
AMI のスナップショットを削除する
スナップショットを削除しますよ。
# 削除対象のスナップショット ID を確認 _PROFILE=${プロファイル名を指定する} _SNAPSHOT_ID=$(aws --profile ${_PROFILE} --region ap-northeast-1 \ ec2 \ describe-snapshots \ --filters Name=description,Values=*${_AMI_ID}* \ --query 'Snapshots[].SnapshotId' \ --output text) echo ${_SNAPSHOT_ID} # 削除対象のスナップショットを削除 _PROFILE=${プロファイル名を指定する} aws --profile ${_PROFILE} --region ap-northeast-1 \ ec2 \ delete-snapshot \ --snapshot-id ${_SNAPSHOT_ID} # 削除対象の IAM が登録解除されていることを確認する _PROFILE=${プロファイル名を指定する} aws --profile ${_PROFILE} --region ap-northeast-1 \ ec2 \ describe-images \ --image-ids ${_AMI_ID} # 削除対象のスナップショットが削除されていることを確認する _PROFILE=${プロファイル名を指定する} aws --profile ${_PROFILE} --region ap-northeast-1 \ ec2 \ describe-snapshots \ --snapshot-id ${_SNAPSHOT_ID}
以上
メモでした。