EBS-backed の Amazon Data Lifecycle Manager カスタムポリシーを作成する AMIs - Amazon EBS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EBS-backed の Amazon Data Lifecycle Manager カスタムポリシーを作成する AMIs

次の手順では、Amazon Data Lifecycle Manager を使用して EBS-backed AMIライフサイクルを自動化する方法を示します。

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

次のいずれかの手順を使用して、 AMIライフサイクルポリシーを作成します。

Console
AMI ポリシーを作成するには
  1. で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

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

  3. 「ポリシータイプの選択」画面でEBS「-backed AMI policy」を選択し、「次へ」を選択します。

  4. [Target resources] (ターゲットのリソース) セクションの [Target resource tags] (ターゲットリソースタグ) で、バックアップするボリュームまたはインスタンスを識別するリソースタグを選択します。ポリシーでは、特定のタグキーと値のペアを持つリソースのみがバックアップされます。

  5. [説明] にポリシーの簡単な説明を入力します。

  6. IAM ロールには、 AMIsとスナップショットを管理し、インスタンスを記述するアクセス許可を持つIAMロールを選択します。Amazon Data Lifecycle Manager から提供されるデフォルトのロールを使用するには、[デフォルトロール] を選択します。または、以前に作成したカスタムIAMロールを使用するには、別のロールを選択を選択し、使用するロールを選択します。

  7. [ポリシータグ] に、ライフサイクルポリシーに適用されるタグを追加します。これらのタグは、ポリシーを識別および分類するために使用することができます。

  8. [作成後のポリシーの状態] で、[ポリシーの有効化] を選択すると、次にスケジュールした時刻でポリシーが実行されます。ポリシーが実行されないようにするには、[ポリシーの無効化] を選択します。ここでポリシーを有効にしない場合、作成後に手動で有効にAMIsするまで、ポリシーの作成は開始されません。

  9. 「インスタンスの再起動」セクションで、AMI作成前にインスタンスを再起動するかどうかを指定します。ターゲットのインスタンスが再起動されないようにするには、[いいえ] を選択します。[いいえ] を選択することで、データの整合性に問題が発生する場合があります。AMI 作成前にインスタンスを再起動するには、はいを選択します。これを選択すると、データの整合性が保証されます。ただし、複数のターゲットインスタンスが同時に再起動する可能性があります。

  10. [Next (次へ)] を選択します。

  11. [スケジュールの設定] 画面で、ポリシースケジュールを設定します。1 つのポリシーには、最大 4 つのスケジュールを含めることができます。スケジュール 1 は必須です。スケジュール 2、3、および 4 はオプションです。追加したポリシースケジュールごとに、以下の操作を行います。

    1. [スケジュールの詳細] セクションで、次の操作を行います。

      1. [スケジュール名] で、スケジュールの分かりやすい名前を指定します。

      2. [頻度]とそれに関連するフィールドで、ポリシーの実行間隔を設定します。

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

      3. [開始時刻] では、ポリシー実行の開始予定時刻を指定します。初回のポリシー実行は、スケジュールした時刻から 1 時間以内に開始されます。時刻は hh:mmUTC形式で入力する必要があります。

      4. 保持タイプには、スケジュールによってAMIs作成された の保持ポリシーを指定します。

        合計数または経過時間AMIsに基づいて保持できます。

        カウントベースの保持の場合、指定できる範囲は 11000 です。最大数に達すると、新しいものが作成されると、最も古いものが登録AMI解除されます。

        保存期間に基づく保持の場合、指定できる範囲は 1 日~100 年です。各 の保持期間AMIが終了すると、登録が解除されます。

        注記

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

    2. のタグ付けを設定しますAMIs。

      [タグ付け] セクションで、以下を実行します。

      1. すべてのユーザー定義タグをソースインスタンスからスケジュールによってAMIs作成された にコピーするには、ソースからタグをコピーを選択します。

      2. デフォルトでは、スケジュールによってAMIs作成された には、ソースインスタンスの ID が自動的にタグ付けされます。この自動タグ付けが行われないようにするには、[可変タグ] から、instance-id:$(instance-id) タイルを削除します

      3. このスケジュールでAMIs作成された に割り当てる追加のタグを指定するには、タグの追加を選択します。

    3. AMI 非推奨を設定します。

      使用すべきでなくなったAMIsときに非推奨にするには、AMI非推奨セクションで、このスケジュールのAMI非推奨を有効にするを選択し、AMI非推奨ルールを指定します。AMI 非推奨ルールAMIsは、非推奨にするタイミングを指定します。

      スケジュールでカウントベースのAMI保持を使用する場合は、廃止AMIsする最も古い の数を指定する必要があります。非推奨のカウントは、スケジュールのAMI保持カウント以下である必要があり、1000 を超えることはできません。例えば、スケジュールが最大 5 つの を保持するように設定されている場合はAMIs、スケジュールされた を設定して、最も古い 5 つまでの を非推奨にすることができますAMIs。

      スケジュールで経過時間ベースのAMI保持を使用している場合AMIsは、廃止する期間を指定する必要があります。非推奨の数はスケジュールのAMI保持期間以下である必要があり、10 年 (120 か月、520 週、または 3650 日) を超えることはできません。例えば、スケジュールが 10 AMIs 日間保持するように設定されている場合、作成AMIs後 10 日までの期間後に廃止するようにスケジュールを設定できます。

    4. クロスリージョンでのコピーを設定します。

      スケジュールによってAMIs作成された を異なるリージョンにコピーするには、「クロスリージョンコピー」セクションで、「クロスリージョンコピーを有効にする」を選択します。アカウント内のリージョンAMIsは最大 3 つまでコピーできます。送信先となるリージョンごとに、個別のクロスリージョンコピーのためのルールを指定する必要があります。

      送信先リージョンごとに、以下を指定できます。

      • AMI コピーの保持ポリシー。保持期間が終了すると、送信先リージョンのコピーは自動的に登録解除されます。

      • AMI コピーの暗号化ステータス。ソースAMIが暗号化されている場合、またはデフォルトで暗号化が有効になっている場合、コピーされた は常に暗号化AMIsされます。ソースAMIが暗号化されておらず、デフォルトで暗号化が無効になっている場合は、オプションで暗号化を有効にできます。KMS キーを指定しない場合、 AMIsは各送信先リージョンの暗号化のデフォルトKMSキーを使用してEBS暗号化されます。送信先リージョンのKMSキーを指定する場合、選択したIAMロールはKMSキーにアクセスできる必要があります。

      • AMI コピーの非推奨ルール。非推奨期間が終了すると、AMIコピーは自動的に非推奨になります。非推奨期間は、コピーの保存期間以下である必要があり、また10 年を超えることはできません。

      • ソース からすべてのタグをコピーするか、タグをコピーしないかAMI。

      注記

      リージョンあたりの同時AMIコピー数を超えないようにしてください。

    5. 新たにスケジュールを追加するには、画面の上部にある [他のスケジュールを追加する] をクリックします。追加スケジュールごとに、このトピックの説明にならってフィールドを設定します。

    6. 必要なスケジュールを追加したら、[ポリシーをレビュー] をクリックします。

  12. ポリシーの概要を確認した後、[ポリシーを作成] をクリックします。

    注記

    Role with name AWSDataLifecycleManagerDefaultRoleForAMIManagement already exists エラーが発生した場合、詳細については「Amazon Data Lifecycle Manager の問題のトラブルシューティング」を参照してください。

Command line

create-lifecycle-policy コマンドを使用して、 AMIライフサイクルポリシーを作成します。PolicyType の場合、IMAGE_MANAGEMENT を指定します。

注記

構文を簡素化するために、次の例では、ポリシーの詳細policyDetails.jsonを含む JSON ファイル を使用します。

例 1: 年齢ベースの保持とAMI非推奨

この例では、ターゲットインスタンスを再起動productionせずに、値が purposeのタグキーを持つすべてのインスタンスAMIsで を作成する AMIライフサイクルポリシーを作成します。このポリシーには、 でAMI毎日 を作成する 1 01:00 つのスケジュールが含まれていますUTC。ポリシーは AMIsを 2 日間保持し、1翌日に廃止します。また、ソースインスタンスから作成した にタグをコピーAMIsします。

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

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

{ "PolicyType": "IMAGE_MANAGEMENT", "ResourceTypes": [ "INSTANCE" ], "TargetTags": [{ "Key": "purpose", "Value": "production" }], "Schedules": [{ "Name": "DailyAMIs", "TagsToAdd": [{ "Key": "type", "Value": "myDailyAMI" }], "CreateRule": { "Interval": 24, "IntervalUnit": "HOURS", "Times": [ "01:00" ] }, RetainRule":{ "Interval" : 2, "IntervalUnit" : "DAYS" }, DeprecateRule": { "Interval" : 1, "IntervalUnit" : "DAYS" }, "CopyTags": true } ], "Parameters" : { "NoReboot":true } }

リクエストが成功すると、コマンドは新しく作成されたポリシーの ID を返します。以下は出力例です。

{ "PolicyId": "policy-9876543210abcdef0" }
例 2: クロスリージョンコピーによるカウントベースの保持とAMI非推奨

この例では、値が AMIsのタグキーを持つすべてのインスタンスから を作成する purpose AMIライフサイクルポリシーを作成しproduction、ターゲットインスタンスを再起動します。このポリシーには、 から始まる6時間AMIごとに を作成するスケジュールが 1 17:30 つ含まれていますUTC。このポリシーは、最も2古い を保持3AMIsし、自動的に廃止しますAMIs。また、 AMIsにコピーしus-east-1、コピーを保持し、最も古い を自動的に廃止するクロスリージョン2AMIコピールールもありますAMI。

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

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

{ "PolicyType": "IMAGE_MANAGEMENT", "ResourceTypes" : [ "INSTANCE" ], "TargetTags": [{ "Key":"purpose", "Value":"production" }], "Parameters" : { "NoReboot": true }, "Schedules" : [{ "Name" : "Schedule1", "CopyTags": true, "CreateRule" : { "Interval": 6, "IntervalUnit": "HOURS", "Times" : ["17:30"] }, "RetainRule":{ "Count" : 3 }, "DeprecateRule":{ "Count" : 2 }, "CrossRegionCopyRules": [{ "TargetRegion": "us-east-1", "Encrypted": true, "RetainRule":{ "IntervalUnit": "DAYS", "Interval": 2 }, "DeprecateRule":{ "IntervalUnit": "DAYS", "Interval": 1 }, "CopyTags": true }] }] }

AMI ライフサイクルポリシーに関する考慮事項

AMI ライフサイクルポリシーの作成には、次の一般的な考慮事項が適用されます。

  • AMI ライフサイクルポリシーは、ポリシーと同じリージョンにあるインスタンスのみをターゲットとします。

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

  • Amazon Data Lifecycle Manager が の登録を解除するとAMI、バックアップしているスナップショットが自動的に削除されます。

  • ターゲットリソースタグでは大文字と小文字が区別されます。

  • ポリシーの対象となるインスタンスからターゲットタグを削除すると、Amazon Data Lifecycle Manager は標準AMIs内の既存の を管理しなくなります。不要になった場合は手動で削除する必要があります。

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

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

  • 1 つの のみを作成するように設定されたカスタム cron ベースのスケジュールでポリシーを作成した場合AMI、保持しきい値に達したAMIときにポリシーは自動的に登録解除されません。不要AMIになった場合は、手動で登録を解除する必要があります。

  • 保持期間が作成頻度よりも短い期間ベースのポリシーを作成する場合、Amazon Data Lifecycle Manager は、次のポリシーが作成されAMIるまで常に最後のポリシーを保持します。例えば、経過時間ベースのポリシーが保持期間を 7 日としてAMI毎月 1 つを作成する場合、Amazon Data Lifecycle Manager は保持期間が 7 日であっても、それぞれを AMI1 か月間保持します。

  • カウントベースのポリシーの場合、Amazon Data Lifecycle Manager は、保持ポリシーAMIsに従って最も古い の登録を解除する前に、常に作成頻度AMIに従って を作成します。

  • が正常に登録解除AMIされ、関連するバッキングスナップショットが削除されるまでに数時間かかることがあります。以前に作成した が正常に登録解除されるAMI前に Amazon Data Lifecycle Manager AMI が次の を作成する場合、保持数よりもAMIs大きい の数を一時的に保持できます。

ポリシーによってターゲットにされたインスタンスを終了する場合の考慮事項は次のとおりです。

  • カウントベースの保持スケジュールを持つポリシーの対象となったインスタンスを終了すると、ポリシーは、終了したインスタンスからAMIs以前に作成した を管理しなくなります。不要AMIsになった場合は、事前に手動で登録解除する必要があります。

  • 経過時間ベースの保持スケジュールを持つポリシーによってターゲットとされたインスタンスを終了した場合、ポリシーは、定義されたスケジュールで終了AMIsされたインスタンスから以前に作成された登録を、最後の まで解除し続けますAMI。不要AMIになった最後の は、手動で登録解除する必要があります。

AMI ポリシーとAMI廃止には、次の考慮事項が適用されます。

  • カウントベースの保持があるスケジュールのAMI非推奨数を増やすと、その変更はスケジュールによって作成されたすべての AMIs (既存および新規) に適用されます。

  • 年齢ベースの保持期間を持つスケジュールのAMI非推奨期間を延長すると、変更は新しい AMIsにのみ適用されます。既存の AMIsは影響を受けません。

  • スケジュールからAMI非推奨ルールを削除しても、Amazon Data Lifecycle Manager は、そのスケジュールによって以前に非推奨AMIsになった の非推奨をキャンセルしません。

  • スケジュールのAMI非推奨数または期間を減らすと、Amazon Data Lifecycle Manager は、そのスケジュールによって以前に非推奨AMIsになった の非推奨をキャンセルしません。

  • AMI ポリシーによってAMI作成された を手動で非推奨にした場合、Amazon Data Lifecycle Manager は非推奨を上書きしません。

  • AMI ポリシーによって以前に廃止AMIされた の非推奨を手動でキャンセルした場合、Amazon Data Lifecycle Manager はキャンセルを上書きしません。

  • AMI が複数の競合するスケジュールによって作成され、それらのスケジュールの 1 つ以上にAMI非推奨ルールがない場合、Amazon Data Lifecycle Manager はその を非推奨にしませんAMI。

  • AMI が複数の競合するスケジュールによって作成され、それらのスケジュールにAMI廃止ルールがある場合、Amazon Data Lifecycle Manager は最新の廃止日になる廃止ルールを使用します。

AMI ポリシーとごみ箱には、次の考慮事項が適用されます。

  • ポリシーの保持しきい値に達したときに Amazon Data Lifecycle Manager が を登録解除AMIしてごみ箱に送信し、手動でごみ箱AMIから復元する場合は、不要AMIになったときに を手動で登録解除する必要があります。Amazon Data Lifecycle Manager は を管理しなくなりますAMI。

  • ポリシーによってAMI作成され、ポリシーの保持しきい値に達したときにごみ箱AMIにある を手動で登録解除した場合、Amazon Data Lifecycle Manager は を登録解除しませんAMI。Amazon Data Lifecycle Manager は、ごみ箱に入っているAMIs間は を管理しません。

    ポリシーの保持しきい値に達する前に AMIがごみ箱から復元AMIされた場合、Amazon Data Lifecycle Manager は、ポリシーの保持しきい値に達すると の登録を解除します。

    ポリシーの保持しきい値に達した後に AMIがごみ箱から復元された場合、Amazon Data Lifecycle Manager は の登録を解除しなくなりますAMI。不要になった場合は、手動で削除する必要があります。

エラー状態のAMIポリシーには、次の考慮事項が適用されます。

  • 経過時間ベースの保持スケジュールを持つポリシーの場合、ポリシーAMIsが error状態にある間は期限切れに設定されます。AMIs の登録を手動で解除する必要があります。ポリシーを再度有効にすると、Amazon Data Lifecycle Manager は保持期間が終了AMIsすると登録解除を再開します。

  • カウントベースの保持スケジュールを持つポリシーの場合、ポリシーは error状態のAMIsときに作成と登録解除を停止します。ポリシーを再度有効にすると、Amazon Data Lifecycle Manager は の作成を再開しAMIs、保持しきい値に達したAMIsときに登録解除を再開します。

AMI ポリシーと の無効化AMIsには、次の考慮事項が適用されます。

  • Amazon Data Lifecycle Manager によってAMI作成された を無効にし、保持しきい値に達したときにAMI無効にすると、Amazon Data Lifecycle Manager は の登録を解除AMIし、関連するスナップショットを削除します。

  • Amazon Data Lifecycle Manager によってAMI作成された を無効にし、関連するスナップショットを手動でアーカイブし、保持しきい値に達したときにそれらのスナップショットがアーカイブされた場合、Amazon Data Lifecycle Manager はそれらのスナップショットを削除せず、管理もしません。

AMI ポリシーとAMI登録解除保護には、次の考慮事項が適用されます。

  • Amazon Data Lifecycle Manager によってAMI作成された の登録解除保護を手動で有効にし、AMI保持しきい値に達した場合でも有効にすると、Amazon Data Lifecycle Manager はその を管理しなくなりますAMI。不要になった場合は、 の登録を手動で解除AMIし、基盤となるスナップショットを削除する必要があります。

追加リソース

詳細については、「Amazon Data Lifecycle Manager ストレージを使用した Amazon EBSスナップショットとAMI管理の自動化 AWS 」ブログを参照してください。