2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amazon DLMを使ってみた

Posted at

#はじめに
本記事は、Amazon Data Lifecycle Manager(DLM)を使用した際の備忘録として記載したものである。

#Amazon Data Lifecycle Manager(DLM)とは

##■概要/特徴

##■使用する上での注意点

  • バックアップスケジュールで指定した時刻から1時間以内にバックアップ処理が実行される仕組みである為、 バックアップで正確な時刻の指定はできない
    ※【例】毎日12時にバックアップするようにスケジュールしても、12時半に取得されることがある。
  • 指定する際の時刻はUTCの為、利用者側で日本時刻に修正して設定をする必要がある。
  • Amazon DLMは、タグで対象を判別している為、タグが変更された際に検知するソリューションを別途用意する必要がある。
    ※ターゲットタグを削除または変更してポリシーを変更すると、それらのタグを持つ EBS ボリュームまたはインスタンスはポリシーの管理を受けなくなります。

#作業の実施手順

##(0)前提条件

  • 実施環境はAWS CloudShellを使用するものとする。
  • Amazon DLM用のIAMロールが既に作成済みであること。※無い場合は以下のコマンドで作成する。
# aws dlm create-default-role
  • 本検証で使用するサーバー情報は以下となる。
バックアップボリュームのNameタグ バックアップ間隔 保管世代数 備考
TestServer_h 00時00分 60世代 TestServerのHドライブのボリュームを毎日00時に取得するバックアップスケジュール

##(1)バックアップスクリプトを作成

以下のバックアップスクリプトファイルを作成する。

TestServer_HVolumeDailySnapshot.json
{
  "ResourceTypes": ["VOLUME"],
  "TargetTags": 
  [
    {
      "Key": "Name",
      "Value": "TestServer_h"
    }
  ],
  "Schedules":
  [
    {
      "Name": "HVolume Daily backup",
      "CopyTags": true,
      "CreateRule": {
        "CronExpression": "cron(00 15 * * ? *)"
      },
      "RetainRule": {
        "Count":60
      }
    }
  ]
}

##(2)バックアップスケジュール(ライフサイクルポリシー)を作成

AWS CloudShellで、以下のコマンドを実行する。
※コマンド実行後、「Elastic Block Store > ライフサイクルマネージャー」にバックアップスケジュールが作成される。

aws dlm create-lifecycle-policy \
    --description "TestServer-HVolumeDailySnapshot" \
    --state ENABLED \
    --execution-role-arn arn:aws:iam::××××××××××××:role/service-role/AWSDataLifecycleManagerDefaultRole \
    --policy-details "file://TestServer_HVolumeDailySnapshot.json"

上記コマンドで指定した各種オプション

オプション 説明
--description ライフサイクルポリシー(バックアップスケジュール)の説明を記載
--state ライフサイクルポリシーを有効/無効を指定。(ENABLED or DISABLED)
--execution-role-arn 対象のarnを指定
--policy-details ライフサイクルポリシーの構成を設定

#最後に

■所感

  • バックアップスケジュールを作成する際に、タグ名の指定を間違えるとバックアップの処理に失敗するのだが、エラーメッセージなどは特に表示されなかったので、実施後は目視確認が必要だと感じた。
  • 今回は、CLI(AWS CloudShell)で実施したが、コンソールでの設定に比べると汎用性が高く、複数台のバックアップスケジュールを作成するのに適していると感じた。
  • 気軽にバックアップスケジュールを作成できるので、実用的だと感じた。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?