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

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

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

Image Builder コンソール、、Image Builder または EC2 から直接、コンポーネントパラメータの作成や設定など AWS CLI、Image Builder コンポーネントを管理できますAPISDKs。このセクションでは、コンポーネントでのパラメータの作成と使用、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 lint 拡張機能を使用して、 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 lint 拡張機能を使用して、 YAML が適切な形式であることを確認します。

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

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

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

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

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

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

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

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

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

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

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