Amazon EBS スナップショットライフサイクルの自動化 - Amazon Elastic Compute Cloud

Amazon EBS スナップショットライフサイクルの自動化

Amazon Data Lifecycle Manager を使用して、Amazon EBS ボリュームをバックアップするスナップショットの作成、保持、削除を自動化できます。スナップショット管理を自動化すると、次のことができるようになります。

  • 定期的なバックアップスケジュールを実施して貴重なデータを保護する。

  • 監査担当者または社内のコンプライアンスが必要とするバックアップを保持する。

  • 古いバックアップを削除してストレージコストを削減する。

Amazon CloudWatch Events と AWS CloudTrail のモニタリング機能と組み合わせることで、Amazon Data Lifecycle Manager は EBS ボリューム用の完全バックアップソリューションを追加コストなしで提供します。

Amazon Data Lifecycle Manager の仕組み

以下はAmazon Data Lifecycle Managerの主要な要素です。

スナップショット

スナップショットは、EBS ボリュームからデータをバックアップするための主な手段です。ストレージコストを節約するために、連続するスナップショットは増分で、以前のスナップショット以降に変更されたボリュームデータのみが含まれています。ボリュームの一連のスナップショットでスナップショットを 1 つ削除すると、そのスナップショットに固有のデータだけが削除されます。キャプチャされたボリュームの残りの部分は保存されます。

詳細については、「Amazon EBS スナップショット」を参照してください。

[Target resource tags (ターゲットのリソースタグ)]

Amazon Data Lifecycle Manager はリソースタグを使用して、バックアップする EBS ボリュームを識別します。タグは、AWS リソース (EBS ボリュームとスナップショットを含む) に割り当てることのできるカスタマイズ可能なメタデータです。Amazon Data Lifecycle Manager ポリシー (後で説明) は、1 つのタグを使用するバックアップのボリュームをターゲットとします。ボリュームで複数のポリシーを実行する場合は、複数のタグをボリュームに割り当てることができます。

タグキーに「\」または「=」文字を使用することはできません。

詳細については、「リソースのタグ付け」を参照してください。

スナップショットタグ

Amazon Data Lifecycle Manager は、ポリシーによって作成されたすべてのスナップショットに次のタグを適用し、他の方法で作成されたスナップショットと区別します。

  • aws:dlm:lifecycle-policy-id

  • aws:dlm:lifecycle-schedule-name

  • aws:dlm:expirationTime

  • dlm:managed

作成時に、スナップショットに適用するカスタムタグを指定することもできます。

タグキーに「\」または「=」文字を使用することはできません。

Amazon Data Lifecycle Manager がボリュームをポリシーに関連付けるために使用するターゲットタグは、オプションで、ポリシーによって作成されたスナップショットに適用できます。

ライフサイクルポリシー

ライフサイクルポリシーは、以下のコア設定で構成されています。

  • リソースタイプ — ポリシーに基づき管理される AWS リソースのタイプを定義します。VOLUME を使用して個々のボリュームのスナップショットを作成するか、INSTANCE を使用してインスタンスのボリュームからマルチボリュームスナップショットを作成します。詳細については、「マルチボリュームスナップショット」を参照してください。

  • ターゲットタグ — ポリシーに基づき管理されるようにするには EBS ボリュームまたは Amazon EC2 インスタンスに関連付ける必要のあるタグを指定します。

  • スケジュール — スナップショット作成の開始時間と間隔を指定します。最初のスナップショットは、対応するポリシーに基づき、指定開始時刻から 1 時間以内に作成されます。後続のスナップショットは、スケジュールされた時間から 1 時間以内に作成されます。ポリシーには、最大 4 つのスケジュール (1 つの必須スケジュールと最大 3 つのオプションのスケジュール) を設定できます。詳細については、「ポリシースケジュール」を参照してください。

  • 保持期間 — スナップショットの保持方法を指定します。スナップショットの合計数または各スナップショットの保存期間に基づいて、スナップショットを保持できます。

例えば、キーが account で値 finance であるタグを持つすべての EBS ボリュームを管理し、24 時間ごとに 0900 UTC にスナップショットを作成して、最新の 5 つのスナップショットを保持するポリシーを作成できます。スナップショットの作成は、毎日 09:59 までに開始されます。

ポリシースケジュール

ポリシースケジュールは、ポリシーによってスナップショットが作成されるタイミングを定義します。ポリシーは、最大 4 つのスケジュール (1 つの必須スケジュールと、最大 3 つのオプションのスケジュール) を持つことができです。

1 つのポリシーに複数のスケジュールを追加すると、同じポリシーを使用して異なる頻度でスナップショットを作成できます。例えば、毎日、毎週、毎月、および毎年のスナップショットを作成する単一のポリシーを作成できます。これにより、複数のポリシーを管理する必要がなくなります。

スケジュールごとに、頻度、高速スナップショット復元設定、クロスリージョンのコピールール、およびタグを定義できます。スケジュールに割り当てられているタグは、スケジュールがトリガーされたときに作成されるスナップショットに自動的に割り当てられます。さらに、Amazon Data Lifecycle Manager は、スケジュールの頻度に基づいて、システム生成タグを各スナップショットに自動的に割り当てます。

各スケジュールは、その頻度に基づいて個別にトリガーされます。複数のスケジュールが同時にトリガーされた場合、Amazon Data Lifecycle Manager はスナップショットを 1 つだけ作成し、保持期間が最も長いスケジュールのスナップショット保持設定を使用します。トリガーされたすべてのスケジュールのタグがスナップショットに適用されます。

  • 複数のトリガーされたスケジュールで高速スナップショット復元が有効になっている場合、そのスナップショットは、すべてのトリガーされたスケジュールで指定されたすべてのアベイラビリティーゾーンで高速スナップショット復元が有効になり、トリガーされたスケジュールの最も長い保持設定が、各アベイラビリティーゾーンに対して使用されます。

  • 複数のトリガーされたスケジュールがクロスリージョンコピーで有効になっている場合、スナップショットはトリガーされたスケジュールで指定されたすべてのリージョンにコピーされ、トリガーされたスケジュールの最も長い保持期間が使用されます。

Amazon Data Lifecycle Managerに関する考慮事項

お客様の AWS アカウントには、Amazon Data Lifecycle Managerに関連する以下のようなクォータがあります。

  • リージョンごとに最大 100 のライフサイクルポリシーを作成できます。

  • リソースごとに最大 45 個のタグを追加できます。

  • ライフサイクルポリシーごとに最大 4 つのスケジュールを作成できます。

ライフサイクルポリシーには、次の考慮事項が適用されます。

  • アクティベーションステータスを有効に設定するまで、ポリシーはスナップショットの作成を開始しません。作成時にポリシーを有効にするように設定できます。

  • 最初のスナップショットは、対応するポリシーに基づき、指定開始時刻から 1 時間以内に作成されます。後続のスナップショットは、スケジュールされた時間から 1 時間以内に作成されます。

  • ターゲットタグを削除または変更してポリシーを変更すると、そのタグが付いている EBS ボリュームはポリシーの影響を受けなくなります。

  • ポリシーのスケジュール名を変更すると、古いスケジュール名で作成されたスナップショットはポリシーの影響を受けなくなります。

  • 時刻ベースの保持スケジュールを、新たな時間間隔を使用するスケジュールに修正すると、新たな時間間隔は、その後新たに作成されるスナップショットにのみ適用されます。新たなスケジュールが、このポリシーに基づき作成された既存スナップショットの保持スケジュールに影響を及ぼすことはありません。

  • ポリシーの保持スケジュールを、スナップショットの数から各スナップショットの保存期間に変更することはできません。この変更を行うには、新たなポリシーを作成する必要があります。

  • 各スナップショットの保存期間に基づく保持スケジュールを持つポリシーを無効にすると、ポリシーが無効になっている間に保持期間が終了したスナップショットは無期限に保持されます。これらのスナップショットは手動で削除する必要があります。ポリシーを再度有効にすると、Amazon Data Lifecycle Manager は保持期間の終了時にスナップショットの削除を再開します。

  • カウントベースの保持ポリシーの適用先のリソースを削除すると、以前に作成したスナップショットはポリシーで管理されなくなります。不要になったスナップショットは手動で削除する必要があります。

  • 経過時間ベースの保存期間が設定されたポリシーが適用されるリソースを削除しても、ポリシーは、定義されたスケジュールに従って、最後のスナップショットまでスナップショットを削除し続けます。最後のスナップショットが不要になった場合は、手動で削除する必要があります。

  • EBS ボリュームまたは Amazon EC2 インスタンスをバックアップするために複数のポリシーを作成できます。たとえば、EBS ボリュームに 2 つのタグがあり、タグ A が 12 時間ごとにスナップショットを作成するポリシー A のターゲットで、タグ B が 24 時間ごとにスナップショットを作成するポリシー B のターゲットである場合、Amazon Data Lifecycle Manager は両方のポリシーのスケジュールに従ってスナップショットを作成します。

以下は、ライフサイクルポリシーや高速スナップショット復元に関する考慮事項です。

  • 高速スナップショット復元が有効化されているスナップショットについては、対応するライフサイクルポリシーを削除もしくは無効化した場合、対応するライフサイクルポリシーの高速スナップショット復元を無効化した場合、または対応するアベイラビリティーゾーンの高速スナップショット復元を無効化した場合であっても、当該復元は有効に保たれます。このようなスナップショットについては、手動で高速スナップショット復元を無効化できます。

  • 高速スナップショット復元の有効化中に、有効化できるスナップショットの最大数を超えると、Amazon Data Lifecycle Managerはスケジュールに沿ったスナップショット作成は行うものの、作成したスナップショットの高速スナップショット復元は有効化しません。高速スナップショット復元が有効化されているスナップショットが削除されると、その次にAmazon Data Lifecycle Managerが作成するスナップショットの高速スナップショット復元が有効化されます。

  • あるスナップショットの高速スナップショット復元を有効化すると、当該スナップショットが最適化されるまでに、TiB あたり 60 分の時間がかかります。弊社は、Amazon Data Lifecycle Managerが次のスナップショットを作成する前に各スナップショットが完全に最適化されるようなスケジュールの作成を推奨しています。

  • 特定のアベイラビリティーゾーンでスナップショットの高速スナップショット復元を有効にしている時間中は、請求が発生します。料金は 1 時間を最小として時間単位で計算されます。詳細については、「価格と請求」を参照してください。

    注記

    ライフサイクルポリシーの設定によっては、複数のスナップショットに対して同時に高速スナップショット復元を有効にすることができます。

ライフサイクルポリシーおよび マルチアタッチ が有効なボリュームには、次の考慮事項が適用されます。

  • マルチボリュームスナップショットのインスタンスタグに基づいてライフサイクルポリシーを作成する場合、Amazon Data Lifecycle Manager はアタッチされたインスタンスごとにボリュームのスナップショットを開始します。timestamp タグを使用して、アタッチされたインスタンスから作成された時間整合性のあるスナップショットのセットを識別します。

前提条件

以下は、Amazon Data Lifecycle Manager使用の前提条件です。

Amazon Data Lifecycle Manager アクセス許可

Amazon Data Lifecycle Manager は IAM ロールを使用して、ユーザーの代わりにスナップショットを管理するために必要なアクセス許可を取得します。Amazon Data Lifecycle Manager は、最初に AWS マネジメントコンソール を使用してライフサイクルポリシーを作成するときに、AWSDataLifecycleManagerDefaultRole を作成します。次のように、create-default-role コマンドを使用してこのロールを作成することもできます。

aws dlm create-default-role

また、必要なアクセス権限を持つカスタム IAM ロールを作成し、ライフサイクルポリシーを作成するときにそのロールを選択することもできます。

カスタム IAM ロールを作成するには

  1. 次のアクセス許可でロールを作成します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateSnapshot", "ec2:CreateSnapshots", "ec2:DeleteSnapshot", "ec2:DescribeVolumes", "ec2:DescribeInstances", "ec2:DescribeSnapshots" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::snapshot/*" } ] }

    詳細については、『IAM ユーザーガイド』の「ロールの作成」を参照してください。

  2. ロールに信頼関係を追加します。

    1. IAM コンソールで、[ロール] を選択します。

    2. 作成したロールを選択し、[信頼関係] を選択します。

    3. [信頼関係の編集] を選択して、次のポリシーを追加し、[信頼ポリシーの更新] を選択します。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dlm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

IAM ユーザーのアクセス許可

IAM ユーザーが Amazon Data Lifecycle Manager を使用するには、次のアクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["iam:PassRole", "iam:ListRoles"], "Resource": "arn:aws:iam::123456789012:role/AWSDataLifecycleManagerDefaultRole" }, { "Effect": "Allow", "Action": "dlm:*", "Resource": "*" } ] }

詳細については、『IAM ユーザーガイド』の「IAM ユーザーのアクセス許可の変更」を参照してください。

暗号化されたスナップショットのアクセス許可

暗号化されたスナップショットをリージョン間でコピーするには、AWS Key Management Service (AWS KMS) からコピー元とコピー先のカスタマーマスターキー (CMK) の両方にアクセスできる必要があります。

ソースボリュームが暗号化されている場合は、AWSDataLifecycleManagerDefaultRole に、ボリュームの暗号化に使用する CMK を使用するアクセス許可があることを確認してください。クロスリージョンコピーを有効にし、コピーしたスナップショットを暗号化することを選択した場合は、AWSDataLifecycleManagerDefaultRole に、コピー先リージョンでスナップショットを暗号化するのに必要な CMK を使用するアクセス許可があることを確認してください。詳細については、AWS Key Management Service Developer Guide の「AWS KMS CMK へのアクセスの管理」を参照してください。

コンソールを使用したバックアップの管理

次の例は、Amazon Data Lifecycle Manager を使用して、EBS ボリュームのバックアップをAWS マネジメントコンソールで管理する方法を示しています。

ライフサイクルポリシーの作成

次の手順に従ってライフサイクルポリシーを作成します。

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

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Elastic Block Store]、[Lifecycle Manager]、[スナップショットライフサイクルポリシーの作成] の順に選択します。

  3. 必要に応じて、ポリシーに次の情報を入力します。

    • [説明] –ポリシーの説明。

    • [リソースタイプ] –バックアップするリソースのタイプ。Volume を使用して個々のボリュームのスナップショットを作成するか、Instance を使用してインスタンスのボリュームからマルチボリュームスナップショットを作成します。

    • [タグ付きターゲット] –バックアップするボリュームまたはインスタンスの識別情報となるリソースタグ。

    • [ライフサイクルポリシータグ] –ライフサイクルポリシーのタグ。

  4. [IAM ロール] では、スナップショットを作成、削除、記述し、ボリュームを記述するアクセス許可のある IAM ロールを選択します。AWS からデフォルトロール AWSDataLifecycleManagerDefaultRole が提供されます。または、カスタム IAM ロールを作成できます。

  5. ポリシースケジュールを追加します。スケジュール 1 は必須です。スケジュール 2、3、および 4 はオプションです。ポリシースケジュールごとに、次の情報を指定します。

    • [スケジュール名] –スケジュールの名称。

    • 頻度 – ポリシーの実行間隔。ポリシーの実行は、日次、週次、月次、年次のいずれかのスケジュールで設定できます。または、[カスタム cron 式] をクリックし、最長 1 年の間隔を指定します。詳細については、Amazon CloudWatch Events ユーザーガイドの「Cron 式」を参照してください。

    • hh mm [UTC] [Starting at (に開始) – ポリシー実行の開始予定時刻。初回のポリシー実行は、予定時刻から 1 時間以内に開始されます。

    • [Retention type (保持タイプ)] – スナップショットの合計数または各スナップショットの保存期間に基づいて、スナップショットを保持できます。数に基づく保持の場合、数の範囲は 1~1000 です。この最大数に達すると、新しいスナップショットの作成時に最も古いスナップショットが削除されます。保存期間に基づく保持の場合、保存時間の範囲は 1~100 年です。各スナップショットの保持期間が終了すると、スナップショットは削除されます。保持期間は、作成間隔以上でなければなりません。

      注記

      すべてのスケジュールは、同じ保持タイプである必要があります。保持タイプを指定できるのは、スケジュール 1 のみです。スケジュール 2、3、4 は、スケジュール 1 から保持タイプを継承します。各スケジュールには、独自の保持回数または期間を設定できます。

    • [タグ付け情報] –ソースボリュームに付いているすべてのユーザー定義タグを、このポリシーに基づき作成されるスナップショットにコピーするかどうか選択できます。Amazon Data Lifecycle Manager が適用するタグに加え、該当スナップショット用の追加タグを指定することもできます。リソースタイプが INSTANCE の場合には、instance-id および timestamp の変数タグを使用してスナップショットに自動的にタグを付けることを選択できます。変数タグの値は、タグの追加時に決定されます。

    • 高速スナップショット復元 – このポリシーで作成したすべてのスナップショットに対して高速スナップショット復元を有効にするかどうかを選択します。高速スナップショット復元を有効にする場合は、特定のアベイラビリティーゾーンを選択する必要があります。特定のアベイラビリティーゾーンでスナップショットの高速スナップショット復元を有効にしている時間中は、請求が発生します。料金は 1 時間を最小として時間単位で計算されます。高速スナップショット復元を有効にするスナップショットの最大数を指定することもできます。

    • クロスリージョンコピーを有効化 – 最大で 3 つの別のリージョンに各スナップショットをコピーできます。リージョンごとのスナップショットの同時コピー数を超えないようにする必要があります。リージョンごとに、異なる保持ポリシーを選択できます。また、すべてのタグをコピーするか、いずれのタグもコピーしないかを選択できます。ソーススナップショットが暗号化されている場合、または暗号化がデフォルトで有効化されている場合には、コピースナップショットも暗号化されます。ソーススナップショットが暗号化されていない場合には、暗号化できます。CMK を指定しない場合、スナップショットは、各コピー先リージョンにおける EBS 暗号化用のデフォルトキーを使用して暗号化されます。コピー先のリージョンの CMK を指定する場合は、CMK へのアクセスが必要です。

  6. [Policy status after creation (作成後のポリシーの状態)] では、[Enable policy (ポリシーの有効化)] を選択すると、次のスケジュールした時刻にポリシーが実行されます。ポリシーが実行されないようにするには、[Disable policy (ポリシーの無効化)] を選択します。

  7. [Create Policy (ポリシーの作成)] を選択します。

ライフサイクルポリシーの表示

次の手順に従ってライフサイクルポリシーを表示します。

ライフサイクルポリシーを表示するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで [Elastic Block Store]、[ライフサイクルマネージャー] の順に選択します。

  3. リストからライフサイクルポリシーを選択します。[詳細] タブには、ポリシーに関する情報が表示されます。

ライフサイクルポリシーの変更

次の手順に従ってライフサイクルポリシーを変更します。

ライフサイクルポリシーを変更するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで [Elastic Block Store]、[ライフサイクルマネージャー] の順に選択します。

  3. リストからライフサイクルポリシーを選択します。

  4. [アクション]、[スナップショットライフサイクルポリシーの修正] の順に選択します。

  5. 必要に応じてポリシー設定を修正します。具体例を挙げると、スケジュールを修正する、タグを追加もしくは削除する、またはポリシーを有効化もしくは無効化することができます。

  6. [ポリシーの更新] を選択します。

ライフサイクルポリシーの削除

次の手順に従ってライフサイクルポリシーを削除します。

注記

Amazon Data Lifecycle Manager によって作成されたスナップショットだけを削除できます。

ライフサイクルポリシーを削除するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで [Elastic Block Store]、[ライフサイクルマネージャー] の順に選択します。

  3. リストからライフサイクルポリシーを選択します。

  4. [アクション]、[スナップショットライフサイクルポリシーの削除] の順に選択します。

  5. 確認を求められたら、[スナップショットライフサイクルポリシーの削除] を選択します。

AWS CLI を使用したバックアップの管理

次の例は、Amazon Data Lifecycle Manager を使用して EBS ボリュームのバックアップを AWS CLI で管理する方法を示しています 。

ライフサイクルポリシーの作成

ライフサイクルポリシーを作成するには、create-lifecycle-policy コマンドを使用します。構文を簡略化するために、この例では、ポリシーの詳細を含む JSON ファイル、policyDetails.json を使用しています。

この例では、VOLUME のリソースタイプを使用して、指定されたターゲットタグを持つすべてのボリュームのスナップショットを作成します。指定されたターゲットタグを持つすべてのインスタンスのすべてのボリュームのスナップショットを作成するには、代わりに INSTANCE のリソースタイプを使用します。ポリシーには、2 つのスケジュールが含まれます。最初のスケジュールでは、毎日 03:00 UTC にスナップショットが作成されます。2 番目のスケジュールでは、毎週金曜日の 17:00 (UTC) に週次のスナップショットが作成されます。

aws dlm create-lifecycle-policy --description "My volume policy" --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole --policy-details file://policyDetails.json

次は、policyDetails.json ファイルの例です。

{ "ResourceTypes": [ "VOLUME" ], "TargetTags": [{ "Key": "costcenter", "Value": "115" }], "Schedules": [{ "Name": "DailySnapshots", "TagsToAdd": [{ "Key": "type", "Value": "myDailySnapshot" }], "CreateRule": { "Interval": 24, "IntervalUnit": "HOURS", "Times": [ "03:00" ] }, "RetainRule": { "Count": 5 }, "CopyTags": false }, { "Name": "WeeklySnapshots", "TagsToAdd": [{ "Key": "type", "Value": "myWeeklySnapshot" }], "CreateRule": { "CronExpression": "cron(0 0 17 ? * FRI *)" }, "RetainRule": { "Count": 5 }, "CopyTags": false } ] }

成功すると、このコマンドは新しく作成されたポリシーの ID を返します。出力例を次に示します。

{ "PolicyId": "policy-0123456789abcdef0" }

ライフサイクルポリシーの表示

ライフサイクルポリシーに関する情報を表示するには、get-lifecycle-policy コマンドを使用します。

aws dlm get-lifecycle-policy --policy-id policy-0123456789abcdef0

出力例を次に示します。これには、指定した情報と AWS によって挿入されたメタデータが含まれます。

{ "Policy":{ "Description": "My first policy", "DateCreated": "2018-05-15T00:16:21+0000", "State": "ENABLED", "ExecutionRoleArn": "arn:aws:iam::210774411744:role/AWSDataLifecycleManagerDefaultRole", "PolicyId": "policy-0123456789abcdef0", "DateModified": "2018-05-15T00:16:22+0000", "PolicyDetails": { "PolicyType":"EBS_SNAPSHOT_MANAGEMENT", "ResourceTypes": [ "VOLUME" ], "TargetTags": [ { "Value": "115", "Key": "costcenter" } ], "Schedules": [ { "TagsToAdd": [ { "Value": "myDailySnapshot", "Key": "type" } ], "RetainRule": { "Count": 5 }, "CopyTags": false, "CreateRule": { "Interval": 24, "IntervalUnit": "HOURS", "Times": [ "03:00" ] }, "Name": "DailySnapshots" } ] } } }

ライフサイクルポリシーの変更

ライフサイクルポリシーに関する情報を変更するには、update-lifecycle-policy コマンドを使用します。構文を簡略化するために、この例では、ポリシーの詳細を含む JSON ファイル、policyDetailsUpdated.json を参照しています。

aws dlm update-lifecycle-policy --state DISABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole" --policy-details file://policyDetailsUpdated.json

次は、policyDetailsUpdated.json ファイルの例です。

{ "ResourceTypes":[ "VOLUME" ], "TargetTags":[ { "Key": "costcenter", "Value": "120" } ], "Schedules":[ { "Name": "DailySnapshots", "TagsToAdd": [ { "Key": "type", "Value": "myDailySnapshot" } ], "CreateRule": { "Interval": 12, "IntervalUnit": "HOURS", "Times": [ "15:00" ] }, "RetainRule": { "Count" :5 }, "CopyTags": false } ] }

更新されたポリシーを表示するには、get-lifecycle-policy コマンドを使用します。状態、タグの値、スナップショットの間隔、およびスナップショットの開始時刻が変更されたことがわかります。

ライフサイクルポリシーの削除

ライフサイクルポリシーを削除し、ポリシーで指定されたターゲットタグを解放して再利用できるようにするには、delete-lifecycle-policy コマンドを使用します。

注記

Amazon Data Lifecycle Manager によって作成されたスナップショットだけを削除できます。

aws dlm delete-lifecycle-policy --policy-id policy-0123456789abcdef0

API を使用したバックアップの管理

Amazon Data Lifecycle Manager API リファレンスには、Amazon Data Lifecycle Manager クエリ API の各アクションとデータ型の説明と構文があります。

代わりに、いずれかの AWS SDK を使用して、使用中のプログラミング言語またはプラットフォームに対応する API にアクセスすることもできます。詳細については、AWS SDK を参照してください。

スナップショットライフサイクルの監視

次の機能を使用して、スナップショットのライフサイクルをモニタリングできます。

コンソールと AWS CLI

ライフサイクルポリシーは、Amazon EC2 コンソールまたは AWS CLI を使用して表示できます。ポリシーによって作成された各スナップショットには、タイムスタンプとポリシー関連のタグがあります。タグを使用してスナップショットをフィルタリングして、意図したとおりにバックアップが作成されていることを確認できます。コンソールを使用したライフサイクルポリシーの表示の詳細については、「ライフサイクルポリシーの表示」を参照してください。CLI を使用したライフサイクルポリシーに関する情報の表示の詳細については、「ライフサイクルポリシーの表示」を参照してください。

CloudWatch イベント

Amazon EBS と Amazon Data Lifecycle Manager は、ライフサイクルポリシーアクションに関するイベントを発行します。AWS Lambda と Amazon CloudWatch Events を使用すると、プログラムによるイベント通知を処理できます。詳細については、「Amazon CloudWatch Events ユーザーガイド」を参照してください。

利用できるイベントは次のとおりです。

  • createSnapshotCreateSnapshot アクションが成功または失敗したときに生成される Amazon EBS イベント。詳細については、「Amazon EBS での Amazon CloudWatch Events」を参照してください。

  • DLM Policy State Change – ライフサイクルポリシーがエラー状態になったときに生成される Amazon Data Lifecycle Manager イベント。このイベントには、エラーを引き起こした原因の説明が含まれています。次に、IAM ロールによって付与されたアクセス権限が不十分な場合のイベントの例を示します。

    { "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "DLM Policy State Change", "source": "aws.dlm", "account": "123456789012", "time": "2018-05-25T13:12:22Z", "region": "us-east-1", "resources": [ "arn:aws:dlm:us-east-1:123456789012:policy/policy-0123456789abcdef" ], "detail": { "state": "ERROR", "cause": "Role provided does not have sufficient permissions", "policy_id": "arn:aws:dlm:us-east-1:123456789012:policy/policy-0123456789abcdef" } }

    制限を超えた場合のイベントの例を次に示します。

    { "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "DLM Policy State Change", "source": "aws.dlm", "account": "123456789012", "time": "2018-05-25T13:12:22Z", "region": "us-east-1", "resources": [ "arn:aws:dlm:us-east-1:123456789012:policy/policy-0123456789abcdef" ], "detail":{ "state": "ERROR", "cause": "Maximum allowed active snapshot limit exceeded", "policy_id": "arn:aws:dlm:us-east-1:123456789012:policy/policy-0123456789abcdef" } }

AWS CloudTrail

AWS CloudTrail を使用すると、ユーザーのアクティビティや API の使用状況を追跡して、社内ポリシーや規制基準への準拠を実証することができます。詳細については、『AWS CloudTrail User Guide』を参照してください。