昨年、EBSのSnapShotを対象に作られたRecycle Binが、AMIもサポートするようになりました。
Recycle Binに対する、AWS公式の和訳が「ごみ箱」です。
リアルなごみ箱でも間違って大事なものを間違って捨てた場合や、あとで必要と気づいたときには、拾い出しますよね?
このごみ箱も、同じように間違って捨てた後に拾い出すことができます。
MacやWindowsのごみ箱と同じです。
個人的に注目している機能の一つで、勝手な予想(願望)ですが、今後、他にもどんどん対象が増えて、リソースの削除に対する防御線の集中管理ができるのではと期待しています。
手順
Retention Ruleの作成
非技術者の方でも、監査とかを対応される際に、Retention Policyとかいう言葉を聞かれたことあるかもしれませんが同じものです。
保存期間についてのルールです。一般的に、Retention Rule/Policyでは、「何を、いつまで、どのように保管する」かを決めておきます。
AWSのRecycle Binでは、現状、以下となります。
- 何を … Snapshot?またはAMI?。特定のタグ付きのもの?または全部?
- いつまで … 日単位で指定。1〜365で指定可能。
- どのように … Retention Rule対象外。保管場所はS3固定。暗号化して保管するかはSnapshot側で指定。
AMIの破棄
Actionから「Deregister AMI(AMIを登録解除)」をすることで、AMIは破棄されます。
このとき、Retention Ruleに合致しているものは、ごみ箱のリソースに一時保管されます。
ごみ箱の確認と復旧
Retention Binのコンソールから、ごみ箱のリソースに、先ほど破棄したAMIが存在していることを確認できます。
選択して、復旧ボタンを押すことで、AMIは登録解除前の状態に戻すことができます。
注意点
AMIのRetention Ruleは、あくまでAMIについてのみ適用されます。
そのAMIにアサインされたSnapshotには適用されません。このAMIでは、snapshotは下側のカーソルのものになります。
したがって、AMIの登録解除のときに、snapshotを削除してしまっていたら、ごみ箱のAMIは復元できません。
この件は、Retention Rule設定時にも、注意書きで案内してくれています。
Recycle Bin(ごみ箱)を利用する場合は、SnapshotのRetention Ruleも合わせて設定しておくことをお勧めします :)