【AWSサービス 基礎編】 Amazon Data Lifecycle Manager で EBS スナップショットを自動管理する

目次

概要

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 の作成・保持・削除を自動化してくれるサービスなんだ。

Luxyちゃん

ライフサイクルっていうくらいだから、作るだけじゃなくて削除まで面倒を見てくれるんですね!

土肥

そうそう。ライフサイクルポリシーを定義するだけで、スケジュールに基づいたバックアップ運用が実現できるんだ。DLM が対応するポリシータイプは3種類あるよ。

ポリシータイプ対象用途
EBS スナップショットポリシーEBS ボリュームボリュームのスナップショットを定期取得
EBS-backed AMI ポリシーEC2 インスタンスインスタンスの AMI を定期取得
クロスアカウントコピーイベントポリシースナップショット別アカウントからコピーされたスナップショットの管理
Luxyちゃん

AMI の定期取得や、別アカウントへのコピーまで対応してるんですか?

土肥

うん。今回はスナップショットポリシーにフォーカスするけど、DR 構成でクロスアカウントコピーを使うケースもあるから覚えておくといいよ。

ライフサイクルポリシーの構成要素

Luxyちゃん

ライフサイクルポリシーって、具体的にはどんな設定項目があるんですか?

土肥

ポリシーは主に5つの要素で構成されるよ。まとめるとこんな感じだね。

要素説明
ポリシータイプスナップショットポリシー、AMI ポリシーなど
ターゲットタグバックアップ対象のリソースを特定するタグ(キーと値のペア)
スケジュールスナップショット取得の頻度(2時間、3時間、4時間、6時間、8時間、12時間、24時間ごと)
保持ルールスナップショットを保持する数または期間
IAM ロールDLM がスナップショットを操作するための権限
Luxyちゃん

なるほど、「何を」「いつ」「どれだけ残すか」を決めるわけですね!

土肥

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

Luxyちゃん

スケジュールの頻度って、2時間から24時間まで選べるんですか?自由な時間は指定できないんですね。

土肥

そうなんだ。選択肢は2時間、3時間、4時間、6時間、8時間、12時間、24時間ごとに決まっているよ。ほとんどのバックアップ要件にはこれで十分だね。

ターゲットタグによる対象指定

Luxyちゃん

ターゲットタグっていうのは、どういう仕組みですか?全部のボリュームが対象になるわけじゃないんですよね?

土肥

いい質問だね。DLM はタグベースでバックアップ対象のリソースを特定するんだ。例えば、タグ Backup=true を持つ EBS ボリュームだけを対象にする、といった指定ができるよ。

Luxyちゃん

つまり、重要なボリュームだけにタグを付けておけば、そこだけバックアップされるんですね!

土肥

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

保持ルール

Luxyちゃん

保持ルールって、古いスナップショットを自動で消してくれるんですか?

土肥

うん、保持方法は2種類あるよ。

  • 数ベースの保持: 指定した数のスナップショットを保持し、それを超えると古いものから削除される(例: 最新5世代を保持)
  • 期間ベースの保持: 指定した期間が経過したスナップショットを削除する(例: 7日間保持)
Luxyちゃん

数と期間、どっちを使うのがいいんですか?

土肥

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

Luxyちゃん

目的に応じて使い分ければいいんですね!これで安心してバックアップを任せられそうです。

実践

前提条件

  • リージョン: ap-northeast-1(東京)
  • バックアップ対象の EBS ボリュームが1つ以上存在すること(EC2 インスタンスにアタッチされたボリュームで可)
  • 対象ボリュームにタグ Backup = true が設定されていること
リソース種別リソース名用途
ライフサイクルポリシーdaily-snapshot-policyEBS スナップショットの日次自動取得
IAM ロール(デフォルトロールを使用)DLM がスナップショットを操作するための権限

対象ボリュームにタグを設定する

  • AWS マネジメントコンソールにログインし、リージョンが ap-northeast-1(東京)であることを確認します
  • 上部の検索バーに EC2 と入力し、表示された「EC2」を選択します
  • 左側ナビゲーションの「Elastic Block Store」→「ボリューム」を選択します
  • バックアップ対象のボリュームを選択し、「タグ」タブを開きます
  • 「タグを管理」をクリックし、以下のタグを追加します
  • キー: Backup
  • 値: true
  • 「保存」をクリックします
EBSボリュームのタグ管理画面(Backup=trueタグの追加)

ライフサイクルポリシーを作成する

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

スケジュールを設定する

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

作成したポリシーを確認する

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

スナップショットの自動作成を確認する

スケジュールの開始時刻を過ぎると、DLM によってスナップショットが自動作成されます。

  • 左側ナビゲーションの「Elastic Block Store」→「スナップショット」を選択します
  • DLM によって作成されたスナップショットには、aws:dlm:lifecycle-policy-id タグが自動的に付与されます
  • スナップショットの「タグ」タブで、ポリシー ID に対応するタグが付与されていることを確認します
DLMによって自動作成されたスナップショットの一覧(DLMタグが付与されている状態)
DLMによって自動作成されたスナップショットの一覧(DLMタグが付与されている状態)

まとめ

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

参照先

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社Luxy(https://luxy-inc.com)の代表取締役.

2018年〜インフラエンジニアとしてキャリアをスタートし、オンプレミスのネットワーク・サーバ環境で3年半、クラウド環境で4年半の8年間エンジニアとして従事。
2021年に佐藤氏の創業した会社を引き継ぎ、代表に就任。

目次