みなさんこんにちは。
RyzenリフレッシュやB550マザーボードの発表で自作PC熱が高まっている構築担当の川合です。
今回は、AWSでスナップショットの取得を自動化できるData Lifecycle Managerを利用してスナップショットの保持期間を少しカスタマイズしてみようと思います。
先日スナップショットの取得間隔が1時間単位から設定できるようになり耐障害性として非常に扱いやすくなりました。
概要
DLMの動作検証のために、スナップショット対象のEBSを2個接続したEC2のインスタンスを1台作成します。
OSは、CentOS7系最新バージョンを利用しています。
/dev/xvda1 xfs 20G 4.4G 16G 22% /
/dev/xvdf1 ext4 99G 61M 94G 1% /add_disk1
20GBのEBSをルートデバイスに、100GBのEBSを追加でマウントしています。
設定作業
まず、スナップショットを取得する対象判別するタグを設定します。
今回は、【Back:TRUE】 というタグが付いている上記のEC2インスタンスを取得対象とします。
DLMのポリシー自体にもタグが付けられるので、【Name:customize】というタグを付けてみます。
スナップショットを取得するスケジュールですが、スケジュール名はデフォルトのままで設定します。
スナップショットを取得頻度は、1時間毎。スナップショットを取得を開始する時間は、11時から取得するように設定します。
※UTC表記なので、実際はUTC+9の時間から開始するので注意
今回は、個数ではなく保持期間で設定します。単位は日で間隔は3。3日後に削除するように設定します。
保持期間は3日間に設定していますので、3日経過した古いスナップショットは順次削除されていきます。
指定する個数が多くなる、もしくは長期間設定するなどであれば期間で指定する方が楽でよいかと思います。
タグについては、自動で生成されるものと元々EBSに付けているタグをコピーして
新しく【DLM:ON】というタグを付与する設定にしています。
※DLMでバックアップしていると分かるように
別途費用が発生しますが、スナップショットのリストアを早くしたり別のリージョンにスナップショットをコピー設定する設定も追加できます。
オプションで、rootボリュームのEBSを除外することも可能です。今回の構成だと20GBのEBSがスナップショットの対象から除外されます。
※ちなみに、あえて英語表記にしているのはこのオプションが日本語だと欠けて見えないためです
日本語だと以下のようになっていまいます。肝心な【除外する】という部分が見えないのでご注意下さい。
IAMロールは、用意させているデフォルトのもの(サービスロール)を利用します。
最後に設定結果が表示されるので、有効化にチェックを入れてポリシーを作成します。
まとめ
とりあえず、バックアップ用途のために有効化していたりするDLMですが
どんどんアップデートされ新しい機能が追加されていくので定期的に確認していきたいと思います。
日本語表記がおかしくなっていたら、コンソールの言語を英語に変更して
どんな内容なのか確認してもらえればと思います。
※私もよくわからないまま、間違った認識で途中まで検証してしまっていたので
問題なくDLMが動作すると、1回の動作で2個スナップショットが作成されます。
rootデバイスを除外していないため、20GBのEBSと100GBのEBSが両方スナップショットでバックアップされています。
プロフィール
サーバ構築周り全般を対応しております。
LINK
クラウドベリージャム:プロフィールページ