Amazon Data Lifecycle Manager - Amazon Elastic Compute Cloud

Amazon Data Lifecycle Manager

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

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

  • 定期的に更新できる標準化された AMI を作成する。

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

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

  • 分離されたアカウントにデータをバックアップする災害対策バックアップポリシーを作成する。

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

重要

Amazon Data Lifecycle Manager は、他の方法で作成されたスナップショットまたは AMI の管理には使用できません。

Amazon Data Lifecycle Manager を使用して、instance store-backed AMI の作成、保持、削除を自動化することはできません。

Amazon Data Lifecycle Manager の仕組み

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

スナップショット

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

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

EBS-backed AMI

Amazon マシンイメージ (AMI) には、インスタンスの起動に必要な情報が用意されています。同じ設定で複数のインスタンスが必要な場合は、1 つの AMI から複数のインスタンスを起動できます。Amazon Data Lifecycle Manager は EBS-backed AMI のみをサポートします。EBS-backed AMI には、ソースインスタンスにアタッチされた各 EBS ボリュームのスナップショットが含まれます。

詳細については、「Amazon マシンイメージ (AMI)」を参照してください。

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

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

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

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

Amazon Data Lifecycle Manager のタグ

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

  • aws:dlm:lifecycle-policy-id

  • aws:dlm:lifecycle-schedule-name

  • aws:dlm:expirationTime

  • dlm:managed

作成時に、スナップショットと AMI に適用するカスタムタグを指定することもできます。タグキーに「\」または「=」文字を使用することはできません。

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

ライフサイクルポリシー

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

  • ポリシータイプ— ポリシーが管理できるリソースタイプを定義します。Amazon Data Lifecycle Manager では、次の 2 種類のライフサイクルポリシーがサポートされています。

    • スナップショットライフサイクルポリシー — EBS スナップショットのライフサイクルを自動化するために使用します。このポリシーは、EBS ボリュームとインスタンスをターゲットにすることができます。

    • EBS-backed AMI ライフサイクルポリシー — EBS-backed AMI のライフサイクルを自動化するために使用します。このポリシーは、インスタンスのみをターゲットにすることができます。

    • クロスアカウントコピーイベントポリシー — アカウント間のスナップショットのコピーを自動化するために使用します。このポリシータイプは、アカウント間でスナップショットを共有する EBS スナップショットポリシーと、組み合わせて使用する必要があります。

  • リソースタイプ— ポリシーの対象となるリソースタイプを定義します。スナップショットライフサイクルポリシーは、インスタンスまたはボリュームをターゲットにすることができます。VOLUME を使用して個々のボリュームのスナップショットを作成するか、INSTANCE を使用してインスタンスにアタッチされたすべてのボリュームのマルチボリュームスナップショットを作成します。詳細については、「マルチボリュームスナップショット」を参照してください。AMI ライフサイクルポリシーは、インスタンスのみをターゲットにすることができます。ターゲットインスタンスにアタッチされているすべてのボリュームのスナップショットを含む 1 つの AMI が作成されます。

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

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

  • 保持— スナップショットまたは AMI を保持する方法を指定します。スナップショットまたは AMI は、総数 (カウントベース) または期間 (期間ベース) のいずれかに基づいて保持できます。スナップショットポリシーでは、保持しきい値に達すると、最も古いスナップショットが削除されます。AMI ポリシーでは、保持しきい値に達すると、最も古い AMI の登録が解除され、バックアップスナップショットが削除されます。

例えば、次のような設定でポリシーを作成できます。

  • account のキーと finance の値のタグを持つすべての EBS ボリュームを管理します。

  • 0900 UTC では、 スナップショットを 24 時間ごとに作成します。

  • 最新の 5 つのスナップショットのみを保持します。

  • スナップショットの作成を毎日 0959 UTC までに開始します。

ポリシースケジュール

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

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

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

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

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

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

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

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

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

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

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

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

  • 最初のスナップショットまたは AMI 作成のオペレーションは、指定された開始時刻から 1 時間以内に開始されます。後続のスナップショットまたは AMI 作成オペレーションは、それらにスケジュールされた時刻から 1 時間以内に開始されます。

  • ターゲットタグを削除または変更してポリシーを変更すると、それらのタグを持つ EBS ボリュームまたはインスタンスはポリシーの管理を受けなくなります。

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

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

  • 作成後、ポリシーの保持スケジュールをカウントベースから時間ベースに変更することはできません。この変更を行うには、新たなポリシーを作成する必要があります。

  • 期間ベースの保持スケジュールを持つポリシーを無効にすると、ポリシーが無効になっている間に有効期限が切れるように設定されたスナップショットまたは AMI は無期限に保持されます。スナップショットを削除するか、AMI を手動で登録解除する必要があります。ポリシーを再度有効にすると、Amazon Data Lifecycle Manager は保持期間の終了時にスナップショットの削除または AMI の登録解除を再開します。

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

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

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

  • インスタンスをターゲットとするポリシーを作成し、ポリシーの作成後に新しいボリュームがインスタンスにアタッチされた場合、新しく追加されたボリュームは、次回のポリシー実行時にバックアップに含まれます。ポリシー実行時にインスタンスにアタッチされたすべてのボリュームが含まれます。

  • AMI ライフサイクルポリシーでは、AMI 保持しきい値に達すると、最も古い AMI の登録が解除され、バックアップスナップショットが削除されます。

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

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

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

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

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

    注記

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

以下は、アカウント間でスナップショットを共有する場合の考慮事項です。

  • 共有できるのは、暗号化されていないスナップショットまたはカスタマー管理 CMK を使用して暗号化されたスナップショットだけです。

  • デフォルトの EBS 暗号化キーで暗号化されたスナップショットを共有することはできません。

  • 暗号化されたスナップショットを共有する場合は、ソースボリュームの暗号化に使用された CMK も、ターゲットアカウントと共有する必要があります。詳細については、AWS Key Management Service Developer Guideの、「他のアカウントのユーザーに CMK の使用を許可する」を参照してください。

以下はアカウント間のコピーイベントポリシーの考慮事項です。

  • コピーできるのは、暗号化されていないスナップショットまたはカスタマー管理 CMK を使用して暗号化されたスナップショットだけです。

  • Amazon Data Lifecycle Manager の外部で共有されるスナップショットをコピーする、クロスアカウントコピーイベントポリシーを作成できます。

  • ターゲットアカウントのスナップショットを暗号化する場合、クロスアカウントコピーイベントポリシー用に選択された IAM ロールには、必要な CMK を使用するアクセス許可が必要です。

前提条件

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

Amazon Data Lifecycle Manager アクセス許可

Amazon Data Lifecycle Manager は、IAM ロールを使用して、お客様に代わってスナップショットと AMI を管理するために必要なアクセス許可を取得します。AWS マネジメントコンソール を使用してライフサイクルポリシーを初めて作成すると、Amazon Data Lifecycle Manager によって次のデフォルトロールが作成されます。

  • AWSDataLifecycleManagerDefaultRole— スナップショットを管理するためのデフォルトのロール。このポリシーは、コンソールを使用してスナップショットライフサイクルポリシーを初めて作成するときに作成されます。

  • AWSDataLifecycleManagerDefaultRoleForAMIManagement— AMI を管理するためのデフォルトロール。これは、コンソールを使用して AMI ライフサイクルポリシーを初めて作成するときに作成されます。

create-default-role コマンドを使用して手動でこのロールを作成することもできます。--resource-type では、作成するロールに応じて、次のいずれかを指定します。

  • snapshot— スナップショットライフサイクルポリシーを管理するデフォルトロールを作成するため

  • image— AMI ライフサイクルポリシーを管理するデフォルトロールを作成するため

aws dlm create-default-role --resource-type snapshot|image

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

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

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

    • スナップショットライフサイクルポリシーを管理するためのアクセス許可

      "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateSnapshot", "ec2:CreateSnapshots", "ec2:DeleteSnapshot", "ec2:DescribeInstances", "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ec2:EnableFastSnapshotRestores", "ec2:DescribeFastSnapshotRestores", "ec2:DisableFastSnapshotRestores", "ec2:CopySnapshot", "ec2:ModifySnapshotAttribute", "ec2:DescribeSnapshotAttribute" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::snapshot/*" }, { "Effect": "Allow", "Action": [ "events:PutRule", "events:DeleteRule", "events:DescribeRule", "events:EnableRule", "events:DisableRule", "events:ListTargetsByRule", "events:PutTargets", "events:RemoveTargets" ], "Resource": "arn:aws:events:*:*:rule/AwsDataLifecycleRule.managed-cwe.*" } ] }
    • AMI ライフサイクルポリシーを管理するためのアクセス許可

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*::image/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeImageAttribute", "ec2:DescribeVolumes", "ec2:DescribeSnapshots" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DeleteSnapshot", "Resource": "arn:aws:ec2:*::snapshot/*" }, { "Effect": "Allow", "Action": [ "ec2:ResetImageAttribute", "ec2:DeregisterImage", "ec2:CreateImage", "ec2:CopyImage", "ec2:ModifyImageAttribute" ], "Resource": "*" }] }

    詳細については、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 ユーザーのアクセス許可の変更」を参照してください。

暗号化のアクセス許可

ソースボリュームが暗号化されている場合は、Amazon Data Lifecycle Manager デフォルトのロール (AWSDataLifecycleManagerDefaultRole および AWSDataLifecycleManagerDefaultRoleForAMIManagement) に、ボリュームの暗号化に使用する AWS KMS カスタマーマスターキー (CMK) を使うアクセス許可があることを確認してください。

暗号化されていないスナップショット、または暗号化されていないスナップショットによってバックアップされた AMI に対するクロスリージョンコピーを有効にし、送信先リージョンで暗号化を有効にする場合は、デフォルトのロールに、送信先リージョンで暗号化を実行するのに必要な CMK を使用するアクセス許可があることを確認してください。

暗号化されたスナップショット、または暗号化されたスナップショットによってバックアップされた AMI に対してクロスリージョンコピーを有効にする場合は 、デフォルトのロールに、送信元 CMK と送信先 CMK の両方を使用するアクセス許可があることを確認してください。

詳細については、AWS Key Management Service Developer Guideの、「他のアカウントのユーザーに CMK の使用を許可する」を参照してください。