この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
こんにちは、趙です。
プロジェクトが本番稼働してから、稼働しているEC2の定期バックアップが大事のことです。 本日はEC2(EBS)自動バックアップの方法を紹介します。
スナップショットライフサイクルとは
Amazon Data Lifecycle Manager を使用して(略称:DLM)、Amazon EBS ボリュームをバックアップするスナップショットの作成、保持、削除を自動化できます。スナップショット管理を自動化すると、次のことが可能になります。
定期的なバックアップスケジュールを実施して貴重なデータを保護する。
監査担当者または社内のコンプライアンスが必要とするバックアップを保持する。
古いバックアップを削除してストレージコストを削減する。
料金
無料です。 作成する EBS スナップショットの通常のストレージ料金を支払します。
前提条件
Amazon Data Lifecycle Manager アクセス許可 IAM ユーザーのアクセス権限
制限
リージョンごとに最大 100 のライフサイクルポリシーを作成できます。 リソースごとに最大 45 個のタグを追加できます。 ライフサイクルポリシーごとに 1 つのスケジュールを作成できます。
やってみる
下記の順でライフサイクルマネージャーを開く EC2 → ELASTIC BLOCK STORE → ライフサイクルマネージャー
設定内容は下記の様に記述します。
項目 | 設定内容 | コメント |
---|---|---|
説明* | AUTO-SNAPSHOT-PM0700 | ポリシーの説明 |
リソースタイプを選択します | インスタンス | ボリュームも選択可能 |
タグ | Dept:infra | |
ライフサイクルポリシーテキスト | Dept:infra | 最大 50 タグ |
スケジュール名 | Default Schedule | スケジュールの名称 |
ポリシーの実行間隔 | 12 | n 時間ごとにポリシーを実行 |
開始時刻 | 07:00 | ポリシー実行の開始予定時刻 |
Retention type | Count | ※下記詳細説明がある |
Retain | 2 |
リソースタイプの追加説明:
リソースタイプ: –バックアップするリソースのタイプ。VOLUME を使用して個々のボリュームのスナップショットを作成するか、INSTANCE を使用してインスタンスのボリュームからマルチボリュームスナップショットを作成します。
項目追加説明:
ポリシーの実行間隔
サポートされている値は 2、3、4、6、8、12、24 です
開始時刻
初回のポリシー実行は、予定時刻から 1 時間以内に開始されます。
Retention type
「Count」を選択する場合、「Retain」は保持するスナップショットの数。 この数を超える最も古いスナップショットが削除の対象になります。世代という意味です。 「Age」を選択する場合、「Interval」はスナップショットを保持する期間。 この期間が過ぎると、スナップショットは削除されます。「Interval Unit」は間隔の単位、「Days、Weeks、Months、Years」を選択できます。
項目追加説明:
ボリュームからタグをコピーする
ボリュームのタグを流用します。
変数タグ
自動的にinstance-idや、timestampを設定できます、デフォルト設定でOKです。
その他のタグを追加します
適当に追加してください。
項目追加説明:
高速スナップショット復元
–高速スナップショット復元を有効化するかどうかや、どのアベイラビリティーゾーンにおいて有効化するか選択できます。高速スナップショット復元を有効化できるスナップショットの最大数も指定できます。
クロスリージョンコピー
最大で 3 つの別リージョンに各スナップショットをコピーできます。
追加説明:
IAM ロール:
スナップショットを作成、削除および記述できる権限と、ボリュームを記述できる権限を持つ IAM ロール。AWS からデフォルトロール AWSDataLifecycleManagerDefaultRole が提供されます。または、カスタム IAM ロールを作成できます。 今回は「デフォルトのロールを使用」を選択します。
作成後のポリシーのステータス:
**[ポリシーの有効化] を選択して、次の予定時刻にポリシー実行が開始されるようにするか、[ポリシーの無効化] を選択してポリシーが実行されないようにすることができます。
作成されたポリシーを確認する
実行結果確認
無事作成終了しました。
まとめ
スケジュールより自動バックアップを実行して、EBSが世代管理も出来るし、最大何年か保存できます、それは便利ですね。 ちょっとだけですね、スケジュール式はcron式をサポートできれば、便利だと思います。 例えば、毎週の日曜はサーバ定期停止して、バックアップが不要の場合、cron式が非常に便利になります。
以上です。