View a markdown version of this page

ライフサイクルポリシーの実行の仕組み - EC2 イメージビルダー

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

ライフサイクルポリシーの実行の仕組み

Image Builder は、有効なライフサイクルポリシーを定期的に実行します。各実行は実行です。実行中、Image Builder はイメージリソースをポリシールールに照らして評価し、指定されたライフサイクルアクションを実行します。

実行スケジュール

Image Builder は、有効なライフサイクルポリシーを 1 日に 1 回実行します。

  • Image Builder は正確な実行時間を管理します。設定することはできません。

  • 一度に実行される実行は、ポリシーごとに 1 つだけです。進行中の実行または保留中の実行は、新しい実行を開始するのではなく続行されます。

  • 無効化されたポリシーは実行されず、ポリシーを無効にすると、保留中の実行が新しいリソースの処理を停止します。

実行ステータス

コンソールの RunLog タブまたは list-lifecycle-executions AWS CLI コマンドを使用して、ライフサイクル実行の進行状況をモニタリングします。各実行は、次のいずれかのステータスを報告します。

IN_PROGRESS

Image Builder は、リソースを積極的に評価し、ライフサイクルアクションを実行しています。

PENDING

処理は一時停止されます。次回のスケジュールされた実行中に再開されます。

SUCCESS

Image Builder は、該当するすべてのリソースを正常に処理しました。

FAILED

1 つ以上のリソースアクションでエラーが発生しました。list-lifecycle-execution-resources コマンドを使用して、失敗したリソースとその理由を特定します。

CANCELLING

Image Builder はキャンセルリクエストを受け取り、現在の処理ステップを終了しています。

CANCELLED

実行はキャンセルされました。Image Builder は、キャンセル前に処理されたリソースをロールバックしません。

リソースの評価方法

Image Builder は、以下の手順を使用して、イメージリソースを最新のものから古いものまで (作成日まで) 評価します。

  1. リソースの選択 – Image Builder は、レシピフィルター (バージョンパターンを含む) またはタグフィルターのいずれかで定義される、ポリシースコープに一致するすべてのイメージリソースを識別します。

  2. アクティブなビルドチェック – Image Builder は、ビルドが進行中のイメージ (ビルド、テスト、または配布状態) をスキップし、次の実行で評価します。

  3. ルール評価 – Image Builder は、ルールを廃止、無効化、削除の優先順位で評価します。実行ごとに各イメージに適用されるアクションは 1 つだけです。イメージが廃止ルールと一致する場合、Image Builder は同じ実行中にそのイメージの無効化ルールと削除ルールをスキップします。

    評価はルールタイプによって異なります。

    ルールを廃止および無効化するには
    1. AGE フィルターチェック (設定されている場合) – Image Builder は、イメージが指定されたしきい値より古いかどうかを確認します。

    2. イメージレベルのタグ除外チェック (exclusionRules.tagMap) – Image Builder は、除外タグを持つイメージをスキップします。

    削除ルールの場合
    1. AGE または COUNT フィルターチェック – AGE の場合、Image Builder はイメージがしきい値より古いかどうかを確認します。COUNT の場合、Image Builder は保持数に達したかどうかを確認します。

    2. 失敗またはキャンセルされたチェック – 失敗またはキャンセルされた状態のイメージは削除対象となり、保持スロットを消費しません。

    3. 保持チェック – retainAtLeast値 (AGE フィルター) またはカウント値 (COUNT フィルター) を設定した場合、最新のイメージが最初に保持スロットを埋めます。保持スロットを埋めるイメージは、それ以上の評価なしで残ります。

    4. イメージレベルのタグ除外チェック (exclusionRules.tagMap) – 保持チェックに合格したイメージ (削除されるイメージ) の場合、Image Builder は除外タグをチェックします。存在する場合、Image Builder はイメージをスキップします。

    重要

    Image Builder はタグ除外前に保持を評価します。保持ウィンドウ内のイメージは、除外タグに関係なく保護されます。タグの除外は、保持制限を超えるイメージにのみ適用されます。

    タグ除外イメージは保持スロットを消費せず、他のイメージの保持数にも影響しません。

  4. AMI レベルの除外チェック – 対象となるイメージを決定した後、Image Builder は出力 AMIs を AMI レベルの除外ルール () に照らして評価しますexclusionRules.amis。これらのルールには、リージョンの除外、パブリック AMI の除外、AMI タグの除外、共有アカウントの除外、最後に起動された除外が含まれます。Image Builder は、除外基準を満たす出力 AMI を、一致した条件を示す理由SKIPPEDとともにレポートします。

注記

後続の実行では、以前に廃止されたリソースが基準を満たす場合、無効または削除ルールが適用されます。

削除ルールの保持の仕組み

保持フィルター (AGE および COUNT) は、AMI やコンテナを直接出力するのではなく、Image Builder AMIs。Image Builder はレシピバージョンごとに最新のイメージを保持し、古いイメージを削除対象としてマークします。

年齢ベースおよびカウントベースのフィルター動作を含む詳細な保持計算ロジックについては、「」を参照してください保持期間の計算方法

リソースの状態の手動管理

次のスケジュールされた実行を待たずに、start-resource-state-update コマンドを使用して、特定のイメージビルドバージョンのライフサイクル状態の即時変更をトリガーできます。

サポートされている移行:

  • 非推奨 – イメージを非推奨としてマークします。

  • 無効 — イメージが新しいインスタンスを起動するのを防ぎます。

  • 削除 – イメージとその関連リソースを削除します (少なくとも 1 つの関連リソースタイプを指定する必要があります)。

  • 使用可能 — 非推奨または無効なイメージを使用可能な状態に戻します。

手動状態を変更するたびに、個別のライフサイクル実行が作成されます。list-lifecycle-executions コマンドを使用して追跡します。

実行のキャンセル

cancelcancel-lifecycle-execution コマンドまたは Image Builder コンソールを使用して、進行中の実行または保留中の実行をキャンセルします。

実行をキャンセルする場合:

  • 現在のリソースアクションを終了CANCELLINGしている間、実行は に移行します。

  • 現在のアクションが完了すると、実行は に移行しますCANCELLED

  • Image Builder は、すでに処理されたリソースをロールバックしません。たとえば、キャンセル前に廃止されたイメージは非推奨のままです。

  • Image Builder は未処理のリソースをスキップします。

ライフサイクルポリシーが外部で変更されたリソースを処理する方法

ユーザーまたは他の AWS サービスは、Image Builder ライフサイクルポリシーの外部でアカウントのリソースを変更できます。外部変更の例:

  • Amazon EC2 コンソールを使用した AMI の登録解除

  • Amazon EC2 API を使用した AMI の非推奨化

  • Amazon ECR リポジトリからのコンテナイメージの削除

  • Image Builder API を使用した Image Builder イメージリソースの削除

リソースがすでに削除されているか、目的の状態にある場合、Image Builder はアクションを として報告しますSUCCESS。他の方法でリソースをクリーンアップしても、ポリシーは失敗しません。

注記

SKIPPED ステータスは異なります。Image Builder は、リソースが存在するが、除外ルールによってアクションが妨げられているSKIPPED場合にのみレポートします。

実行結果のモニタリング

ライフサイクル実行結果を 2 つのレベルでモニタリングします。

実行レベル

ステータス、開始時刻、終了時刻など、ポリシーのすべての実行を表示します。

  • コンソール – ライフサイクルポリシーの詳細ページを開き、RunLog タブを選択します。詳細については、「RunLog タブ」を参照してください。

  • AWS CLI – ライフサイクルポリシー ARN を使用して list-lifecycle-executions を実行します。

リソースレベル

実行内のリソースごとの結果を表示します。

  • コンソールRunLog タブで実行 ID を選択して、処理されたリソースを表示します。

  • AWS CLI – 実行 ID を使用して list-lifecycle-execution-resources を実行します。

各リソースエントリには以下が含まれます。

  • リソースARN

  • 実行された (または試行された) アクション

  • リソースステータス (SUCCESSFAILED、または SKIPPED)

  • 結果の理由 (特にスキップまたは失敗したリソースに有用)