Amazon Data Lifecycle Manager(DLM)で1時間おきにスナップショットがとれるようになりました!

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術1課の小倉です。
2020/3/9にアップデートがあり、Amazon Data Lifecycle Manager(DLM)で1時間おきにスナップショットがとれるようになりました!ここでいうスナップショットとは、Amazon EBSのバックアップのことです。

Amazon Data Lifecycle Manager (DLM) が 1 時間のバックアップ間隔をサポート

今までは最短でも2時間おきでしたが、それよりも短い時間でとれるようになっています。そのため、EBSの障害やEBS内のデータ破損などが発生したとき、より最新の状態に近いスナップショットから復旧できるようになりました。

Amazon Data Lifecycle Manager(DLM)とは

ポリシーを作成することにより、EBSのスナップショットの作成、保持、削除を自動でできます。
1, 2, 3, 4, 6, 8, 12, 24時間おきにスナップショットを取得したり、世代管理や保持日数を指定して古いスナップショットを削除できたりします。

設定手順

新規作成

マネジメントコンソールにログインして、EC2のコンソールを開きます。
https://console.aws.amazon.com/ec2/

左メニューの[ライフサイクルマネージャー]をクリックし、[スナップショットのライフサイクルポリシーを作成する]をクリックします。

スナップショットのライフサイクルポリシーを作成する画面で、*がついている必須項目を入力します。
今回は[リソースタイプを選択]でインスタンスを選択していますので、[これらをタグを持つターゲット]で、EC2インスタンスのタグを設定しました(図ではタグのキーがName、値がserverlessframework)。

下にスクロールすると、[ポリシーを次の時間ごとに実行する]を今回のアップデートで指定可能になった1時間に設定します。[開始時刻]はこの設定が有効になる時間(≠ スナップショットを取得する時間)です。
今回は[保持タイプ]はカウント、[保持する]は5で設定しています。この設定ですと5世代までスナップショットが保管されます。

さらに下にスクロールして、[ポリシーの作成]をクリックします。成功のメッセージが出力されたら[閉じる]をクリックします。
これで設定は完了です。あとはスナップショットが取得されるのを待ちます。

左メニューの[スナップショット]をクリックすると取得されたスナップショットが確認できます。
DLMで作成されると説明に「Created for policy: …」と書かれます。

今回は保持するスナップショットを5に設定しています。
(15:52 – 19:53の計5つ)

スナップショットが5つとっている状態で次のスナップショットを取得すると一番古いスナップショットが削除されます(一番古いスナップショットが16:57になっています)。

既存設定の変更

既存設定の変更の場合は、EC2コンソールで、左メニューの[ライフサイクルマネージャー]をクリックして、変更対象のポリシーを選択し、[アクション] – [スナップショットのライフサイクルポリシーを変更する]をクリックします。

[ポリシーを次の時間ごとに実行する]を1に変更します。

[ポリシーの更新]をクリックします。

まとめ

スナップショットを1時間おきに取得することで、なにかEBSで障害が発生したときに障害発生時から1時間以内のデータから復旧させることができます。また、スナップショットは増分バックアップですので、取得回数を増やしても大きな出費にはならないことがほとんどです。
もしEBSのバックアップを検討している、またはもうDLMをお使いの方は1時間おきの取得を検討してみてはいかがでしょうか。

AWS運用自動化サービス「Cloud Automator」