

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

# ライフサイクルポリシーの実行の仕組み
<a name="lifecycle-policy-execution"></a>

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

**Topics**
+ [実行スケジュール](#lifecycle-execution-schedule)
+ [実行ステータス](#lifecycle-execution-statuses)
+ [リソースの評価方法](#lifecycle-execution-resource-evaluation)
+ [削除ルールの保持の仕組み](#lifecycle-execution-retention)
+ [リソースの状態の手動管理](#lifecycle-execution-manual)
+ [実行のキャンセル](#lifecycle-execution-cancel)
+ [ライフサイクルポリシーが外部で変更されたリソースを処理する方法](#lifecycle-execution-externally-modified)
+ [実行結果のモニタリング](#lifecycle-execution-monitoring)

## 実行スケジュール
<a name="lifecycle-execution-schedule"></a>

Image Builder は、有効なライフサイクルポリシーを 1 日に 1 回実行します。
+ Image Builder は正確な実行時間を管理します。設定することはできません。
+ 一度に実行される実行は、ポリシーごとに 1 つだけです。進行中の実行または保留中の実行は、新しい実行を開始するのではなく続行されます。
+ 無効化されたポリシーは実行されず、ポリシーを無効にすると、保留中の実行が新しいリソースの処理を停止します。

## 実行ステータス
<a name="lifecycle-execution-statuses"></a>

コンソールの RunLog タブまたは [list-lifecycle-executions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/list-lifecycle-executions.html) AWS CLI コマンドを使用して、ライフサイクル実行の進行状況をモニタリングします。各実行は、次のいずれかのステータスを報告します。

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

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

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

`FAILED`  
1 つ以上のリソースアクションでエラーが発生しました。[list-lifecycle-execution-resources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/list-lifecycle-execution-resources.html) コマンドを使用して、失敗したリソースとその理由を特定します。

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

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

## リソースの評価方法
<a name="lifecycle-execution-resource-evaluation"></a>

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

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

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

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

   評価はルールタイプによって異なります。  
ルールを廃止および無効化するには  

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

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

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

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

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

   1. イメージレベルのタグ除外チェック (`exclusionRules.tagMap`) – 保持チェックに合格したイメージ (削除されるイメージ) の場合、Image Builder は除外タグをチェックします。存在する場合、Image Builder はイメージをスキップします。
Image Builder はタグ除外前に保持を評価します。保持ウィンドウ内のイメージは、除外タグに関係なく保護されます。タグの除外は、保持制限を超えるイメージにのみ適用されます。
タグ除外イメージは保持スロットを消費せず、他のイメージの保持数にも影響しません。

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

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

## 削除ルールの保持の仕組み
<a name="lifecycle-execution-retention"></a>

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

年齢ベースおよびカウントベースのフィルター動作を含む詳細な保持計算ロジックについては、「」を参照してください[保持期間の計算方法](image-lifecycle-rules.md#image-lifecycle-rules-retention)。

## リソースの状態の手動管理
<a name="lifecycle-execution-manual"></a>

次のスケジュールされた実行を待たずに、[start-resource-state-update](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/start-resource-state-update.html) コマンドを使用して、特定のイメージビルドバージョンのライフサイクル状態の即時変更をトリガーできます。

サポートされている移行:
+ **非推奨** – イメージを非推奨としてマークします。
+ **無効** — イメージが新しいインスタンスを起動するのを防ぎます。
+ **削除** – イメージとその関連リソースを削除します (少なくとも 1 つの関連リソースタイプを指定する必要があります）。
+ **使用可能** — 非推奨または無効なイメージを使用可能な状態に戻します。

手動状態を変更するたびに、個別のライフサイクル実行が作成されます。[list-lifecycle-executions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/list-lifecycle-executions.html) コマンドを使用して追跡します。

## 実行のキャンセル
<a name="lifecycle-execution-cancel"></a>

cancel[cancel-lifecycle-execution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/cancel-lifecycle-execution.html) コマンドまたは Image Builder コンソールを使用して、進行中の実行または保留中の実行をキャンセルします。

実行をキャンセルする場合:
+ 現在のリソースアクションを終了`CANCELLING`している間、実行は に移行します。
+ 現在のアクションが完了すると、実行は に移行します`CANCELLED`。
+ Image Builder は、すでに処理されたリソースをロールバックしません。たとえば、キャンセル前に廃止されたイメージは非推奨のままです。
+ Image Builder は未処理のリソースをスキップします。

## ライフサイクルポリシーが外部で変更されたリソースを処理する方法
<a name="lifecycle-execution-externally-modified"></a>

ユーザーまたは他の AWS サービスは、Image Builder ライフサイクルポリシーの外部でアカウントのリソースを変更できます。外部変更の例:
+ Amazon EC2 コンソールを使用した AMI の登録解除
+ Amazon EC2 API を使用した AMI の非推奨化
+ Amazon ECR リポジトリからのコンテナイメージの削除
+ Image Builder API を使用した Image Builder イメージリソースの削除

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

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

## 実行結果のモニタリング
<a name="lifecycle-execution-monitoring"></a>

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

実行レベル  
ステータス、開始時刻、終了時刻など、ポリシーのすべての実行を表示します。  
+ **コンソール** – ライフサイクルポリシーの詳細ページを開き、**RunLog** タブを選択します。詳細については、「[RunLog タブ](view-lifecycle-policy.md#view-lifecycle-policy-console-runlog-tab)」を参照してください。
+ **AWS CLI** – ライフサイクルポリシー ARN を使用して [list-lifecycle-executions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/list-lifecycle-executions.html) を実行します。

リソースレベル  
実行内のリソースごとの結果を表示します。  
+ **コンソール** – **RunLog** タブで実行 ID を選択して、処理されたリソースを表示します。
+ **AWS CLI** – 実行 ID を使用して [list-lifecycle-execution-resources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/list-lifecycle-execution-resources.html) を実行します。
各リソースエントリには以下が含まれます。  
+ リソースARN
+ 実行された (または試行された) アクション
+ リソースステータス (`SUCCESS`、`FAILED`、または `SKIPPED`)
+ 結果の理由 (特にスキップまたは失敗したリソースに有用)