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

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

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

次の手順では、Amazon Data Lifecycle Manager を使用して EBSバックアップされた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作成された を異なるリージョンにコピーするには、クロスリージョンコピー セクションでクロスリージョンコピーを有効にする を選択します。アカウント内で最大 3 つの追加のリージョンAMIsにコピーできます。コピー先となるリージョンごとに、個別のクロスリージョンコピーのためのルールを指定する必要があります。

      コピー先リージョンごとに、以下を指定できます:

      • 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 を指定します。

注記

構文を簡素化するために、次の例では、ポリシーの詳細を含む JSON ファイル policyDetails.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非推奨

この例では、 purpose のタグキーを持つAMIsすべてのインスタンスを で作成productionし、ターゲットインスタンスを再起動するAMIライフサイクルポリシーを作成します。ポリシーには、 から始まる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 日間であっても、それぞれを AMI 1 か月間保持します。

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

  • の登録を解除AMIし、関連するバッキングスナップショットを削除するまでに数時間かかる場合があります。Amazon Data Lifecycle Manager AMIが、以前に作成した が正常に登録解除される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がごみ箱から復元された場合、Amazon Data Lifecycle Manager はポリシーの保持しきい値に達するAMIと の登録を解除します。

    ポリシーの保持しきい値に達した後に 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 」を参照してください。