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の主要な要素です。

Snapshots

スナップショットは、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 は、次の種類のライフサイクルポリシーをサポートします。

    • スナップショットライフサイクルポリシー — EBS スナップショットのライフサイクルを自動化するために使用します。これらのポリシーは、個々の 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 ボリュームを管理します。

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

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

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

ポリシースケジュール

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

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

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

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

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

  • 初期化された複数のスケジュールでクロスリージョンコピーが有効化されている場合は、それらのスケジュール全体で指定されているすべてのリージョンに対し、スナップショットもしくは 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 の 1 つ前のものまで、スナップショットを削除し、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 の登録が解除され、バックアップスナップショットが削除されます。

  • カスタム cron ベースのスケジュールと、経過時間ベースまたはカウントベースの保持ルールを持つポリシーが、スナップショットまたは AMI を 1 つだけ作成するように設定されている場合、保持のしきい値に達しても、そのスナップショットまたは AMI は自動的に削除されません。不要になった場合は、スナップショットを手動で削除するか、AMI の登録を解除する必要があります。

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

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

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

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

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

    注記

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

以下は、スナップショットライフサイクルポリシーおよびマルチアタッチが有効なボリュームに関する考慮事項です。

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

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

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

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

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

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

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

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

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

Prerequisites

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

Amazon Data Lifecycle Manager アクセス許可

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

  • 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) に、ボリュームの暗号化に使用する KMS キー を使うアクセス権限があることを確認してください。

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

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

詳細については、AWS Key Management Service デベロッパーガイドの「他のアカウントのユーザーに KMS キーの使用を許可する」をご参照ください。