から AMI イメージパイプラインを作成する AWS CLI - EC2 イメージビルダー

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

から AMI イメージパイプラインを作成する AWS CLI

からイメージパイプラインを作成するには AWS CLI、パイプラインに適用される設定オプションを指定して create-image-pipeline コマンドを実行します。すべてのパイプライン設定を含む JSON ファイルを作成するか、実行時に設定を指定することができます。このセクションでは、JSON 設定ファイルメソッドを使用してコマンドを簡素化します。

ベースイメージとコンポーネントからの保留中の更新を組み込むために、パイプラインが新しいイメージをビルドする頻度は、設定した schedule 内容によって異なります。各 schedule には次の属性があります。

  • scheduleExpression— パイプラインの実行スケジュールを設定して、そのパイプラインを評価し、 pipelineExecutionStartCondition とビルドを開始すべきかどうかを判断します。スケジュールは cron 式で設定されます。Image Builder で cron 式を書式設定する方法については、「Image Builder での cron 式の使用」を参照してください。

  • pipelineExecutionStartCondition — パイプラインでビルドを開始するかどうかを決定します。有効な値を次に示します。

    • EXPRESSION_MATCH_ONLY — cron 式が現在の時刻と一致するたびに、パイプラインが新しいイメージが作成されます。

    • EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE — ベースイメージまたはコンポーネントに保留中の変更がない限り、パイプラインは新しいイメージビルドを開始しません。

create-image-pipeline コマンドを実行する場合 AWS CLI、設定リソースの多くはオプションです。ただし、パイプラインが作成するイメージのタイプによっては、条件付きの要件があるリソースもあります。AMI イメージパイプラインには、次のリソース識別子が必要です。

  • イメージレシピ ARN

  • インフラストラクチャ設定ARN

 

例: Windows 2019 イメージを作成する

この例では、毎週日曜日に実行するようにスケジュールされたパイプラインを設定します。最初のステップで示した設定ファイルは、イメージレシピ、インフラストラクチャ、ディストリビューション設定の既存のリソースと、Windows 2019 イメージを作成するためのその他の設定を使用します。

  1. 設定ファイルを作成する (オプション)

    この例では、 という名前の設定ファイルを使用してcreate-image-pipeline.json設定を 1 か所で設定します。または、コマンドを実行するときにコマンドラインオプションを使用して、設定ファイルに表示されるすべての詳細を指定することもできます。

    { "name": "ExampleWindows2019Pipeline", "description": "Builds Windows 2019 Images", "enhancedImageMetadataEnabled": true, "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2020.12.03", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration", "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration", "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 60 }, "schedule": { "scheduleExpression": "cron(0 0 * * SUN *)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "ENABLED" }
    注記
    • JSON ファイルパスの先頭に file:// 表記を含める必要があります。

    • JSON ファイルのパスは、コマンドを実行するベースオペレーティングシステムに適した規則に従う必要があります。例えば、Windows ではディレクトリパスを表すためにバックスプラッシュ (\) が使用され、Linux と macOS ではフォーワードスラッシュ (/) が使用されます。

  2. コマンドを実行してイメージを作成する

    この例では、最初のステップで作成した設定ファイルを create-image-pipeline コマンドへの入力として使用します。または、 コマンドを実行するときにパイプラインの設定とリソースを直接指定することもできます。詳細については、「 AWS CLI リファレンス」のcreate-image-pipeline」を参照してください。

    aws imagebuilder create-image-pipeline --cli-input-json file://create-image-pipeline.json