翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
コンポーネントを使用して Image Builder イメージをカスタマイズする
Image Builder は、 AWS Task Orchestrator and Executor (AWSTOE) コンポーネント管理アプリケーションを使用して複雑なワークフローを調整します。 AWSTOE アプリケーションで動作するビルドコンポーネントとテストコンポーネントは、イメージをカスタマイズまたはテストするスクリプトを定義するYAMLドキュメントに基づいています。AMI イメージの場合、Image Builder はコンポーネントと AWSTOE コンポーネント管理アプリケーションを Amazon EC2ビルドインスタンスとテストインスタンスにインストールします。コンテナイメージの場合、コンポーネントと AWSTOE コンポーネント管理アプリケーションは実行中のコンテナ内にインストールされます。
Image Builder は AWSTOE 、 を使用してすべてのインスタンス上のアクティビティを実行します。Image Builder コマンドを実行したり、Image Builder コンソールを使用した AWSTOE りするときに、 を操作するための追加のセットアップは必要ありません。
注記
Amazon が管理するコンポーネントのサポート期間が終了すると、そのコンポーネントはメンテナンスされなくなります。この問題が発生する約 4 週間前に、コンポーネントを使用しているすべてのアカウントに通知が届き、そのアカウント内の影響を受けるレシピのリストが各 AWS Health Dashboardから届きます。の詳細については AWS Health、AWS Health 「 ユーザーガイド」を参照してください。
新しいイメージを構築するためのワークフローステージ
新しいイメージを構築するための Image Builder ワークフローには、次の 2 つの段階があります。
-
ビルドステージ (スナップショット前) — ビルドステージ中に、ベースイメージを実行している Amazon EC2ビルドインスタンスを変更して、新しいイメージのベースラインを作成します。例えば、レシピには、アプリケーションをインストールしたり、オペレーティングシステムのファイアウォール設定を変更したりするコンポーネントを含めることができます。
コンポーネントドキュメントの以下のフェーズは、ビルドステージ中に実行されます。
-
buid (構築)
-
validate
この段階が正常に完了すると、Image Builder はテスト段階以降に使用するスナップショットまたはコンテナイメージを作成します。
-
-
テストステージ (スナップショット後) – テストステージでは、イメージを作成するイメージAMIsとコンテナイメージの間にいくつかの違いがあります。AMI ワークフローの場合、Image Builder はビルドステージの最終ステップとして作成したスナップショットからEC2インスタンスを起動します。新しいインスタンスでテストを実行して設定を検証し、インスタンスが期待どおりに機能していることを確認します。コンテナワークフローでは、テストはビルドに使用したのと同じインスタンスで実行されます。
コンポーネントドキュメントの次のフェーズは、イメージ構築テストステージ中にレシピに含まれるすべてのコンポーネントに対して実行されます。
-
test
このコンポーネントフェーズは、ビルドコンポーネントタイプとテストコンポーネントタイプの両方に適用されます。この段階が正常に完了すると、Image Builder はスナップショットまたはコンテナイメージから最終イメージを作成して配布できます。
-
注記
AWSTOE アプリケーションフレームワークでは、コンポーネントドキュメント内の多くのフェーズを定義できますが、Image Builder には、実行するフェーズと、実行するステージに関する厳格なルールがあります。イメージビルドステージ中にコンポーネントを実行するには、コンポーネントドキュメントで、少なくとも次のフェーズの 1 つを定義する必要があります: build
または validate
。イメージテストステージ中にコンポーネントを実行するには、コンポーネントドキュメントでtest
フェーズを定義する必要があり、他のフェーズを定義することはできません。
Image Builder はステージを独立して実行するため、コンポーネントドキュメント内の参照を連鎖させることはステージの境界を越えることはできません。ビルドステージで実行されるフェーズの値をテストステージで実行されるフェーズにチェーンすることはできません。ただし、目的のターゲットに入力パラメータを定義し、コマンドラインから値を渡すことはできます。Image Builder レシピのコンポーネントパラメータ設定の詳細については、「チュートリアル: 入力パラメータを使用してカスタムコンポーネントを作成する」を参照してください。
ビルドインスタンスまたはテストインスタンスのトラブルシューティングを支援するために、コンポーネントが実行されるたびに何が起こっているかを追跡するための入力ドキュメントとログファイルを含むログフォルダ AWSTOE を作成します。パイプライン設定で Amazon S3 バケットを設定した場合、ログもそこに書き込まれます。YAML ドキュメントとログ出力の詳細については、「」を参照してくださいカスタム AWSTOE コンポーネントのコンポーネントドキュメントフレームワークを使用する。
ヒント
追跡用のコンポーネントが多い場合に、タグ付けを使用すると、割り当てたタグに基づいて特定のコンポーネントまたはバージョンを識別できます。の Image Builder コマンドを使用したリソースのタグ付けの詳細については AWS CLI、このガイドのリソースのタグ付け「」セクションを参照してください。
このセクションでは、Image Builder コンソールまたは AWS CLI内のコマンドを使用して、コンポーネントを一覧表示、表示、作成、インポートする方法について説明します。