この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
いわさです。
昨年の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のごみ箱機能を紹介させて頂きました。
すごく簡単に使うことが出来ました。
ルール作成による有効化が事前に必要なので、誤った削除に備えてあらかじめ保持期間短めの適当なルールを用意しておくのも良さそうですね。