翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Image Builder でのパイプラインワークフローの設定
イメージワークフローを使用すると、パイプラインが実行するワークフローをカスタマイズして、必要に応じてイメージを構築、テスト、配布できます。定義するワークフローは、Image Builder ワークフローフレームワークのコンテキスト内で実行されます。ワークフローフレームワークを構成するステージの詳細については、「Image Builder イメージのビルド、テスト、およびディストリビューションワークフローを管理する」を参照してください。
- ビルドワークフロー
-
ビルドワークフローは、ワークフローフレームワークの
Build段階で実行されます。パイプラインに指定できるビルドワークフローは 1 つのみです。または、ビルドを完全にスキップして、テスト専用パイプラインを設定することもできます。 - テストワークフロー
-
テストワークフローはワークフローフレームワークの
Test段階で実行されます。パイプラインに 1 つ以上のテストワークフローを追加できます。最大 10 個のワークフローの合計数まで追加でき、ビルドワークフローとディストリビューションワークフローもカウントされます。テストワークフローは、テストグループの定義方法に応じて、並列または一度に 1 つずつ実行できます。パイプラインのみをビルドしたい場合は、テストを完全にスキップすることもできます。 - ディストリビューションワークフロー
-
ディストリビューションワークフローは、ワークフローフレームワークの
Distribution段階で実行されます。ディストリビューションワークフローはオプションです。指定しない場合でも、Image Builder はパイプラインまたはイメージにアタッチするディストリビューション設定を実行して AMI を分散します。ディストリビューション設定を異なるディストリビューション設定で上書きする場合、またはディストリビューションプロセスの可視性を高めるために、ディストリビューションワークフローを指定します。パイプラインに 1 つのディストリビューションワークフローを指定できます。コンテナイメージを構築し、ディストリビューションワークフローを指定しない場合、Image Builder は Amazon マネージドコンテナディストリビューションワークフローを追加します。
テストワークフローのテストグループを定義します。
テストグループ内でテストワークフローを定義します。パイプラインに対して複数のテストワークフローを実行できます。合計制限は 10 ワークフローで、これにはビルドワークフローとディストリビューションワークフローが含まれます。テストワークフローを特定の順序で実行するか、できるだけ多くのワークフローを同時に実行するかを決定します。実行方法は、テストグループの定義方法によって異なります。以下のシナリオは、テストワークフローを定義するいくつかの方法を示したものです。
注記
parallelGroup および onFailureの設定は、テストワークフローにのみ適用されます。Image Builder は、 を使用してビルドまたはディストリビューションワークフローでそれらを拒否しますInvalidParameterCombinationException。
テストグループの実行方法
Image Builder は、テストグループでテストワークフローを実行します。グループは一度に 1 つずつ実行されます。単一のグループ内のテストワークフローは、同時に (並行して) 実行されます。Image Builder は最大 5 つのテストワークフローを同時に実行します。グループに 5 つ以上のテストワークフローがある場合、Image Builder は各テストワークフローが終了すると次のテストワークフローを開始します。グループの一部ではないテストワークフローは、単独で実行されます。
テストグループの定義方法は、コンソールを使用するか、 AWS CLI および API を使用するかによって異なります。使用するメソッドに一致するタブを選択します。
シナリオ 1: 一度に 1 つのテストワークフローを実行する
すべてのテストワークフローを一度に 1 つずつ実行するには、テストワークフローごとに個別のテストグループを設定し、合計 10 個のワークフロー (ビルドワークフローとディストリビューションワークフローを含む) の合計制限を設定します。Image Builder はテストグループを一度に 1 つずつ実行します。これは、テストワークフローが特定の順序で 1 つずつ実行されるようにするための 1 つの方法です。
シナリオ 2: 複数のテストワークフローを同時に実行する
順序は重要ではなく、できるだけ多くのテストワークフローを同時に実行したい場合は、1 つのテストグループを設定し、そのグループに最大数のテストワークフローを設定できます。Image Builder は同時に最大 5 つのテストワークフローを起動し、各テストワークフローが完了すると新しいテストワークフローを開始します。テストワークフローをできるだけ速く実行することが目標であれば、これがその方法の 1 つです。
シナリオ 3: 混合と組み合わせ
同時に実行できるテストワークフローと 1 つずつ実行する必要があるテストワークフローが混在するシナリオでは、この目標を達成するようにテストグループを設定できます。テストグループの設定方法に関する唯一の制限は、パイプラインで実行できるテストワークフローの最大数です
コンソールでの Image Builder パイプラインのワークフローパラメータの設定
ワークフローパラメータは、ビルド、テスト、およびディストリビューションワークフローでも同じように機能します。パイプラインを作成または更新するときは、含めるビルド、テスト、およびディストリビューションのワークフローを選択します。選択したワークフローのワークフロードキュメントでパラメータを定義した場合、Image Builder は [パラメータ] パネルにそのパラメータを表示します。パネルは、パラメータが定義されていないワークフローでは非表示になります。
各パラメータには、ワークフロードキュメントで定義されている以下の属性が表示されます。
[名前] (編集不可) – パラメータの名前。
型 (編集不可) - パラメータ値のデータ型。
-
値 – パラメータの値。パラメータ値を編集してパイプラインに設定できます。
Image Builder がワークフローアクションを実行するために使用する IAM サービスロールを指定します。
カスタムイメージワークフローをパイプラインにアタッチする場合、またはログ記録設定を設定する場合は、実行ロールも指定する必要があります。これは、Image Builder がワークフローアクションを実行するために引き受ける IAM ロールです。ロールは Image Builder サービスプリンシパルを信頼する必要があります。必要なアクセス許可については、以下のワークフローサービスアクセス情報を参照してください。
イメージワークフローを実行するには、Image Builder にワークフローアクションを実行する権限が必要です。このアクセス許可は、Image Builder がユーザーに代わって引き受ける実行ロールで付与します。次のように実行ロールを割り当てます。
重要
AWSServiceRoleForImageBuilder サービスにリンクされたロールを実行ロールとして渡さないことをお勧めします。代わりに、カスタム IAM ロールを作成し、 EC2ImageBuilderExecutionPolicy AWS 管理ポリシーをアタッチします。このポリシーは、Image Builder が AWS のサービス ユーザーに代わって呼び出すのと同じアクセス許可を付与します。カスタムロールを使用すると、Image Builder が使用するアクセス許可を完全に制御できます。また、Image Builder がユーザーに代わって実行するオペレーションに対して、サービスコントロールポリシー (SCPs) とリソースコントロールポリシー (RCPs) が有効になります。
-
コンソール – パイプラインウィザードのステップ 3 イメージ作成プロセスを定義するで、サービスアクセスパネルの IAM ロールリストからカスタムロールを選択します。
-
Image Builder API – CreateImage アクションリクエストで、カスタムロールを
executionRoleパラメータの値として指定します。
カスタム実行ロールを作成するには、「 AWS Identity and Access Management ユーザーガイド」の「 AWS サービスにアクセス許可を委任するロールの作成」を参照してください。
ワークフローをパイプラインに関連付ける
カスタムビルド、テスト、およびディストリビューションイメージのワークフローをパイプラインに関連付けるには、使用するメソッドに一致するタブを選択します。