View a markdown version of this page

イメージレシピの新しいバージョンを作成する - EC2 イメージビルダー

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

イメージレシピの新しいバージョンを作成する

このセクションでは、イメージレシピまたは既存のレシピの新しいバージョンを作成する方法について説明します。イメージレシピは、基本 AMI、ビルドコンポーネント、および設定を定義します。このレシピを使用して、Image Builder で Amazon マシンイメージ (AMIs) を作成します。Image Builder コンソールまたは を使用してイメージレシピを作成できます AWS CLI。

コンソールからの新しいイメージレシピバージョンの作成

新しいレシピバージョンを作成することは、新しいレシピを作成することと実質的に同じです。違いは、ほとんどの場合、基本レシピに合わせて特定の詳細が事前に選択されていることです。以下のリストは、新しいレシピを作成することと、既存のレシピの新しいバージョンを作成することの違いを説明しています。

新しいバージョンの基本レシピの詳細
  • 名前 - 編集不可。

  • バージョン – 必須。作成したいバージョン番号を<major>.<minor>.<patch>の形式で入力する。Image Builder はレシピの自動バージョン増分をサポートしているため、レシピバージョンでワイルドカードパターンを使用できます。などのワイルドカードバージョンでレシピを作成すると1.0.x、Image Builder は自動的にバージョンを増分します (、1.0.11.0.2、 など1.0.3)。これにより、レシピのバージョンを手動で追跡して増分する必要がなくなります。

  • イメージを選択 オプション — 事前に選択されていますが、編集できます。ベースイメージのソースの選択を変更すると、選択した元のオプションに依存するその他の詳細が失われる可能性があります。

    基本イメージの選択に関連する詳細を表示するには、選択内容と一致するタブを選択してください。

    Managed image
    • イメージオペレーティングシステム(OS) - 編集不可。

    • イメージ名 — 既存のレシピで選択した基本イメージの組み合わせに基づいて事前に選択されています。ただし、イメージを選択 オプションを変更すると、事前に選択した イメージ名 は失われます。

    • 自動バージョンアップオプション - 基本レシピと一致しません。このイメージオプションのデフォルトは選択した OS バージョンを使用です。

      重要

      セマンティックバージョニングを使用してパイプラインのビルドを開始する場合は、この値を利用可能な最新の OS バージョンを使用するに変更してください。Image Builder リソースのセマンティックバージョニングの詳細については、Image Builder でのセマンティックバージョニングを参照してください。

    AWS Marketplace image
    • サブスクリプション – このタブは開き、 のサブスクライブされたイメージをベースレシピに合わせて事前に選択 AWS Marketplace する必要があります。レシピがベースイメージとして使用するイメージを変更すると、選択した元のイメージに依存するその他の詳細が失われる可能性があります。

    AWS Marketplace 製品の詳細については、「 AWS Marketplace 購入者ガイド」の「製品の購入」を参照してください。

    Custom AMI

    AMI ソース (必須) - ベースイメージとして使用する AMI ID を含む AMI ID または AWS Systems Manager (SSM) パラメータストアパラメータを入力します。SSM エージェントは、選択した AMI にプリインストールされている必要があります。

    • AMI ID – この設定には、元のエントリが事前に入力されていません。ベースイメージの AMI ID を入力します。例えば、ami-1234567890abcdef1 などです。

    • SSM パラメータ – ベースイメージの AMI ID を含む SSM パラメータストアパラメータの名前または ARN を入力します。例: /ib/test/param または arn:aws:ssm:us-east-1:111122223333:parameter/ib/test/param

  • インスタンスの設定 — 設定は事前に選択されていますが、編集できます。

    • システムマネージャーエージェント — このチェックボックスをオンまたはオフにして、新しいイメージへのシステムマネージャーエージェントのインストールを制御できます。デフォルトでは、このチェックボックスはクリアのままで、Image Builder は Systems Manager エージェントを最終的な AMI に保持します。最終イメージから Systems Manager エージェントを削除するには、チェックボックスをオンにします。

    • ユーザーデータ – 構築インスタンスを起動するときにこのエリアを使用して、コマンドまたはコマンドスクリプトを提供で実行します。ただし、この値は、Systems Manager が確実にインストールされるようにするために Image Builder が追加されたコマンドを置き換えます。これらのコマンドには、新しいイメージを作成する前に Image Builder が Linux イメージに対して通常実行するクリーンアップスクリプトが含まれます。

      Image Builder がインスタンスを起動すると、ユーザーデータスクリプトは、コンポーネントの実行が開始される前に、クラウド開始フェーズで実行されます。このステップは、インスタンスの ファイルに記録されますvar/log/cloud-init.log

      注記
      • ユーザーデータを入力する場合は、システムマネージャーエージェントをベースイメージにあらかじめインストールするか、ユーザーデータにインストールを含めるようにしてください。

      • Linux イメージの場合は、perform_cleanupユーザーデータスクリプトで指定された空のファイルを作成するコマンドを含めて、クリーンアップ手順を実行するようにしてください。Image Builder はこのファイルを検出し、新しいイメージを作成する前にクリーンアップスクリプトを実行します。詳細とスクリプトのサンプルは「Image Builder でのセキュリティのベストプラクティス」を参照してください。

  • 作業ディレクトリ — 事前に選択されていますが、編集できます。

  • コンポーネント — レシピに既に含まれているコンポーネントは、各コンポーネントリスト (ビルドとテスト) の最後にある 選択されたコンポーネント セクションに表示されます。ニーズに合わせられるように、選択したコンポーネントを削除または並べ替えることができます。

    CIS 強化コンポーネントは、Image Builder レシピの標準コンポーネント順序ルールに従っていません。CIS 強化コンポーネントは常に最後に実行され、ベンチマークテストが出力イメージに対して確実に実行されます。

    注記

    ビルドコンポーネントリストとテストコンポーネントリストには、コンポーネント所有者のタイプに基づいて使用可能なコンポーネントが表示されます。コンポーネントを追加するには、ビルドコンポーネントの追加を選択し、適用する所有権フィルターを選択します。たとえば、 AWS Marketplace 製品に関連付けられているビルドコンポーネントを追加するには、 を選択しますAWS Marketplace。これにより、コンポーネントを一覧表示 AWS Marketplace する選択パネルがコンソールインターフェイスの右側に表示されます。

    CIS コンポーネントで、 を選択しますThird party managed

    選択されたコンポーネントについては、次の設定を指定できます。

    • バージョニングオプション — 事前に選択されていますが、変更できます。イメージビルドで常に最新バージョンのコンポーネントが使用されるように、使用可能な最新のコンポーネントバージョンを使用するオプションを選択することをお勧めします。レシピで特定のコンポーネントバージョンを使用する必要がある場合は、コンポーネントバージョンを指定 を選択し、表示される コンポーネントバージョン ボックスにバージョンを入力できます。

    • 入力パラメータ — コンポーネントが受け付ける入力パラメータを表示します。 には、以前のバージョンのレシピの値があらかじめ入力されています。このレシピでこのコンポーネントを初めて使用する場合、入力パラメータにデフォルト値が定義されていると、そのデフォルト値が [値] ボックスにグレーアウトされたテキストで表示されます。他の値を入力しない場合、Image Builder はデフォルト値を使用します。

      入力パラメータが必須で、コンポーネントにデフォルト値が定義されていない場合は、値を指定する必要があります。必須パラメータのいずれかが不足していてデフォルト値も定義されていない場合、Image Builder はレシピバージョンを作成しません。

      重要

      コンポーネントパラメータはプレーンテキストの値で、 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 パラメータストアを参照。

    バージョニング管理オプション または [入力パラメータ] の設定を拡張するには、設定名の横にある矢印を選択します。選択したすべてのコンポーネントの設定をすべて展開するには、[すべて展開] スイッチのオンとオフを切り替えます。

  • ストレージ (ボリューム) — あらかじめ入力されています。ルートボリュームの デバイス名スナップショット、及び IOPS の選択は編集できません。ただし、サイズ など、残りの設定はすべて変更できます。新しいボリュームを追加したり、新規または既存のボリュームを暗号化したりすることもできます。

    Image Builder がソースリージョン (ビルドが実行される地域) のアカウントで作成するイメージのボリュームを暗号化するには、イメージレシピでストレージボリューム暗号化を使用する必要があります。ビルドの配布フェーズで実行される暗号化は、他のアカウントまたはリージョンに配布されるイメージのみに適用されます。

    注記

    ボリュームに暗号化を使用する場合は、ボリュームごとにキーを個別に選択する必要があります。これは、そのキーがルートボリュームに使用されるものと同じ場合でも同様です。

注記

既存のレシピがない場合は、Image Builder パイプラインウィザードを使用するか、ナビゲーションペインから Image recipes を選択し、Create image recipe を選択します。このセクションで説明するフィールドは、新しいレシピと新しいバージョンの両方に適用されます。

新しいイメージレシピバージョンを作成するには:
  1. レシピの詳細ページの上部で、新しいバージョンを作成 を選択します。これにより、イメージレシピの作成ページが開きます。

  2. 新しいバージョンを作成するには、変更を加え、レシピの作成を選択します。

    最終イメージには、 AWS Marketplace イメージ製品とコンポーネントから最大 9 つの製品コードを含めることができます。ベースイメージとコンポーネントがこの制限を超えた場合、Image Builder はレシピの作成中にエラーを返します。

イメージレシピを作成する前に、次の制約事項を確認してください。

  • 最終イメージには、ベースイメージとコンポーネントから組み合わせた最大 9 つの AWS Marketplace 製品コードを含めることができます。製品コードは、課金とライセンスのために有料またはサポートされている AMI にア AWS Marketplace タッチする識別子です。

  • 最大 20 個のコンポーネントを含めることができます (ビルドとテストの組み合わせ)。これはデフォルトの制限であり、引き上げをリクエストできます AWS サポート。

  • レシピに同じコンポーネントを複数回表示することはできません。

  • すべてのコンポーネントは、ベースイメージのプラットフォーム (Linux、Windows、macOS) と一致する必要があります。コンポーネントは、そのメタデータが利用可能になったときに OS バージョンもサポートする必要があります。

イメージパイプラインの作成時にイメージレシピを作成する方法の詳細については、このガイドのステップ 2: レシピを選択する「開始方法」セクションの「」を参照してください。

を使用してイメージレシピを作成する AWS CLI

で Image Builder create-image-recipe コマンドを使用してイメージレシピを作成するには AWS CLI、次の手順に従います。

前提条件

このセクションの Image Builder コマンドを実行して からイメージレシピを作成する前に AWS CLI、オプションでレシピが使用するコンポーネントを作成できます。次のステップのイメージレシピの例は、このガイドの からカスタムコンポーネントを作成する AWS CLI セクションで作成したサンプルコンポーネントを参照しています。

レシピにコンポーネントを含める場合は、含める ARNs を書き留めます。既存の AMIsまたはディストリビューションのみのワークフローをテストするためのコンポーネントなしでレシピを作成することもできます。

  1. CLI 入力 JSON ファイルの作成

    create-image-recipe コマンドのすべての入力をインラインコマンドパラメータで指定できます。ただし、生成されるコマンドはかなり長くなる可能性があります。コマンドを効率化するために、代わりにすべてのレシピ設定を含む JSON ファイルを提供できます。

    注記

    JSON ファイル内のデータ値の命名規則は、Image Builder API オペレーションリクエストパラメータに指定されたパターンに従います。API オペレーションリクエストパラメータを確認するには、EC2 Image Builder API リファレンスCreateImageRecipe コマンドを参照してください。

    データ値をコマンドラインパラメータとして指定するには、AWS CLI コマンドリファレンスで指定されているパラメータ名を参照してください。

    以下に、これらの例で指定するパラメータの概要を示します。

    • 名前 (文字列、必須) — イメージレシピの名前。

    • 説明 (文字列) — イメージレシピの説明。

    • parentImage (文字列、必須) — イメージレシピがカスタマイズしたイメージのベースとして使用するイメージ。親イメージは、次のいずれかのオプションを使用して指定できます。

      • AMI ID – カスタマイズする特定の AMI ( などami-1234567890abcdef1) がある場合に使用します。AMI ID は静的であるため、レシピで新しいベースイメージを自動的に取得する場合は、Image Builder イメージ ARN または SSM パラメータを使用することをお勧めします。

      • Image Builder イメージリソース ARN – Image Builder イメージ上にビルドする場合に使用します。これには、Image Builder が最も一般的なオペレーティングシステムに提供する Amazon マネージドイメージと、以前に作成したイメージが含まれます。セマンティックバージョンでイメージ ARN を指定するか、バージョンワイルドカードを使用して常に最新バージョンを取得します。

      • AWS Systems Manager (SSM) Parameter Store パラメータ – 新しいレシピバージョンを作成せずにレシピで新しい AMI IDs を自動的に取得する場合に使用します。パラメータの前に を付けssm:、その後にパラメータ名または ARN を付けます。これは、常に最新の Amazon Linux または Windows ベースイメージを使用する必要があるパイプラインに最適です。

      • AWS Marketplace product ID – で AMI 製品をサブスクライブ AWS Marketplace し、さらにカスタマイズする場合に使用します。

      注記
      • AMI ID または AMI に解決される SSM パラメータを使用する場合は、アカウントでその AMI にアクセスできる必要があります。AMI は、Image Builder がビルドを実行するのと同じリージョンにも存在する必要があります。

      • Linux および macOS の例では AMI ID を指定し、Windows の例では Image Builder イメージ ARN を使用します。

    • semanticVersion (文字列、必須) – 作成するバージョン番号を <major>.<minor>.<patch> の形式で入力します。Image Builder はレシピの自動バージョン増分をサポートしているため、レシピバージョンでワイルドカードパターンを使用できます。などのワイルドカードバージョンでレシピを作成すると1.0.x、Image Builder は自動的にバージョンを増分します (、1.0.11.0.2、 など1.0.3)。これにより、レシピのバージョンを手動で追跡して増分する必要がなくなります。Image Builder リソースのセマンティックバージョニングの詳細については、Image Builder でのセマンティックバージョニングを参照してください。

    • components (配列、オプション) – ComponentConfiguration オブジェクトの配列が含まれます。コンポーネントはオプションです。テストまたはディストリビューションワークフロー用のコンポーネントなしでレシピを作成できます。

      注記

      Image Builder は、レシピで指定した順序でコンポーネントをインストールします。しかし、CIS のハードニング・コンポーネントは、ベンチマーク・テストが出力イメージに対して実行されるように、常に最後に実行します。

      • コンポーネント ARN (文字列、必須) — コンポーネント ARN。

        ヒント

        例の 1 つを使用して独自のイメージレシピを作成するには、サンプル ARN をレシピに使用しているコンポーネントの ARN に置き換える必要があります。

      • パラメータ (オブジェクトの配列) — ComponentParameter オブジェクトの配列が含まれます。入力パラメータが必須で、コンポーネントにデフォルト値が定義されていない場合は、値を指定する必要があります。必須パラメータのいずれかが不足していてデフォルト値も定義されていない場合、Image Builder はレシピバージョンを作成しません。

        重要

        コンポーネントパラメータはプレーンテキストの値で、 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 パラメータストアを参照。

        • 名前 (文字列、必須) — 設定するコンポーネントパラメータの名前。

        • (文字列の配列、必須) — 指定されたコンポーネントパラメータの値を設定する文字列の配列を含みます。コンポーネントにデフォルト値が定義されていて、他の値が指定されていない場合、 はデフォルト値 AWSTOE を使用します。

    • amiWatermarks (文字列の配列、オプション) – このレシピから構築された出力 AMIs にアタッチするウォーターマーク名のリスト。ウォーターマークは、イメージの履歴を追跡するのに役立つ系統マーカーです。1~5 の名前を指定します。各名前は 3~128 文字で、文字、数字、スペース、特殊文字 を含めることができます( ) [ ] . / - ' @ _。詳細については、「ウォーターマークを使用して AMI 系統を追跡する」を参照してください。

    • 追加のインスタンス設定 (オブジェクト) — ビルドインスタンス用の追加設定と起動スクリプトを指定します。

      • systemsManagerAgent (オブジェクト) - ビルド・インスタンス上の Systems Manager エージェントの設定が含まれます。

        注記

        Windows レシピは systemsManagerAgent設定をサポートしていません。Windows の親イメージに含めると、リクエストは失敗します。

        • uninstallAfterBuild (Boolean) - 新しい AMI を作成する前に、Systems Manager エージェントを最終ビルド・イメージから削除するかどうかを制御します。これが true に設定されている場合、エージェントは最終イメージから削除されます。オプションがfalseに設定されている場合、エージェントは新しい AMI に含まれるように残され デフォルト値は false です。

          注記

          uninstallAfterBuild 属性が JSON ファイルに含まれておらず、次の条件に当てはまる場合、Image Builder は最終イメージから Systems Manager エージェントを削除し、AMI で使用できないようにします。

          • userDataOverride は空であるか、JSON ファイルから省略されています。

          • Image Builder は、ベースイメージにエージェントがプリインストールされていないオペレーティングシステムのビルドインスタンスに Systems Manager エージェントを自動的にインストールしました。

      • ユーザーデータの上書き (文字列) — 構築インスタンスを起動するときに実行するコマンドまたはコマンドスクリプトを指定します。

        注記

        ユーザーデータは常に Base 64 でエンコードされます。例えば、以下のコマンドは IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg== としてエンコードされます。

        #!/bin/bash mkdir -p /var/bb/ touch /var

        Linux の例では、このエンコードされた値を使用しています。

    Linux

    次の例のベースイメージ (parentImage プロパティ) は AMI です。AMI を使用するときは、その AMI にアクセスできる必要があり、AMI はソースリージョン (Image Builder がコマンドを実行するのと同じリージョン) にある必要があります。ファイルをcreate-image-recipe.jsonの名前で保存し、create-image-recipeコマンドで使用します。

    { "name": "BB Ubuntu Image recipe", "description": "Hello World image recipe for Linux.", "parentImage": "ami-1234567890abcdef1", "semanticVersion": "1.0.0", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/bb$" } ], "additionalInstanceConfiguration": { "systemsManagerAgent": { "uninstallAfterBuild": true }, "userDataOverride": "IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg==" } }
    Windows

    次の例は、Windows Server 2016 英語版フルベースイメージの最新バージョンを参照しています。この例の ARN は、指定したセマンティックバージョンフィルターに基づいて最新のイメージを参照します。 arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x

    { "name": "MyBasicRecipe", "description": "This example image recipe creates a Windows 2016 image.", "parentImage": "arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x", "semanticVersion": "1.0.0", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/my-example-component/2019.12.02/1" }, { "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/my-imported-component/1.0.0/1" } ] }
    注記

    Image Builder リソースのセマンティックバージョニングの詳細については、Image Builder でのセマンティックバージョニングを参照してください。

    macOS

    次の例のベースイメージ (parentImage プロパティ) は AMI です。AMI を使用するときは、その AMI にアクセスできる必要があり、AMI はソースリージョン (Image Builder がコマンドを実行するのと同じリージョン) にある必要があります。ファイルをcreate-image-recipe.jsonの名前で保存し、create-image-recipeコマンドで使用します。

    { "name": "macOS Catalina Image recipe", "description": "Hello World image recipe for macOS.", "parentImage": "ami-1234567890abcdef1", "semanticVersion": "1.0.0", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/catalina$" } ], "additionalInstanceConfiguration": { "systemsManagerAgent": { "uninstallAfterBuild": true }, "userDataOverride": "IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg==" } }

    例: コンポーネントのないレシピ

    レシピは、既存の AMIsまたはディストリビューション専用のワークフローをテストするためのコンポーネントなしで作成できます。次の例は、追加のコンポーネントを適用せずに既存の AMI を使用するレシピを示しています。

    { "name": "Test Distribution Recipe", "description": "Recipe for testing and distributing existing AMI without modifications.", "parentImage": "ami-1234567890abcdef1", "semanticVersion": "1.0.0", "additionalInstanceConfiguration": { "systemsManagerAgent": { "uninstallAfterBuild": true } } }
  2. レシピを作成する

    レシピを作成するには以下のコマンドを使用します。前のステップで作成した JSON ファイルの名前を --cli-input-json パラメータに入力します。

    aws imagebuilder create-image-recipe --cli-input-json file://create-image-recipe.json
    注記
    • JSON ファイルパスの先頭に file:// 表記を含める必要があります。

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

    最終イメージには、 AWS Marketplace イメージ製品とコンポーネントから最大 9 つの製品コードを含めることができます。create-image-recipe コマンドの実行時にベースイメージとコンポーネントがこの制限を超えた場合、Image Builder はレシピの作成中にエラーを返します。

    コマンドは、次の出力例に示すように、新しいイメージレシピの ARN を返します。

    { "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-recipe/1.0.1" }
  3. レシピを検証する

    Image Builder がレシピを期待どおりに作成したことを確認するには、前のステップで返された ARN を使用して get-image-recipe コマンドを実行します。

    aws imagebuilder get-image-recipe --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-recipe/1.0.1

作業ディレクトリパス

作業ディレクトリは、Image Builder がビルドおよびテストオペレーションを実行するビルドインスタンスのファイルシステムパスを指定します。Image Builder はこのパスをコマンド実行の作業ディレクトリ AWS Systems Manager として に渡します。

作業ディレクトリを指定しない場合、Image Builder は次のデフォルトを使用します。

  • Linux: /tmp

  • macOS: /tmp

  • Windows: C:/

Windows の場合、パスに二重引用符 (") 文字を含めることはできません。

ヒント

インストール中にコンポーネントがデフォルトのディレクトリが提供するよりも多くの一時ディスク容量を必要とする場合は、作業ディレクトリをより大きなアタッチされたボリュームのパスに設定します。

AMI タグ

Image Builder がビルドフェーズ中に作成する AMI に、イメージ配布の前にタグを適用できます。Image Builder は、レシピ自体のリソースタグとは別に、これらのタグを AMI に適用します。JSON 入力ファイルの amiTagsパラメータを使用して AMI タグを指定します。

注記

予約済みタグキーCreatedByまたは を使用することはできませんEc2ImageBuilderArn。Image Builder はこれらのキーを自動的に管理します。

{ "name": "tagged-recipe", "semanticVersion": "1.0.0", "parentImage": "arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2023-x86/x.x.x", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:aws:component/update-linux/x.x.x" } ], "amiTags": { "Environment": "Production", "Team": "Platform", "CostCenter": "12345" } }

一般的なエラーとトラブルシューティング

次の表に、イメージレシピの作成時に発生する可能性がある一般的なエラーとその解決方法を示します。

エラー 原因 解決策
「コンポーネントはイメージレシピで最大 1 回指定できます」 重複コンポーネント (別のバージョンでも)。 重複した を削除します。各コンポーネントのバージョンは 1 つだけ使用してください。
「コンポーネント ARN が親イメージプラットフォームと一致しません」 プラットフォームの不一致。 ベースイメージプラットフォームを確認します。Linux AMIs で Linux コンポーネントなどを使用します。
「コンポーネント ARN は親イメージ OS バージョンをサポートしていません」 OS バージョンの非互換性。 コンポーネントのサポートされている OS バージョンを確認します。互換性のあるコンポーネントバージョンを使用します。
「Image Builder は Windows での SSM エージェントの設定をサポートしていません」 Windows の親イメージsystemsManagerAgentで を指定しました。 additionalInstanceConfiguration.systemsManagerAgent ブロックを削除します。
「コンポーネントの最大累積サイズである 25 KB を超えました」 パラメータが多すぎる、または大きすぎる。 パラメータ数を減らすか、パラメータ値を短くします。
「レシピには最大 9 つのマーケットプレイス製品を含めることができます」 AWS Marketplace 製品コードが多すぎます。 AWS Marketplace コンポーネントの数を減らすか、製品コードが少ないベースイメージを使用します。
「指定されたセマンティックバージョンが必要な形式に従っていません」 無効なバージョン文字列。 major.minor.patch 形式を 1 つのオプションのxワイルドカードで使用します。
「コンポーネント ARN ... は非推奨であり、新しいレシピに含めることはできません」 (または「無効」) 参照されるコンポーネントDISABLEDのステータスは DEPRECATEDまたは です。 現在のコンポーネントバージョンに更新します。

VM をベースイメージとしてコンソールにインポートする

このセクションでは、イメージレシピのベースイメージとして仮想マシン (VM) をインポートする方法について説明します。ここでは、レシピまたはレシピバージョンの作成に関連する他の手順については説明していません。Image Builder コンソールのパイプライン作成ウィザードを使用して新しいイメージレシピを作成するその他の手順については、「パイプラインウィザード: AMI の作成」を参照してください。新しいイメージレシピまたはレシピバージョンを作成するその他の手順については、「イメージレシピの新しいバージョンを作成する」を参照してください。

Image Builder コンソールでイメージレシピのベースイメージとして VM をインポートするには、以下の手順とその他の必要な手順に従って、レシピまたはレシピバージョンを作成します。

  1. ベースイメージの イメージの選択 セクションで、ベースイメージをインポート オプションを選択します。

  2. 通常どおり、イメージオペレーティングシステム (OS)OS バージョン を選択します。

VM インポート設定

VM を仮想化環境からエクスポートすると、そのプロセスによって VM 環境、設定、データのスナップショットとして機能する 1 つ以上のディスクコンテナファイルのセットが作成されます。これらのファイルを使用して、VM をイメージレシピのベースイメージとしてインポートできます。Image Builder での VM のインポートに関する詳細については、「VM イメージのインポートとエクスポート」を参照してください。

インポートソースの場所を指定するには、次の手順に従います。

インポートソース

ディスクコンテナ 1 セクションで、インポートする最初の VM イメージディスクコンテナまたはスナップショットのソースを指定します。

  1. ソース - これは S3 バケットまたは EBS スナップショットのいずれかになります。

  2. ディスクの S3 の場所を選択 - ディスクイメージが保存されている Amazon S3 の場所を入力します。場所を参照するには、[S3 を参照] を選択します。

  3. ディスクコンテナを追加するには、[ディスクコンテナを追加] を選択します。

IAM ロール

IAM ロールを VM インポート設定に関連付けるには、[IAM ロール] ドロップダウンリストからロールを選択するか、[新規ロールを作成] を選択して新しいロールを作成します。新しいロールを作成すると、[IAM ロール] コンソールページが別のタブで開きます。

詳細設定 - オプション

次のオプション設定はオプショナルです。これらの設定により、インポートによって作成されるベースイメージの暗号化、ライセンス、タグなどを設定できます。

General
  1. ベースイメージに固有の 名前 を指定します。値を入れない場合、ベースイメージで自動的にレシピ名が継承されます。

  2. ベースイメージの バージョン を指定します。形式は以下のようになります: <major>.<minor>.<patch> 値を入力しない場合、ベースイメージはレシピバージョンを継承します。

  3. ベースイメージの 説明 を入力することもできます。

ベースイメージアーキテクチャ

VM インポートソースのアーキテクチャを指定するには、アーキテクチャ リストから値を選択します。

暗号化

VM ディスクイメージが暗号化されている場合は、インポートプロセスに使用するキーを指定する必要があります。インポート AWS KMS key に を指定するには、暗号化 (KMS キー) リストから値を選択します。このリストには、現在のリージョンでアカウントがアクセスできる KMS キーが含まれています。

ライセンス管理

VM をインポートすると、インポートプロセスによって VM OS が自動的に検出され、適切なライセンスがベースイメージに適用されます。お使いの OS プラットフォームに応じて、ライセンスの種類は次のとおりです。

  • License included - あなたのプラットフォームに適した AWS ライセンスがベースイメージに適用されます。

  • Bring-Your-Own-License (BYOL) - VM のライセンスを保持します(該当する場合)。

で作成したライセンス設定をベースイメージ AWS License Manager にアタッチするには、ライセンス設定名リストから を選択します。License Manager の詳細については、「License Manager ユーザーガイド」の「ライセンス設定の操作」を参照してください。

注記
  • ライセンスコンフィギュレーションには、企業契約の条件に基づくライセンスルールが含まれています。

  • Linux は BYOL ライセンスのみをサポートします。

タグ (ベースイメージ)

タグはキーと値のペアを使用して、検索可能なテキストを Image Builder リソースに割り当てます。インポートしたベースイメージのタグを指定するには、キー ボックスと ボックスにキーと値のペアを入力します。

タグを追加するには、[タグの追加] を選択します。タグを削除するには、[タグの削除] を選択します。