【前置】
先日のAWS障害でスナップショットから復旧(http://zuntan02.hateblo.jp/entry/2019/08/26/092722)
したのだけど、自前で配置してたセルフスナップショットshの頻度がデイリーだったので、ちょっとログが抜けてしまった。
クリティカルなサービスではないし、cronの頻度を上げればいいだけの話なんだけど、せっかく[AWS Backup]というサービスが使えるようになったので試しに使ってみた
【目標】
- 2時間おき(※)にスナップショットをとる
- スナップショットは10日保持したのち削除する
※startWindowMinutesが最短でも60分であるため、毎時実行させると1時間のうちに2回スナップショットがとられたりしていまいち。最短でも2時間に1回が妥当と思われた。
【作業】
1)事前にバックアップしたいEBSのIDをメモる。
EBS ID vol-hogehogefugafuga
2)バックアッププランとルールを作成する
[AWSマネージメントコンソール]-[AWS Backup]-[バックアッププラン]-[バックアッププランを作成]-[新しいプランを立てる]
バックアッププラン名:10days-Backup
バックアップルールの設定
ルール名:Every2hours-10days-Backup
スケジュール:
→プルダウンでは最短でも12時間ごとしか選べないので、ここでは[カスタムcron式]を選択
Cron式は以下のとおりとする
cron(0 0/2 * * ? *)
バックアップウィンドウ
バックアップウィンドウをカスタマイズ:数時間以内にバックアップを開始:1
ライフサイクル
- コールドストレージへの移行:しない
- 有効期限切れ:作成後の日数:10
バックアップボールト:Default
復旧ポイントに追加されたタグ:任意
バックアッププランに追加されたタグ:任意
上記で[プランを作成]
3)プランにリソースを割り当てる
リソース割り当て名:サーバ名など
IAM ロール:デフォルトのロール
リソースを割り当てる:割り当て単位(ここではリソースID)、リソースタイプ(ここではEBS)、ボリュームIDなどを選択
以上で、(およそ)2時間おきにスナップショットが作成され、10日保持された後自動削除されていくことになります。