zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

【AWS Backup】2時間おきにEBSのスナップショットを取る

【前置】

先日の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日保持された後自動削除されていくことになります。