経緯
EC2インスタンスのバックアップを定期的に取得したい。
Lifecycle Manager でも定期的にバックアップを取得できるがEBSボリュームのスナップショット取得のみなので、AMIで取得する設定をAWS Backupで行いたい。
参考:AWS BackupとLifecycle Managerの違いってなに?使い分けを考えてみる
スケジュール設定
AWS Backupを使用する。
参考:AWS Backup とは
バックアップボールドの作成
AWS Backup > バックアップボールト より 「バックアップボールドを作成」
- バックアップボールド名を入力
- 「バックアップボールドを作成」押下
バックアッププランの作成
AWS Backup > バックアッププラン より 「バックアッププランを作成」
新しいプランを立てる
- バックアッププラン名を入力
バックアップルールの設定
- バックアップルール名を入力
- 「バックアップボールド」で先ほど作成したものを選択
- 「バックアップ頻度」で設定したいスケジュール(毎時・12時間ごと・毎日・毎週・毎月)を選択する。選択肢にない場合はカスタムcronを選び、式を入力する
- 「バックアップウィンドウ」で「バックアップウィンドウをカスタマイズ」を選択
- 「バックアップウィンドウの開始時間」でバックアップを行いたい時間をUTCで入力
- 「次の時間以内に開始」「次の時間以内に完了」にそれぞれ時間を設定
- 「保持期間」を設定 ※これがLifecycle Managerでの世代管理
- 「プランを作成」押下
リソースを割り当てる
-
「リソース割り当て名」入力
-
「IAMロールを選択」でロールを選択
-
1.リソース選択を定義 で「特定のリソースタイプを含める」を選択:「EC2」選択
-
2・3・4でリソースを設定し、「リソースを割り当てる」:対象EC2のインスタンスIDを指定
-
バックアッププランが作成されたら、必要分のリソースやプランの追加
履歴の確認
- AWS Backup > バックアップボールト > 該当のボールド名 より、復旧ポイントやステータスを確認
- AWS Backup > ジョブ より、時間になったらバックアップ履歴を確認
注意点
- バックアップルール以外は作成したら編集ができないため、名前変更などの際は再作成の必要がある。
- バックアップウィンドウの「次の時間以内に開始」では、設定した開始時間からどのくらいの時間内で開始するかの設定。「次の時間以内に開始」が1時間以内、「次の時間以内に完了」が2時間以内だと、バックアップが設定した開始時間から2時間以内に行われる。その時間以内に設定された別のスケジュールはスキップされる(保存期間が長いものが優先される)
- 複数のバックアッププランで時間が被ると、保存期間が長い方が保存される。
- EC2 のスナップショットの画面で AWS Backup で取得したかを確認するには、タグを aws:backup:source-resource で検索。
- ログの確認は CloudTrail > イベント履歴 「DescribeRecoveryPoint」を確認。
- バックアップウィンドウの開始・完了を最短(1時間以内に開始、2時間以内に完了)にしてもバックアップに20~30分ほどかかる場合が多いので注意。