概要
2020/11/09のアップデートで、「Data Lifecycle Manager で AMI ライフサイクル管理が利用可能に」の発表がありました。
DLMでAMIバックアップを試してみたいと思います。
Data Lifecycle Manager で AMI ライフサイクル管理が利用可能に
Amazon Data Lifecycle Manager とは
EBSスナップショットとAMIの作成、保存、削除を自動化してくれる機能です。
【小ネタ】
2020/11/27時点で日本語公式サイトは更新されていませんでした。
最新情報は英語版を確認しましょう。
日本語
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/snapshot-lifecycle.html
英語
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html
やってみた
マネジメントコンソールからEC2の管理画面を開き、左メニューの「ライフサイクルマネージャー!をクリックします。
「ライフサイクルポリシーを作成」ボタンを押します。
ライフサイクルポリシー作成画面に移動するので、ポリシータイプを「EBS-backed AMIポリシー」を選択、説明、ターゲットとなるタグを指定します。
IAMロールは、デフォルトロールを選択
※ 既にロールが存在する場合は、別のロールを選択でもOK
ポリシースケジュール1に「スケジュール名」、「頻度」、「取得間隔」、「開始時間」、「保持タイプ」、「保持する」を設定します。
サンプルでは1時間ごとに3世代保持と設定しました。
取得したバックアップに追加で設定するタグを指定します。
クロスリージョンコピーの設定をします。
(オプション)なので指定しなくても良いが検証のため設定しました。
最後にインスタンスの再起動の実施、作成後のポリシーステータスを指定し、「ポリシーの作成」ボタンを押します。
以下のような成功メッセージが表示されればライフサイクルポリシーの作成が完了です。
設定後の確認
しばらく待ちます・・・
東京リージョン
想定通り、1時間ごとに3世代AMIバックアップを取得できていました。
ソウルリージョン
クロスリージョンコピー先ですが、こちらは履歴管理はしてくれない模様です。
確かに設定はないですが、長時間放置したら、273個もAMIバックアップがコピーされていました。。。
クロスリージョンコピーを指定する場合は注意が必要そうです。
所感
数年前にEBSスナップショットのライフサイクルが取得可能となり、今回、AMIでも利用可能となりました。
以前は、Shell、Cronなど。その次にLambdaなどで自前実装していたため、機能として実装されると非常に楽になったなぁと感じました。
誰かのご参考になれば幸いです。