はじめに
EC2のスナップショットを定期的に取得する簡単な方法がないかと探してみたところ、EC2ダッシュボード上にある「データライフサイクルマネージャー」という機能を使うと簡単に実現できることが分かりました。
今回はこのデータライフサイクルマネージャーを使った、スナップショットの作成手順(※GUIベース)を備忘録として記事にしてみました。
手順
1. EC2インスタンスのタグ付け
- まず最初に、スナップショットを取るEC2インスタンスを識別するためのタグを付与します。
- 今回はキー「Name」に対する値として、「nkojima-test」を設定しました。
2. データライフサイクルマネージャの設定
- EC2ダッシュボードの左側のメニューにある、「ライフサイクルマネージャー」をクリックします。
- データライフサイクルマネージャーの画面に入ったら、[スナップショットのライフサイクルポリシーを作成する]をクリックします。
- ライフサイクルポリシーの作成画面に入ったら、ポリシーの説明として何らかの文言を設定します。
- 後で出てくる「スケジュール名」の補足にあたるような文言が良いのかもしれません。
- リソースタイプの選択については、今回は「インスタンス」を選択しました。
- ターゲットについては、先程にEC2インスタンスに設定したタグ(Name)を指定します。
- 次にポリシースケジュールとして、スナップショットを取る時間などを設定します。
- スナップショットの開始時刻はUTC(協定世界時)のため、画面上で設定する時刻は「日本時間の9時間前」として設定する必要があります。
- 日本時間で18時からスナップショットを取りたい時は、
9:00 UTC
と設定します。 - 今回は保持するタイプはカウント(世代)として、保持する数を1にしました。
- この設定の場合、保持されるスナップショットは1世代だけで、スナップショットの自動作成が何回繰り返されてもスナップショットは1つだけとなります。
- タグ付け情報は、[ボリュームからタグをコピーする]という欄にチェックを入れました。
- これにより、EC2インスタンスに設定されているタグがスナップショットにもコピーされます。
- スナップショットの高速復元、クロスリージョンコピー、パラメーターについては設定をしませんでした。
- IAMロールについては、デフォルト値の[デフォルトロール]を選択しました。
- デフォルト値のままで、動作に特に問題はありませんでした。
- 最後に[ポリシーを有効にする]にチェックが入っていることを確認して、[ポリシーの作成]をクリックします。
- スナップショットの自動作成を止めたい時は、ここで[ポリシーを無効にする]にチェックを入れます。
3. 作成されたポリシーの確認
- ポリシーの作成が完了したら、ライフサイクルマネージャー画面でポリシーの状態が[ENABLED]になっていることを確認します。
- ポリシーが無効化されていると、ポリシーの状態が[DISABLED]となっているはずです。
4. 作成されたスナップショットの確認
- スナップショットの作成予定時刻を少し(※1時間程度)過ぎたら、EC2ダッシュボードからスナップショット画面へ入り、スナップショットが作成されていることを確認します。
- ポリシーの状態が[ENABLED]であるのにスナップショットが作成されていない場合は、スナップショットの取得開始時刻、取得間隔などを確認してください。