チュートリアル: 入力パラメータを使用してカスタムコンポーネントを作成する - EC2 Image Builder

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

チュートリアル: 入力パラメータを使用してカスタムコンポーネントを作成する

Image Builder コンポーネントは、コンポーネントパラメータの作成や設定など、EC2Image Builder コンソール、、Image Builder AWS CLIまたは API から直接管理できますSDKs。このセクションでは、コンポーネントでパラメータを作成して使用したり、ランタイムに Image Builder コンソールと AWS CLI コマンドを使用してコンポーネントパラメータを設定する方法について説明します。

重要

コンポーネントパラメータはプレーンテキストの値で、 AWS CloudTrailに記録されます。シークレットを保存するには、 AWS Secrets Manager または AWS Systems Manager Parameter Store を使用することをお勧めします。Secrets Manager の詳細については、AWS Secrets Manager ユーザーガイドの Secrets Manager とはを参照してください。 AWS Systems Manager パラメータストアについては、AWS Systems Manager ユーザーガイドのAWS Systems Manager パラメータストアを参照。

YAML コンポーネントドキュメントでパラメータを使用する

コンポーネントを構築するには、 YAMLまたは JSON アプリケーションコンポーネントドキュメントを指定する必要があります。このドキュメントには、イメージのカスタマイズを提供するために定義したフェーズとステップ中に実行されるコードが含まれています。コンポーネントを参照するレシピでは、ランタイムにパラメータを設定して値をカスタマイズできます。デフォルト値は、パラメータが特定の値に設定されていない場合に有効になります。

入力パラメータを使用してコンポーネントドキュメントを作成する

このセクションでは、YAMLコンポーネントドキュメントの入力パラメータを定義して使用する方法について説明します。

Image Builder ビルドインスタンスまたはテストインスタンスでパラメータを使用し、コマンドを実行するYAMLアプリケーションコンポーネントドキュメントを作成するには、イメージオペレーティングシステムに一致するステップに従います。

Linux
YAML コンポーネントドキュメントを作成する

ファイル編集ツールを使用して、コンポーネントドキュメントファイルを作成します。ドキュメントの例では、次のコンテンツを含む という名前hello-world-test.yamlのファイルを使用します。

# Document Start # name: "HelloWorldTestingDocument-Linux" description: "Hello world document to demonstrate parameters." schemaVersion: 1.0 parameters: - MyInputParameter: type: string default: "It's me!" description: This is an input parameter. phases: - name: build steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}" - name: validate steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}" - name: test steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}" # Document End
ヒント

このオンラインYAMLバリデーター などのツール、またはコード環境でYAMLのリント拡張を使用して、 YAMLが適切な形式であることを確認します。

Windows
YAML コンポーネントドキュメントを作成する

ファイル編集ツールを使用して、コンポーネントドキュメントファイルを作成します。ドキュメントの例では、次のコンテンツを含む という名前hello-world-test.yamlのファイルを使用します。

# Document Start # name: "HelloWorldTestingDocument-Windows" description: "Hello world document to demonstrate parameters." schemaVersion: 1.0 parameters: - MyInputParameter: type: string default: "It's me!" description: This is an input parameter. phases: - name: build steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}" - name: validate steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}" - name: test steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}" # Document End
ヒント

このオンラインYAMLバリデーター などのツール、またはコード環境でYAMLのリント拡張を使用して、 YAMLが適切な形式であることを確認します。

アプリケーションコンポーネントドキュメントのフェーズ、ステップ、構文の詳細については、 AWSTOE 「」の「ドキュメントを使用する AWSTOE」を参照してください。パラメータとその要件についての詳細は、変数の定義と参照 AWSTOEページのパラメータセクションを参照のこと。

コンポーネントドキュメントからYAMLコンポーネントを作成する

AWSTOE コンポーネントの作成に使用する方法に関係なく、YAMLアプリケーションコンポーネントドキュメントは常にベースラインとして必要です。

コンソールから Image Builder レシピでコンポーネントパラメータを設定する

コンポーネントパラメータの設定は、イメージレシピでもコンテナレシピでも同じように機能します。新しいレシピ、またはレシピの新しいバージョンを作成するときは、[ビルドコンポーネント]リストと[テストコンポーネント]リストから、どのコンポーネントを含めるかを選択します。コンポーネントリストには、イメージ用に選択したベースオペレーティングシステムに該当するコンポーネントが含まれています。

コンポーネントを選択すると、そのコンポーネントはコンポーネントリストのすぐ下の [選択したコンポーネント] セクションに表示されます。選択した各コンポーネントの設定オプションが表示されます。コンポーネントに入力パラメータが定義されている場合、[入力パラメータ]という展開可能なセクションとして表示されます。

コンポーネントに定義されている各パラメータには、以下のパラメータ設定が表示されます。

  • パラメータ名 (編集不可) - パラメータの名前。

  • 説明 (編集不可) - パラメータの説明

  • (編集不可) - パラメータ値のデータ型。

  • – パラメータの値。このレシピでこのコンポーネントを初めて使用していて、入力パラメータにデフォルト値が定義されている場合、デフォルト値はグレーアウトされたテキストを持つボックスに表示されます。他の値が入力されていない場合、Image Builder はデフォルト値を使用します。