概要
Amazon Data Lifecycle Manager(DLM)は、EBS ボリュームのスナップショットや EBS-backed AMI のライフサイクルを自動化するサービスです。スナップショットの作成・保持・削除のスケジュールをポリシーとして定義することで、手動操作なしにバックアップ運用を実現します。
EBS ボリュームのバックアップは運用上不可欠ですが、手動での管理ではスナップショットの取得忘れや、古いスナップショットの蓄積によるコスト増加が発生しがちです。DLM を使うことで、こうした課題を解消し、一貫したバックアップポリシーを適用できます。
本記事では、DLM のライフサイクルポリシーを作成し、EBS スナップショットの自動取得と保持数管理を体験します。

この記事のメリット
- Amazon Data Lifecycle Manager の基本概念とユースケースを理解できる
- ライフサイクルポリシーの構成要素(ターゲットタグ、スケジュール、保持ルール)を把握できる
- マネジメントコンソールから EBS スナップショットポリシーを作成する手順を習得できる
- タグベースでバックアップ対象を指定する方法を体験できる
- スナップショットの自動管理によるコスト最適化のアプローチを理解できる
キャラクター紹介
クラウド資格実践ラボの基礎学習記事では、ルクシーちゃんと代表の土肥が対話形式で AWS 認定試験で必要な知識をハンズオンとともに解説していくブログです。これからこのブログを案内する2人を紹介します。

ルクシーちゃん
クラウド資格に挑戦中の好奇心旺盛なナビゲーター。初学者目線で「これってなんだろう?」と素朴な疑問を投げかけ、知識を引き出していく役どころ。難しい内容も、ルクシーちゃんと一緒なら一歩ずつ理解できると思います!
土肥(とひ)
株式会社Luxyの代表であり同社の元エンジニア。これまでオンプレとAWS環境のインフラを担当。AWS認定資格の学習で得た知識をハンズオンとともに解説するのが得意。直近では新人の教育なども行っており、これから技術を学ぼうという方が納得できるように解説できることに喜びを感じているとのこと。

技術解説
Amazon Data Lifecycle Manager とは
Luxyちゃんとひさん、EBS のスナップショットって手動で取ってるんですけど、つい忘れちゃうことがあるんですよね。自動化する方法ってありますか?
まさにそのための仕組みが Amazon Data Lifecycle Manager、略して DLM だよ。EBS スナップショットと EBS-backed AMI の作成・保持・削除を自動化してくれるサービスなんだ。



ライフサイクルっていうくらいだから、作るだけじゃなくて削除まで面倒を見てくれるんですね!
そうそう。ライフサイクルポリシーを定義するだけで、スケジュールに基づいたバックアップ運用が実現できるんだ。DLM が対応するポリシータイプは3種類あるよ。
| ポリシータイプ | 対象 | 用途 |
|---|---|---|
| EBS スナップショットポリシー | EBS ボリューム | ボリュームのスナップショットを定期取得 |
| EBS-backed AMI ポリシー | EC2 インスタンス | インスタンスの AMI を定期取得 |
| クロスアカウントコピーイベントポリシー | スナップショット | 別アカウントからコピーされたスナップショットの管理 |



AMI の定期取得や、別アカウントへのコピーまで対応してるんですか?
うん。今回はスナップショットポリシーにフォーカスするけど、DR 構成でクロスアカウントコピーを使うケースもあるから覚えておくといいよ。
ライフサイクルポリシーの構成要素



ライフサイクルポリシーって、具体的にはどんな設定項目があるんですか?
ポリシーは主に5つの要素で構成されるよ。まとめるとこんな感じだね。
| 要素 | 説明 |
|---|---|
| ポリシータイプ | スナップショットポリシー、AMI ポリシーなど |
| ターゲットタグ | バックアップ対象のリソースを特定するタグ(キーと値のペア) |
| スケジュール | スナップショット取得の頻度(2時間、3時間、4時間、6時間、8時間、12時間、24時間ごと) |
| 保持ルール | スナップショットを保持する数または期間 |
| IAM ロール | DLM がスナップショットを操作するための権限 |





なるほど、「何を」「いつ」「どれだけ残すか」を決めるわけですね!
その通り。ターゲットタグで「何を」、スケジュールで「いつ」、保持ルールで「どれだけ残すか」を指定するんだ。IAM ロールは DLM がスナップショットを操作するための権限だから、デフォルトロールを使えば特に意識しなくて大丈夫だよ。



スケジュールの頻度って、2時間から24時間まで選べるんですか?自由な時間は指定できないんですね。
そうなんだ。選択肢は2時間、3時間、4時間、6時間、8時間、12時間、24時間ごとに決まっているよ。ほとんどのバックアップ要件にはこれで十分だね。
ターゲットタグによる対象指定



ターゲットタグっていうのは、どういう仕組みですか?全部のボリュームが対象になるわけじゃないんですよね?
いい質問だね。DLM はタグベースでバックアップ対象のリソースを特定するんだ。例えば、タグ Backup=true を持つ EBS ボリュームだけを対象にする、といった指定ができるよ。



つまり、重要なボリュームだけにタグを付けておけば、そこだけバックアップされるんですね!
そういうこと。すべてのボリュームを一律にバックアップするのではなく、重要度やバックアップ頻度に応じた柔軟な運用ができるのがポイントだよ。本番環境は毎日、開発環境は週1回、みたいな使い分けもタグを変えるだけで実現できるんだ。
保持ルール



保持ルールって、古いスナップショットを自動で消してくれるんですか?
うん、保持方法は2種類あるよ。
- 数ベースの保持: 指定した数のスナップショットを保持し、それを超えると古いものから削除される(例: 最新5世代を保持)
- 期間ベースの保持: 指定した期間が経過したスナップショットを削除する(例: 7日間保持)



数と期間、どっちを使うのがいいんですか?
ケースバイケースだけど、数ベースのほうがコストを予測しやすいから使いやすいかな。「最新5世代を保持」にしておけば、スナップショットが際限なく増えることを防げるよ。期間ベースは「最低7日間は復元できるようにしたい」みたいなコンプライアンス要件があるときに便利だね。



目的に応じて使い分ければいいんですね!これで安心してバックアップを任せられそうです。
実践
前提条件
- リージョン:
ap-northeast-1(東京) - バックアップ対象の EBS ボリュームが1つ以上存在すること(EC2 インスタンスにアタッチされたボリュームで可)
- 対象ボリュームにタグ
Backup=trueが設定されていること
| リソース種別 | リソース名 | 用途 |
|---|---|---|
| ライフサイクルポリシー | daily-snapshot-policy | EBS スナップショットの日次自動取得 |
| IAM ロール | (デフォルトロールを使用) | DLM がスナップショットを操作するための権限 |
対象ボリュームにタグを設定する
- AWS マネジメントコンソールにログインし、リージョンが
ap-northeast-1(東京)であることを確認します - 上部の検索バーに
EC2と入力し、表示された「EC2」を選択します - 左側ナビゲーションの「Elastic Block Store」→「ボリューム」を選択します
- バックアップ対象のボリュームを選択し、「タグ」タブを開きます
- 「タグを管理」をクリックし、以下のタグを追加します
- キー:
Backup - 値:
true - 「保存」をクリックします


ライフサイクルポリシーを作成する
- 左側ナビゲーションの「Elastic Block Store」→「ライフサイクルマネージャー」を選択します
- 「ポリシータイプ」で「EBS スナップショットポリシー」を選択します
- 「次のステップ」をクリック
- 以下の項目を入力します
- ターゲットリソースタグ:
- タグキー:
Backup - タグ値:
true
- タグキー:
- 説明:
daily-snapshot-policy - IAM ロール: 「デフォルトロール」を選択
- 「次へ」をクリック


スケジュールを設定する
- 「スケジュール」セクションで以下を設定します
- スケジュール名:
daily-schedule - 頻度:
24 - 毎:
24時間ごと - 開始時刻:
09:00UTC(日本時間18:00) - 保持タイプ:
カウント - 保持する数:
5 - その他の項目はデフォルトのままにします


- 「ポリシーを作成」をクリックします
作成したポリシーを確認する
- ライフサイクルマネージャーの一覧画面に戻り、作成したポリシーが表示されることを確認します
- ポリシーのステータスが「ENABLED」であることを確認します
- ポリシー ID をクリックして詳細画面を開きます
- ターゲットタグ、スケジュール、保持ルールが設定どおりであることを確認します


スナップショットの自動作成を確認する
スケジュールの開始時刻を過ぎると、DLM によってスナップショットが自動作成されます。
- 左側ナビゲーションの「Elastic Block Store」→「スナップショット」を選択します
- DLM によって作成されたスナップショットには、
aws:dlm:lifecycle-policy-idタグが自動的に付与されます - スナップショットの「タグ」タブで、ポリシー ID に対応するタグが付与されていることを確認します


まとめ
- Amazon Data Lifecycle Manager は EBS スナップショットの作成・保持・削除を自動化するサービス
- ライフサイクルポリシーで対象リソース、スケジュール、保持ルールを定義する
- ターゲットタグを使って、バックアップ対象のボリュームを柔軟に指定できる
- 保持ルールは「数ベース」と「期間ベース」の2種類から選択可能
- DLM が作成したスナップショットには
aws:dlm:lifecycle-policy-idタグが自動付与される - 手動でのスナップショット管理から脱却し、取得忘れやコスト増加を防止できる









