AMIがRecycle Bin(ごみ箱)機能に対応しました
いわさです。
昨年のAWS re:Invent 2021で削除したEBSスナップショットを一定期間保持し、復元することが出来る「ごみ箱」機能が発表されていました。
今回、Amazon Machine Images (AMI) でも「ごみ箱」機能が使えるようになりました。
ルール設定
使い勝手はEBSと全く同じです。
Recycle Bin
でルールを作成し、全てあるいはタグで対象のフィルタリングが可能です。
以前まではリソースタイプに「EBSスナップショット」しか選択出来ませんでしたが、「Amazonマシンイメージ(AMI)」も選択出来るようになっています。ルールはスナップショットとAMIで別の管理となります。
削除と復元をしてみる
ルールを設定したので、AMIの登録解除をしてみます。
登録解除後にRecycle Binのリソース画面を見てみましょう。
リソースタイプで絞り込まれているので、AMIs
を選択しましょう。
解除されたAMIが表示されました。
復元するには、リソースを選択した状態で「復旧」ボタンを押すだけです。
すぐに復元されました。
CLIで操作
AWS CLIのv2.4.16からAMIのごみ箱操作が可能です。
登録解除して、ごみ箱で確認してみましょう。
# 登録解除 $ aws ec2 describe-images --owners 123456789012 | jq '.Images[].ImageId' -r ami-069d25a463d43452b ami-0a7a3a94b6593dcda $ aws ec2 deregister-image --image-id ami-0a7a3a94b6593dcda $ aws ec2 describe-images --owners 123456789012 | jq '.Images[].ImageId' -r ami-069d25a463d43452b ## ごみ箱確認 $ aws ec2 list-images-in-recycle-bin { "Images": [ { "ImageId": "ami-0a7a3a94b6593dcda", "Name": "iwasa-apache-sleep2", "Description": "[Copied ami-069d25a463d43452b from ap-northeast-1] iwasa-apache-sleep", "RecycleBinEnterTime": "2022-02-05T23:13:26+00:00", "RecycleBinExitTime": "2022-02-06T23:13:26+00:00" } ] }
AMIのリストからは削除され、ごみ箱のリストに表示されていますね。
次にごみ箱から復元してみます。
$ aws ec2 restore-image-from-recycle-bin --image-id ami-0a7a3a94b6593dcda { "Return": true } $ aws ec2 describe-images --owners 123456789012| jq '.Images[].ImageId' -r ami-069d25a463d43452b ami-0a7a3a94b6593dcda
復元出来ました!
さいごに
本日はAMIのごみ箱機能を紹介させて頂きました。
すごく簡単に使うことが出来ました。
ルール作成による有効化が事前に必要なので、誤った削除に備えてあらかじめ保持期間短めの適当なルールを用意しておくのも良さそうですね。