AWS Marketplace API リファレンスが再構築されました。サポートされている API オペレーションの詳細については、AWS Marketplace API リファレンスを参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
EC2 Image Builder コンポーネント製品を操作する
AWS Marketplace 販売者は、EC2 Image Builder コンポーネントを使用して AWS Marketplace 購入者に配信される AMI ベースの製品を一覧表示できます。コンポーネントを作成して AWS Marketplace 出品を公開するには、以下のセクションを順番に進めます。
トピック
Image Builder コンポーネントの構築とテスト
Image Builder でコンポーネントを構築してテストします。手順については、「Image Builder ユーザーガイド」の「Image Builder イメージのカスタムコンポーネントの開発」を参照してください。Image Builder を使用してコンポーネントを作成するときは、以下を実行してください。
-
Amazon Simple Storage Service (Amazon S3) バケット、シークレット、パラメータなど、コンポーネントとその基盤となるすべての依存関係は、米国東部 (バージニア北部) (
us-east-1) AWS リージョンで作成する必要があります。 -
コンポーネントの説明に、サポートされているアーキテクチャとソフトウェアの依存関係を含めます。
-
イメージパイプラインを作成し、パイプラインによって作成された AMI をデプロイして、 AWS アカウントのコンポーネントをテストします。
-
コンポーネントに S3 バケットからバイナリ、パッケージ、またはファイルをコピーする手順が含まれている場合は、
S3Downloadアクションモジュールを使用します。S3Downloadモジュールで、 にsourceS3 バケット内のファイルの静的な場所を入力します。次の の例では、コンポーネントのインストールの一部として S3 バケットからバイナリをコピーします。- name: DownloadMyFile action: S3Download inputs: - source: s3://amzn-s3-demo-source-bucket/path/to/package.zip destination: C:\myfolder\package.zip -
コンポーネントは、
S3Downloadアクションを使用するときに最大 2 GB のファイルを取り込むことができます。 -
コンポーネントがパラメータを使用する場合は、すべてのパラメータにデフォルト値があることを確認してください。たとえば、 という名前のパラメータがある場合は
region、 などの有効なデフォルト値があることを確認してくださいus-east-1。これらのデフォルト値は、 AWS Marketplace 処理とテスト用です。デフォルト値を含めない場合、テストが失敗することがあります。 -
コンポーネントが AWS Secrets Manager、、Parameter Store、または の機能 AWS Systems Manager を使用してパラメータを保存する場合は、次の操作を行います。
-
-
コンポーネントのステップとして値を取得するには、YAML 設定ファイルにコマンドを埋め込み AWS Command Line Interface ます。
-
AWS アカウントの Secrets Manager または Parameter Store で対応するエントリを作成します。デフォルトのキーを使用し、 AWS Marketplace テストプロセス中にコンポーネントを構築するのに役立つ有効な値を指定します。たとえば、Parameter Store を使用するデフォルト値
saas_tokenがtokenの というパラメータがあるとします。この場合、Parameter Store でキーと値のペアを作成します。をキーtokenとして使用します。値には、アプリケーションの有効な SaaS トークンを入力します。AWS Marketplace 販売者アカウントに保存されている値は、 AWS Marketplace テスト目的でのみ使用されることに注意してください。これらの値は購入者と共有されません。
-
AWS Marketplace は、コンポーネントの作成プロセス中に選択した互換性のあるすべてのオペレーティングシステムバージョンにわたって、コンポーネントの Amazon マシンイメージ (AMIs) を自動的に生成します。コンポーネントを構築するときは、互換性のあるオペレーティングシステムのバージョンを少なくとも 1 つ選択します。EC2 Image Builder パイプラインを使用して AMIs。
-
コンポーネント ARN のコピー
Image Builder でコンポーネントを作成してテストしたら、コンポーネント ARN をコピーして保存します。 AWS Marketplace Catalog API を使用して製品リストを発行するときは、ARN を使用します。
Image Builder コンポーネント ARN をコピーするには
-
AWS マネジメントコンソールにサインインし、 で Image Builder コンソールを開きますhttps://console.aws.amazon.com/imagebuilder/
。 -
左側のナビゲーションバーで、保存されたリソースで、コンポーネントを選択します。
-
「コンポーネント」ページの「フィルター所有者」で「自分が所有する」を選択します。
-
コンポーネント名を選択します。
-
コンポーネントの詳細ページの「概要」セクションで、ARN をコピーします。
IAM AWS Marketplace ポリシーの作成
次の IAM ポリシーを作成して、Image Builder コンポーネントおよび Amazon S3 バケットやシークレットなどの関連リソース AWS Marketplace へのアクセスを許可します。提供されているポリシーの例を使用します。これらのポリシーを AWS Marketplace IAM ロールにアタッチします。ポリシーの作成については、IAM ユーザーガイドの「JSON エディタを使用したポリシーの作成」を参照してください。
-
Image Builder のコンポーネントへのアクセス AWS Marketplace を許可する Image Builder の get-component ポリシー。このポリシーは必須です。ポリシーには
mp_ib_ingestという名前を付けます。 -
AWS Marketplace が S3 バケットからバイナリを取得できるようにする Amazon S3 読み取りアクセスポリシー。このポリシーは、コンポーネントが
S3Downloadアクションモジュールを使用し、関連するバイナリを S3 バケットに保存している場合にのみ必要です。ポリシーにはmp_ib_s3_read_onlyという名前を付けます。 -
Secrets Manager の読み取りアクセスポリシー。Secrets Manager に保存されているシークレットの取得 AWS Marketplace を に許可します。このポリシーは、コンポーネントが Secrets Manager を使用してシークレットを保存する場合にのみ必要です。ポリシーには
mp_ib_sm_read_onlyという名前を付けます。ポリシーをシークレットのみに制限するには、Resourceセクション*の をシークレットに置き換えます。 -
Parameter Store の読み取りアクセスポリシー。 AWS Marketplace が Parameter Store に保存されているシークレットを取得できるようにします。このポリシーは、コンポーネントが Parameter Store を使用してシークレットを保存する場合にのみ必要です。ポリシーには
mp_ib_ssm_parameter_read_onlyという名前を付けます。ポリシーをシークレットのみに制限するには、Resourceセクション*の をシークレットに置き換えます。
IAM AWS Marketplace ロールの作成
以下の手順に従って、コンポーネントとその依存関係 AWS Marketplace へのアクセスを許可するポリシーを持つ AWS Marketplace IAM ロールを作成します。
IAM AWS Marketplace ロールを作成するには
-
AWS マネジメントコンソールにサインインし、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 -
左側のナビゲーションバーで、ロールを選択します。
-
[ロールの作成] を選択してください。
-
カスタム信頼ポリシーを選択します。
-
次のステートメントを入力します。
-
[次へ] を選択します。
-
前に作成した Image Builder の get-component ポリシーを追加します。get-component ポリシーが必要です。コンポーネントがこれらの AWS サービスを使用している場合は、S3、Secrets Manager、および Parameter Store に関連するポリシーを追加します。
-
[次へ] を選択します。
-
などのロール名を入力します
MPEC2IBIngestion。 -
[ロールの作成] を選択してください。
IAM AWS Marketplace ロール ARN のコピー
IAM AWS Marketplace ロールを作成したら、ロール ARN をコピーして保存します。 AWS Marketplace Catalog API を使用してリストを公開するときに ARN を使用します。
IAM AWS Marketplace ロール ARN をコピーするには
-
IAM コンソールの左側のナビゲーションバーで、ロールを選択します。
-
など、前に作成した AWS Marketplace IAM ロールを選択します
MPEC2IBIngestion。 -
ロールの詳細ページで、概要セクションで ARN をコピーします。
Image Builder コンポーネントのリストを準備する
AWS Marketplace 出品を公開する前に、次の情報が準備されていることを確認します。
-
製品メタデータ – メタデータには、製品ロゴ、製品タイトル、エンドユーザーライセンス契約、サポートされているインスタンスタイプ、AWS リージョンが含まれます。
-
料金情報 – 最初の無料トライアル期間では、製品を無料で、時間単位の料金で、または時間単位の料金で提供できます。Bring Your Own License (BYOL) はサポートされていません。
-
コンポーネントの詳細 – 詳細には、コンポーネントを処理するために AWS Marketplace が引き受けるコンポーネント Amazon リソースナンバー (ARN)、使用状況の詳細、 AWS Identity and Access Management および (IAM) ロールが含まれます。
Image Builder コンポーネントの製品リストの公開
このトピックでは、 AWS Marketplace Catalog API AWS Marketplace を使用して EC2 Image Builder コンポーネントリストを に公開する手順について説明します。
前提条件
Image Builder コンポーネントの製品リストを発行する前に、以下があることを確認してください。
-
販売者としての登録 AWS Marketplace。詳細については、「AWS Marketplace 販売者としての登録
」を参照してください。 -
アクセス
AWSMarketplaceSellerFullAccess許可を持つ IAM ユーザー。 -
コンポーネントで使用されている場合、会社のロゴと EULA をホストするためのパブリックアクセス可能な Amazon Simple Storage Service (Amazon S3) バケット。JSON ファイルに S3 バケットの URL
ChangeSetを入力します。 -
AWS Command Line Interface (AWS CLI)。 詳細については、「AWS コマンドラインインターフェイスとは」を参照してください。 AWS Command Line Interface ユーザーガイドの「」を参照してください。
での Image Builder コンポーネント製品の作成 AWS Marketplace
Catalog API AWS Marketplace を使用して で EC2 Image Builder コンポーネント製品を作成するには、「」を参照してください製品を作成する。
Image Builder コンポーネント製品情報の更新
Image Builder コンポーネント製品に関する情報は、 AWS Marketplace 管理ポータルで更新できます。
Image Builder コンポーネントの製品情報を更新するには
-
AWS Marketplace 管理ポータル
を開き、販売者アカウントにサインインします。 -
製品メニューで、サーバーを選択します。
-
サーバー製品ページで、製品を選択します。
-
製品の詳細ページで、変更のリクエストメニューで、更新する情報に対応する項目を選択します。
-
変更を送信すると、リクエストは「レビュー中」ステータスのリクエストタブに表示され、完了すると「成功」に変わります。
既存の Image Builder コンポーネント製品に新しいバージョンを追加する
AWS Marketplace を使用して、 で Image Builder コンポーネント製品に新しいバージョンを追加できます AWS Marketplace Catalog API。
新しいバージョンを追加するには
-
から AWS Marketplace 管理ポータル、製品 ID を取得します。
-
AWS Marketplace 管理ポータル
を開き、販売者アカウントにサインインします。 -
製品メニューで、サーバーを選択します。
-
サーバー製品ページで、製品を選択します。
-
製品概要で、製品 ID をコピーします。
-
-
次のコード例を使用して、JSON 形式で変更セットファイルを作成します。この例では、
your-product-IDをステップ 1 で取得した製品 ID に置き換えます。new-version-nameをバージョンタイトルに置き換えます。new-delivery-option-titleを配信オプションタイトルに置き換えます。[ { "ChangeType": "AddDeliveryOptions", "Entity": { "Identifier": "your-product-ID", "Type": "AmiProduct@1.0" }, "DetailsDocument": { "Version": { "VersionTitle": "new-version-name", "ReleaseNotes": "Release notes goes here." }, "DeliveryOptions": [ { "DeliveryOptionTitle": "new title", "Details": { "Ec2ImageBuilderComponentDeliveryOptionDetails": { "UsageInstructions": "Test usage instructions for IB", "AccessRoleArn": "arn:aws:iam::123456789:role/sample", "ComponentArn": "arn:aws:imagebuilder:us-east-1:123456789:component/sample/2.0.0/1" } } } ] } } ] -
変更セットファイルを という名前で保存します
addIBversion.json。 -
ターミナルまたはで AWS CloudShell、次のコマンドを実行します。
aws marketplace-catalog start-change-set --catalog AWSMarketplace --region us-east-1 --change-set file://addIBversion.json
start-change-set コマンドはChangeSetId値を返します。変更セットをモニタリングするには、「」を参照してください変更セットのモニタリング。
非同期エラー
以下のエラーは、 のAddDeliveryOptionsアクションに固有のものです AWS Marketplace Catalog API。これらのエラーは、変更セットの処理DescribeChangeSet後に を呼び出すと返されます。DescribeChangeSet を使用して変更リクエストのステータスを取得する方法の詳細については、「」を参照してください変更セットの使用。
注記
次のエラーコードは、Image Builder 配信方法に固有のものです。、Usage Instructions、 などのフィールドの既存のエラーメッセージについてはAccessRoleArn、Recommended Instance type「」を参照してください新しいバージョンを追加する。
| エラーコード | エラーメッセージ |
|---|---|
ASSET_NOT_FOUND |
|
ASSET_NOT_FOUND |
|
DUPLICATE_COMPONENT_NAME |
|
DUPLICATE_COMPONENT_NAME |
|
DUPLICATE_COMPONENT_ARN |
|
DUPLICATE_COMPONENT_ARN |
|
SCAN_ERROR |
|
ASSET_ACCESS_EXCEPTION |
|
ASSET_ACCESS_EXCEPTION |
|
ASSET_ACCESS_EXCEPTION |
|
ASSET_ACCESS_EXCEPTION |
|
INVALID_IMAGE_BUILDER_COMPONENT_PACKAGE |
|
INVALID_IMAGE_BUILDER_COMPONENT_PACKAGE |
|
TOO_MANY_IMAGE_BUILDER_COMPONENTS |
|
INCOMPLETE_SELLER_PUBLIC_PROFILE |
|
INVALID_DESCRIPTION |
|
INVALID_COMPONENT_NAME |
|
INVALID_SUPPORTED_OS_VERSION |
|
INVALID_PATH_FORMAT |
|
INCOMPATIBLE_OS_TYPE |
|
ASSET_ACCESS_EXCEPTION |
|
ASSET_ACCESS_EXCEPTION |
|
INVALID_IB_COMPONENT_BUILD_VERSION |
|
INVALID_IB_COMPONENT_PARAMETER |
|
INVALID_IB_COMPONENT_PARAMETER |
|
MISSING_IB_COMPONENT_PARAMETER |
|
INVALID_IB_COMPONENT_PARAMETER |
|
FAILED_LAUNCH_TEST |
|
SSHAuthFailedForUserAndKeypair |
|
INVALID_IB_COMPONENT |
|
DUPLICATE_VERSION_TITLE |
|
INVALID_VERSION_TITLE |
|
INVALID_VERSION_TITLE |
|
INVALID_VERSION_TITLE |
|
INVALID_VERSION_TITLE |
|
INVALID_RELEASE_NOTES |
|
INVALID_RELEASE_NOTES |
|
INVALID_RELEASE_NOTES |
|
INVALID_RELEASE_NOTES |
|
INVALID_USAGE_INSTRUCTIONS |
|
INVALID_USAGE_INSTRUCTIONS |
|
INVALID_USAGE_INSTRUCTIONS |
|
DUPLICATE_DELIVERY_OPTION_TITLES |
|
INVALID_DELIVERY_OPTION_TITLES |
|
既存のバージョンに関する情報の更新
既存のバージョンに関する情報を更新するには
-
から AWS Marketplace 管理ポータル、製品 ID を取得します。
-
AWS Marketplace 管理ポータル
を開き、販売者アカウントにサインインします。 -
製品メニューで、サーバーを選択します。
-
サーバー製品ページで、製品を選択します。
-
製品概要で、製品 ID をコピーします。
-
-
ターミナルで、次のコマンドを実行します。コマンドで、
your-product-IDをステップ 1 で取得した ID に置き換えます。aws marketplace-catalog describe-entity --catalog AWSMarketplace --region us-east-1 --entity-id 'your-product-ID' -
返された出力で、
DetailsDocumentVersions「」セクションに移動します。更新するバージョンのDeliveryOptions、Id値をコピーします。 -
次のコード例を使用して、JSON 形式で変更セットファイルを作成します。この例では、
your-product-IDをステップ 1 で取得した製品 ID に置き換えます。your-release-notesをリリースノートに置き換えます。your-delivery-option-IDを、ステップ 3 で取得した配信オプションの ID に置き換えます。your-usage-instructionsを使用方法に置き換えます。[ { "ChangeType": "UpdateDeliveryOptions", "Entity": { "Identifier": "your-product-ID", "Type": "AmiProduct@1.0" }, "DetailsDocument": { "Version": { "ReleaseNotes": "your-release-notes" }, "DeliveryOptions": [ { "Id": "your-delivery-option-ID", "Details": { "Ec2ImageBuilderComponentDeliveryOptionDetails": { "UsageInstructions": "your-usage-instructions" } } } ] } } ] -
変更セットファイルを という名前で保存します
updateVersionInfo.json。 -
ターミナルまたはで AWS CloudShell、次のコマンドを実行します。
aws marketplace-catalog start-change-set --catalog AWSMarketplace --region us-east-1 --change-set file://updateVersionInfo.json
start-change-set コマンドはChangeSetId値を返します。変更セットをモニタリングするには、「」を参照してください変更セットのモニタリング。
Image Builder コンポーネント製品バージョンの制限
バージョンを制限すると、購入者はバージョンを使用できなくなります。 AWS Marketplace Catalog API AWS Marketplace を使用して、 で Image Builder コンポーネント製品のバージョンを制限できます。少なくとも 1 つのバージョンの製品を無制限に保持する必要があります AWS Marketplace。唯一のパブリックバージョンへのアクセスを制限することはできません。
既存のバージョンに関する情報を更新するには
-
から AWS Marketplace 管理ポータル、製品 ID を取得します。
-
AWS Marketplace 管理ポータル
を開き、販売者アカウントにサインインします。 -
製品メニューで、サーバーを選択します。
-
サーバー製品ページで、製品を選択します。
-
製品概要で、製品 ID をコピーします。
-
-
ターミナルで、次のコマンドを実行します。コマンドで、
your-product-IDをステップ 1 で取得した ID に置き換えます。aws marketplace-catalog describe-entity --catalog AWSMarketplace --region us-east-1 --entity-id 'your-product-ID' -
返された出力で、
DetailsDocumentVersions「」セクションに移動します。更新するバージョンのDeliveryOptions、Id値をコピーします。 -
次のコード例を使用して、JSON 形式で変更セットファイルを作成します。この例では、
your-product-IDをステップ 1 で取得した製品 ID に置き換えます。your-delivery-option-IDを、ステップ 3 で取得した配信オプションの ID に置き換えます。[ { "ChangeType": "RestrictDeliveryOptions", "Entity": { "Identifier": "your-product-ID", "Type": "AmiProduct@1.0" }, "DetailsDocument": { "DeliveryOptionIds": [ "your-delivery-option-ID" ] } } ] -
変更セットファイルを という名前で保存します
restrictec2ibversion.json。 -
ターミナルまたはで AWS CloudShell、次のコマンドを実行します。
aws marketplace-catalog start-change-set --catalog AWSMarketplace --region us-east-1 --change-set file://restrictec2ibversion.json
start-change-set コマンドはChangeSetId値を返します。変更セットをモニタリングするには、「」を参照してください変更セットのモニタリング。
変更セットのモニタリング
start-change-set コマンドはChangeSetId値を返します。変更セットの進行状況は、次の方法でモニタリングできます。
-
ターミナルで次のコマンドを実行します。コマンドで、
changeset-IDをstart-change-setコマンドによって返されたChangeSetId値に置き換えます。aws marketplace-catalog describe-change-set ‐‐catalog AWSMarketplace ‐‐change-set-idchangesetID -
AWS Marketplace 管理ポータル
のリクエストタブでリクエストステータスを表示します。
ソフトウェアダウンロードの保護
ISV ソフトウェアの知的財産を保護し、 AWS Marketplace 購入者への安定した一貫したソフトウェア配信を確保するために、コンポーネント内の S3DownloadとWebDownloadアクションモジュール AWS Marketplace を自動的に解析します。参照されたファイルは、 が管理するプライベート Amazon S3 バケットに安全に保存されます AWS Marketplace。この取り込みプロセスをオプトアウトし、ソフトウェアのダウンロードを個別に管理するには、 を使用する bash スクリプトを実行するwgetか、 コマンドcurlをダウンロードします。