

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

# AWS Marketplace の AMI ベースの製品
<a name="ami-products"></a>

AWS Marketplace 販売者は、[Amazon マシンイメージ (AMI)](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#AmazonMachineImage) を使用して購入者に製品を配信できます。AMI は Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動するために必要な情報を提供します。製品用のカスタム AMI を作成すると、購入者はそれを使用して、製品がインストール済みですぐに使用できる EC2 インスタンスを作成できます。このトピックでは、AMI を使用した AWS Marketplace 製品の配信について説明します。

購入者が提供した AMI を使用すると、製品用に作成した料金設定と計測オプションに従って、作成したインスタンスに対して請求されます。購入者は、AMI の新しいカスタムバージョンを作成するなど、AWS の他の AMI を使用するのと同じように製品の AMI を使用できます。AMI から作成された EC2 インスタンスは、引き続き AMI 製品コードに基づいて製品として請求されます。

## AMI ベースの製品配信方法
<a name="ami-product-delivery-methods"></a>

AMI ベースの製品は、次の 3 つの方法のいずれかで配信できます。
+ **単一 AMI** - 購入者は AMI を EC2 インスタンスのテンプレートとして選択して使用します。購入者は、**Amazon マシンイメージ** の配信方法フィルターを使用してこれらの製品を見つけることができます。詳細については、「[AMI ベースの製品の作成](ami-single-ami-products.md)」を参照してください。
+ **AWS CloudFormation テンプレート** - 購入者がロールの異なる複数のインスタンスから成るシステムを 1 つのユニットとしてインストールできるようにするテンプレートを作成します。購入者は、**CloudFormation** の配信方法フィルターを使用してこれらの製品を見つけることができます。詳細については、「[製品に CloudFormation テンプレートを追加する](cloudformation.md)」を参照してください。

## その他のリソース
<a name="ami-delivery-methods-additional-resources"></a>

AMI 製品の詳細については、次のトピックを参照してください。

**AWS Marketplace**
+ [の製品料金 AWS Marketplace](pricing.md)
+ [を使用した AMI 製品のカスタム計測の設定 AWS Marketplace Metering Service](custom-metering-with-mp-metering-service.md)

**AMI ベースの製品**
+ [での AMI ベースの製品について AWS Marketplace](ami-getting-started.md)
+ [AMI ベースの製品の作成](ami-single-ami-products.md)
+ [AWS Marketplace 販売者としての AMI ベースの製品の管理](concept-chapter-servicename.md)
+ [製品に CloudFormation テンプレートを追加する](cloudformation.md)
+ [で使用する AMIs を構築するためのベストプラクティス AWS Marketplace](best-practices-for-building-your-amis.md)
+ [AWS Marketplace の AMI 製品の料金](pricing-ami-products.md)
+ [での AMI 製品の Amazon SNS 通知の受信 AWS Marketplace](ami-notification.md)
+ [AWS Marketplace 向け AMI 製品チェックリスト](aws-marketplace-listing-checklist.md)
+ [の AMI ベースの製品要件 AWS Marketplace](product-and-ami-policies.md)

# での AMI ベースの製品について AWS Marketplace
<a name="ami-getting-started"></a>

 AWS Marketplace 販売者は、[Amazon マシンイメージ (AMIs)](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#AmazonMachineImage) を使用して製品を購入者に配信できます。AMI は Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動するために必要な情報を提供します。次のセクションでは、AMI ベースの製品を使用するための主要な概念について説明します。

**注記**  
AMI 製品で使用できる AMI は 1 つだけですが、その AMI のバージョンを製品に追加できます。

**Topics**
+ [製品のライフサイクル](#ami-product-lifecycle)
+ [AMI 製品コード](#ami-product-codes)
+ [変更リクエスト](#ami-change-requests)
+ [製品ロードフォーム](#ami-product-load-forms)
+ [年次契約の変更](#annual-agreement-amendments)
+ [FPGA 製品](#ami-fpga-products)

## 製品のライフサイクル
<a name="ami-product-lifecycle"></a>

AMI ベースの製品には、ソフトウェアの 1 つ以上のバージョンと、製品全体に関するメタデータが含まれます。製品を作成するときは、製品名、説明、料金 AWS Marketplace など、 でそのプロパティを設定します。また、関連する検索で商品が表示されるように、商品に適したカテゴリを決定し、キーワードを追加します。

また、ソフトウェアの最初のバージョンが作成されます。これは単なる AMI でも、購入者が独自の AMI を作成するために使用できる AWS CloudFormation テンプレートやソフトウェアパッケージを含めることもできます。詳細については、「[AMI ベースの製品配信方法](ami-products.md#ami-product-delivery-methods)」を参照してください。

有料製品の場合、購入者はインストールされたインスタンスの数に応じて課金されます。製品ユーザー数など、ソフトウェアが追跡する別のディメンションを計測するには、製品を AWS Marketplace Metering Service と統合します。詳細については、「[を使用した AMI 製品のカスタム計測の設定 AWS Marketplace Metering Service](custom-metering-with-mp-metering-service.md)」を参照してください。

製品とソフトウェアの最初のバージョンを作成すると、最初は限られた範囲で公開され、自分のアカウントだけがアクセスできるようになります。準備ができたら、 AWS Marketplace カタログに公開して、購入者が製品をサブスクライブして購入できるようにします。

[[サーバー製品]](https://aws.amazon.com/marketplace/management/products/server) ページでは、製品のリストを表示できます。製品のステータスは次のいずれかになります。
+ **[ステージング]** - 情報を追加中の、不完全な製品。セルフサービス作成エクスペリエンスの最初の **[保存して終了]** で、変更リクエストが成功すると、送信したすべてのステップの情報を含む未公開の製品が作成されます。このステータスから、引き続き商品に情報を追加したり、変更リクエストを通じて送信済みの情報を変更したりできます。
+ **[制限あり]** - 製品がシステムに送信され、システム内のすべての検証に合格すると完成します。その後、製品は **[制限あり]** 状態にリリースされます。この時点で、製品にはアカウントと許可リストに登録したユーザーだけがアクセスできる詳細ページがあります。商品は詳細ページからテストできます。必要に応じて、詳細やサポートが必要な場合は、[https://aws.amazon.com/marketplace/management/contact-us/?#](https://aws.amazon.com/marketplace/management/contact-us/?#)にお問い合わせください。
+ **[パブリック]** - 購入者が商品を閲覧してサブスクライブできるように商品を公開する準備ができたら、**[可視性を更新]** 変更リクエストを使用します。これにより、 AWS Marketplace Seller Operations チームが当社の[ポリシー](https://docs.aws.amazon.com/marketplace/latest/userguide/product-and-ami-policies.html)に照らして製品を確認および監査するワークフローが開始されます。製品が承認され、変更リクエストが処理されると、製品のステータスが **[制限あり]** から **[パブリック]** に移行します。
+ **[制限付き]** - 新規ユーザーによる製品のサブスクライブを停止する場合は、**[可視性を更新]** 変更リクエストを使用して製品を制限できます。**制限付き** ステータスは、既存のユーザーが引き続き製品を使用できることを意味します。ただし、製品は一般には公開されなくなり、新規ユーザーも利用できなくなります。

の AMI ベースの製品のライフサイクル AWS Marketplace は、最初のバージョンを公開した後に終了しません。ソフトウェアの新しいバージョンと基本オペレーティングシステムのセキュリティパッチを適用して、製品を最新の状態に保つ必要があります。

完全な AMI ベースの製品のライフサイクルの例として、販売者が AMI ベースの製品を AWS Marketplaceで販売することを考えているとします。以下は、販売者が長期にわたって製品を作成し、保守する方法です。

1. **製品の作成** – 販売者は製品を作成し、バージョン 1.0.0 を公開します AWS Marketplace。購入者は、バージョン 1.0.0 のインスタンスを作成して使用できます。

1. **新しいバージョンを追加** - その後、販売者は製品に新しい機能を追加し、その機能を含む新しいバージョン 1.1.0 を追加します。購入者は、元のバージョン 1.0.0 を引き続き使用することも、新しいバージョン 1.1.0 を選択することもできます。
**注記**  
新製品とは異なり、新バージョンは完全に公開されます。製品全体が限定リリースの場合にのみ、顧客が気付か AWS Marketplace ずに でテストできます。

1. **製品情報の更新** - バージョン 1.1.0 がリリースされたため、販売者は新機能を説明する新しいハイライトテキストで製品情報を更新して、購入者に新機能について知らせます。

1. **マイナーバージョンの追加** - 販売者がバージョン 1.1.0 のバグを修正すると、新しいバージョン 1.1.1 を追加してリリースします。購入者は、バージョン 1.0.0、1.1.0、1.1.1 のいずれかを使用できるようになりました。

1. **バージョンを制限する** - 販売者は、購入者にバージョン 1.1.0 を使用させたくないほどバグが深刻であると判断し、そのバージョンを制限します。その場合、新規顧客は 1.1.0 を購入できなくなります (1.0.0 または 1.1.1 しか選択できません)。ただし、既存の購入者は引き続き 1.1.0 にアクセスできます。

1. **バージョン情報の更新** - 既存の購入者を支援するために、販売者は 1.1.0 のバージョン情報を更新し、バージョン 1.1.1 へのアップグレードを提案します。

1. **使用状況のモニタリング** – 購入者が製品を購入して使用すると、販売者は を使用して売上、使用状況、その他のメトリクスをモニタリングします AWS Marketplace [の販売者レポート、データフィード、ダッシュボード AWS Marketplace](reports-and-data-feed.md)。

1. **製品を削除する** – 製品が不要になると、販売者は製品を削除します AWS Marketplace。

この例では、販売者は製品に 3 つの異なるバージョンの AMI を作成しましたが、(製品を削除する前は) 新規購入者が利用できたのは 2 つのみでした。

バージョンや製品情報を変更するには、 AWS Marketplace 管理ポータルで[変更リクエスト](single-ami-create-change-request.md)を作成します。

AMI ベースの製品を作成および管理するステップの詳細については、「[AMI ベースの製品の作成](ami-single-ami-products.md)」を参照してください。

## AMI 製品コード
<a name="ami-product-codes"></a>

 AWS Marketplaceで製品を作成すると、固有の製品コードが割り当てられます。この製品コードは製品の AMI に関連付けられ、製品の使用状況を追跡するために使用されます。製品コードは、購入者がソフトウェアを使用している間に自動的に伝播します。例えば、お客様は AMI にサブスクライブして起動し、それを構成したり、新しい AMI を生成します。新しい AMI には元の製品コードが含まれているため、依然として正しい使用量の追跡とアクセス許可が維持されます。

**注記**  
製品コードは製品の製品 ID とは異なります。****の各製品には、一意の製品 ID AWS Marketplace が割り当てられます。この製品 ID は、 AWS Marketplace カタログ、顧客の請求、販売者レポートで製品を識別するために使用されます。製品コードは、AMI から作成されたインスタンスにインスタンスメタデータとして添付されます。その製品コードを含む AMI を使用してインスタンスを作成すると、顧客には関連する製品 ID が記載された請求書が届きます。製品を作成したら、製品の AWS Marketplace 管理ポータル ページで製品コードと製品 ID を見つけます。

販売者は、ソフトウェアが実行中の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの製品コードをランタイムにインスタンスのメタデータから取得できます。製品の開始時に製品コードを検証するなど、セキュリティを強化するために製品コードを使用できます。AMI の製品コードへの API コールは、製品がテストのために限定された状態で発行されるまでできません。製品コードの検証の詳細については、「[ソフトウェアが AMI AWS Marketplace で実行されていることを確認する](best-practices-for-building-your-amis.md#verifying-ami-runtime)」を参照してください。

## 変更リクエスト
<a name="ami-change-requests"></a>

で製品またはバージョンを変更するには AWS Marketplace、 を通じて**変更リクエスト**を送信します AWS Marketplace 管理ポータル。変更リクエストはキューに追加され、リクエストのタイプによっては解決までに数分から数日かかる場合があります。リクエストのステータスは、 AWS Marketplace 管理ポータルで確認できます。

**注記**  
に加えて AWS Marketplace 管理ポータル、 [AWS Marketplace Catalog API](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/seller-products.html) を使用して変更リクエストを作成することもできます。

AMI ベースの製品についてリクエストできる変更のタイプは次のとおりです。
+ 購入者に表示される製品情報を更新する。
+ 購入者に表示されるバージョン情報を更新する。
+ 製品の新しいバージョンを追加する。
+ 新しい購入者がそのバージョンにアクセスできないようにバージョンを制限する。
+  AWS リージョン 製品が利用可能な を更新します。
+ 製品の料金設定とインスタンスタイプを更新する。
+ から製品を削除します AWS Marketplace。

**注記**  
一部の変更リクエストでは、製品ロードフォームを使用してリクエストを作成する必要があります。詳細については、「[製品ロードフォーム](#ami-product-load-forms)」を参照してください。

### 変更リクエストを更新する
<a name="update-change-request"></a>

更新で始まる変更リクエストには、現在の詳細が読み込まれます。その後、更新を行うと、既存の詳細が上書きされます。

### 変更リクエストを追加または制限する
<a name="add-restrict-requests"></a>

追加リクエストと制限リクエストペアは、リクエストが成功するたびにプロビジョニングされるステップとアップデート専用です。セルフサービスエクスペリエンスで **[保存して終了]** とアクションを **[送信]** を選択すると、リクエストは成功します。

例えば、追加したインスタンスとリージョンに AMI アセットをプロビジョニングした場合、それらは完全に削除されるのではなく、制限することしかできません。つまり、既存のサブスクライバーとユーザーは、サブスクリプションまたは契約が終了するまで製品を使い続けることができます。ただし、**[制限付き]** ステータスの製品には新しいサブスクライバーを追加することはできません。

## 製品ロードフォーム
<a name="ami-product-load-forms"></a>

通常、[AWS Marketplace 管理ポータル](https://aws.amazon.com/marketplace/management) を使用して製品を作成または編集します。ただし、一部の操作では*製品ロードフォーム* (PLF) を使用するよう指示されます。

PLF は、製品に関するすべての情報を含むスプレッドシートです。PLF を取得するには、次の操作を行います。
+ 既存の製品の PLF は、 AWS Marketplace 管理ポータルの製品詳細ページからダウンロードできます。
+ PLF を必要とするアクションのメニュー項目を選択します。例えば、毎月請求されるサーバー製品を新規作成する場合、適切な PLF をダウンロードするよう求められます。

  作業内容が既存製品の編集である場合、PLF にはその製品の情報が事前に入力されるため、更新する詳細を変更するだけで済みます。
+ 新しい空の PLF が必要な場合は、 AWS Marketplace 管理ポータル [ファイルのアップロード](https://aws.amazon.com/marketplace/management/product-load)ページに移動します。このページには、作成する製品タイプの PLF へのリンクが含まれています。

 PLF が完了したら、 AWS Marketplace 管理ポータル [ファイルのアップロード](https://aws.amazon.com/marketplace/management/product-load)ページにアップロードします。PLF 自体の **[手順]** タブには、より詳細な説明があります。

## 年次契約の変更
<a name="annual-agreement-amendments"></a>

時間単位の年次 (年次) プランの修正により、ユーザーとその購入者は既存のプランに以下の変更を加えることができます。
+ Amazon EC2 インスタンスタイプファミリー間の切り替え
+ Amazon EC2 インスタンスタイプサイズ間の切り替え
+ 新しいインスタンスタイプを追加する
+ 契約内の既存のインスタンスタイプの数量を増やす

購入者は、変更の日割額が 0 より大きい (サブスクリプションの値を下げることができない) 限り、変更を行うことができます。新しく追加された Amazon EC2 インスタンスの日割額は、契約の残りの期間に合わせて調整されたインスタンスタイプの年次コストに基づいています。インスタンスタイプを切り替える場合、削除された Amazon EC2 インスタンスタイプの比例配分コストは、新しく追加された Amazon EC2 インスタンスタイプの日割額から差し引かれます。

AMI 年間製品の修正を有効にするための追加のアクションは必要ありません。修正は、一般オファーから行われたすべての契約と、分割プランを使用しないプライベートオファーからの契約でサポートされます。

購入者が行った修正は、次のダッシュボードで確認できます。
+ [契約と更新のダッシュボード](https://docs.aws.amazon.com/marketplace/latest/userguide/agreements-renewals-dashboard.html) – 修正された契約のリスト。
+ [請求済み収益ダッシュボード](https://docs.aws.amazon.com/marketplace/latest/userguide/billed-revenue-dashboard.html) – 顧客への請求。
+ [回収と支払いダッシュボード](https://docs.aws.amazon.com/marketplace/latest/userguide/collections-disbursement-dashboard.html) – 支出。

## FPGA 製品
<a name="ami-fpga-products"></a>

FPGA (Field Programmable Gate Array) 製品は、Amazon FPGA Image (AFI) 設定で F2 インスタンスタイプをサポートする特殊な AMI 製品です。標準の AMIs とは異なり、FPGA 製品には、サポートされているインスタンスタイプでのハードウェアアクセラレーションのために AMI によって動的にロードされる AFI IDs が含まれています。

**主な特性:**
+ FPGA 製品は、FPGA アクセラレーション専用の F2 インスタンスタイプをサポートします。
+ 各製品バージョンには、バージョンごとに最大 15 個の AFI IDs を持つ 1 つ以上の AFI IDs を含めることができます。
+ AFIs は、AMI のように起動されるのではなく、on-the-flyロードされ、動的なハードウェアアクセラレーション機能を提供します。 AMIs
+ FPGA 製品に新しいリージョンを追加すると、リージョン AFI の自動クローン作成が によって実行 AWS Marketplace され、サポートされている AWS リージョン間で製品が使用可能になります。
+ FPGA 製品は他のインスタンスタイプで提供できますが、AFIs は F2 インスタンスタイプでのみロードされ、ハードウェアアクセラレーションを提供します。他のインスタンスタイプでは、AMI は FPGA アクセラレーション機能なしで機能します。

FPGA 製品は、ゲノミクス研究、財務分析、リアルタイムビデオ処理、ビッグデータ分析、機械学習推論など、特殊なハードウェアアクセラレーションを必要とするコンピューティング集約型のワークロードに最適です。AFIs の動的ロードにより、購入者は基盤となる FPGA インフラストラクチャを管理することなく FPGA アクセラレーションを活用できます。

# AMI ベースの製品の作成
<a name="ami-single-ami-products"></a>

Amazon マシンイメージ (AMI) セルフサービスエクスペリエンスは、製品リストの作成や変更リクエストを行う際に役立ちます。セルフサービスエクスペリエンスを使用すると、 AWS Marketplace Seller Operations チームによる処理に必要な時間を短縮して、製品リストを直接更新できます。セルフサービスエクスペリエンスの多くのステップは、 のカタログシステムと一致しています。これにより AWS Marketplace、 AWS Marketplace Seller Operations チームによる処理と検証を待つ代わりに、直接検証が容易になります。このトピックでは、AMI セルフサービスエクスペリエンスを使用して単一 AMI 製品リストを作成する方法について説明します。顧客は AMI を使用して、製品をインストールして設定済みの Amazon EC2 インスタンスを作成できます。

**Topics**
+ [前提条件](#single-ami-prerequisites)
+ [セルフサービスエクスペリエンスを理解する](#understand-ami-self-service-exp)
+ [リストを作成する](#ami-create-product)
+ [その他のリソース](#ami-single-create-resources)

## 前提条件
<a name="single-ami-prerequisites"></a>

AMI 製品リストを作成するには、最初に次の前提条件を満たす必要があります。

1.  AWS Marketplace 管理ポータルにアクセスできます。これは、販売者として登録し、販売する製品を管理するために使用するツールです AWS Marketplace。へのアクセスの詳細については AWS Marketplace 管理ポータル、「」を参照してください[AWS Marketplace 販売者のポリシーとアクセス許可](detailed-management-portal-permissions.md)。

1. 販売者として登録し、製品の代金を請求する場合は、税金と銀行情報を送信してください。販売者になる方法については、「[AWS Marketplace 販売者としての開始方法](user-guide-for-sellers.md)」を参照してください。

1. 売りたい製品がある。AMI ベース製品の場合、これは通常、サーバーソフトウェアを作成または変更し、顧客が使用できる AMI を作成したことを意味します。で使用する AMI の準備の詳細については AWS Marketplace、「」を参照してください[で使用する AMIs を構築するためのベストプラクティス AWS Marketplace](best-practices-for-building-your-amis.md)。

## セルフサービスエクスペリエンスを理解する
<a name="understand-ami-self-service-exp"></a>

セルフサービスエクスペリエンスでは、 で製品を作成する手順を説明します AWS Marketplace。ステップを進めるときは、製品情報と、 AWS リージョンインスタンスタイプや AMI の詳細などの AMI デプロイ設定を指定します。また、料金、販売可能な国、EULA、返金ポリシーなどの取引の詳細も設定します。オプションとして、**制限付き**ステータスにある製品にアクセスしてテストする AWS アカウント IDs の許可リストを指定できます。

始める前に、セルフサービスエクスペリエンスに関する以下の重要な点を確認してください。
+ 次のステップに進むには、現在のステップで必須フィールドに入力する必要があります。この要件は、各ステップの最後にページレベルの検証が行われるためです。不完全なステップは保存または送信できません。
+ プロセスのすべてのステップを完了する前にセッションを終了する必要がある場合は、**[保存して終了]** を選択して、完了したステップをステージングエリアに送信できます。
+ 不完全で検証に合格しなかったステップはシステムに送信されません。部分的に完了したステップは無効であり、保存することもできません。
+ **[保存して終了]** を選択すると、**[保存して終了]** ダイアログボックスに検証チェックに合格したステップが表示されます。最後に完了して検証されたステップまで確認し、保存することを選択できます。検証エラーや詳細が不足している場合は、**[修正]** を選択してそのステップに戻ることができます。
+ **[保存して終了]** すると、リクエストは処理中にレビューされます。処理の終了には、数分または数時間かかることがあります。リクエストが成功するまで、ステップを続行したり、変更を加えたりすることはできません。最初の **[保存して終了]** のリクエストは、完了したステップと並行して製品を作成します。
  + リクエストが**成功**したら、保存は完了です。**[製品の概要]** ページで変更を再開するには、**[製品の作成を再開する]** を選択するか、**[変更をリクエスト]** を使用して前回のセッションで送信した詳細を更新します。再開すると、完了した手順に緑色の **[成功]** というラベルが付いていることに注目してください。以前に送信したステップを更新するには、**[変更をリクエスト]** を使用してください。このステップを続行するには、前回の **[保存して終了**] のリクエストを完了する必要があります。
+ すべてのステップを完了したら、**[次へ]** を選択してレビューを確認できます。**[送信]** を選択すると、システムから最終検証の実行をリクエストできます。**[成功]** というレスポンスを受け取ると、製品は **[制限あり]** ステータスに移行します。詳細ページを確認すると、許可リストに登録されている人なら誰でもその製品を利用できるようになったことがわかります。リクエストが失敗した場合、製品は **[ステージング]** ステータスのままになり、再提出する前に修正を加える必要があります。

## リストを作成する
<a name="ami-create-product"></a>

このセクションのステップでは、単一 AMI 製品のリストを作成する方法について説明します。

**注記**  
次のステップに進むには、現在のステップで必須フィールドに入力する必要があります。不完全なステップは保存または送信できません。プロセスのすべてのステップを完了する前にセッションを終了する必要がある場合は、**[保存して終了]** を選択すると、完了したステップをステージングエリアに送信できます。詳細については、「[セルフサービスエクスペリエンスを理解する](#understand-ami-self-service-exp)」を参照してください。

**単一 AMI 製品を作成する**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. **[製品]** メニューの **[サーバー]** を選択します。または、[https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに直接移動することもできます。

1. **[サーバー製品]** タブから **[サーバー製品の作成]** を選択し、**[Amazon マシンイメージ (AMI)]** を選択して、単一 AMI 製品のライセンスタイプから 1 つを選択します。
   + **Bring your own license (BYOL)** – ユーザーが外部からライセンスを取得する製品 AWS Marketplace。有料ライセンスでも無料ライセンスでもかまいません。
   + **[無料]** - サブスクライバーが無料で使用できる製品。(関連する Amazon Elastic Compute Cloud (Amazon EC2) インスタンスやその他の AWS リソースに対する料金は引き続き発生します）。
   + **時間単位または時間単位の年間料金** – 購入者が時間単位または時間単位の年間契約で支払う製品。AMI AWS の製品コードに基づいて計測を行います。
   + **[月額]** - 購入者が AWSによって毎月請求される製品。
   + **有料使用料** - ソフトウェアの料金は、販売者がユーザー、データ、帯域幅、またはホストの 4 つの使用カテゴリのいずれかと併せて提供する価値に対して直接請求されます。製品に対して最大 24 のディメンションを定義できます。すべての料金は引き続きお客様のご負担となります。
   + **契約料金の AMI** – 購入者が前払い料金を支払う CloudFormation スタックを持つシングル AMI 製品またはシングル AMI。

1. セルフサービスエクスペリエンスでは、 AWS Marketplace リストを作成する手順を案内します。製品情報 (メタデータ)、製品デプロイの詳細 (AWS リージョン、インスタンス、AMI の詳細)、およびパブリックオファーの詳細 (料金、EULA、国別の在庫状況、EULA、返金) を入力する必要があります。オプションとして、許可リストにアカウントを追加して製品をテストできます。各ステップを完了すると、プロセスの次のステップに進みます。
**注記**  
プロセスのすべてのステップを完了する前にセッションを終了する必要がある場合は、**[保存して終了]** を使用して、完了したステップをステージングエリアに送信できます。これにより、入力した情報の検証を求めるリクエストが作成されます。リクエストが処理されている間は、製品を編集することはできません。リクエストが成功したら、**[製品の作成を再開する]** を選択して製品の作成を続行できます。  
リクエストが失敗した場合は、検証エラーにより製品が更新されなかったことを意味します。これは製品のリクエストログに表示されます。リクエストを選択してエラーを表示し、**[アクション]** の **[新規にコピー]** を使用してエラーを修正し、リクエストを再送信できます。ステップを再開すると、前回のセッションで保存したステップの後のステップから続行できます。以前のステップを更新するには、[製品概要] ページに移動し、以前に送信したステップを更新する変更リクエストを送信します。

1. すべての変更リクエストステップに必要な情報を入力したら、**[送信]** を選択します。この送信により、情報を検証し、検証に合格した場合に製品を **[制限あり]** 状態にリリースするよう AWS Marketplace カタログシステムにリクエストが作成されます。リクエストが処理されている間は、製品の編集を続けることはできません。リクエストが成功すると、製品は **[制限あり]** 状態に移行します。
   + 製品が最初に公開されると、 AWS アカウント (製品の作成に使用したもの) と AWS Marketplace Seller Operations チームのテストアカウントのみがアクセスできます。Server 製品ページから**製品**を表示する場合は、 **で表示 AWS Marketplace**を選択して、購入者 AWS Marketplace に表示される製品の詳細を表示できます。この詳細リストは AWS Marketplace 他のユーザーには表示されません。
   + この機能により、製品を公開する前にテストできます (複数のバージョンをテスト用に公開することもできます)。

1. **限定**状態で製品をテストし、 AWS Marketplace [AMI ベースの製品要件](https://docs.aws.amazon.com/marketplace/latest/userguide/product-and-ami-policies.html)と[製品チェックリスト](https://docs.aws.amazon.com/marketplace/latest/userguide/aws-marketplace-listing-checklist.html)に従っていることを確認します。次に、製品を **[パブリック]** に公開するようにリクエストするには、**[可視性を更新]** を選択します。Seller AWS Marketplace Operations チームは、**公開**を承認する前に製品を確認する必要があります。
**注記**  
製品の検証と公開は手動プロセスであり、 AWS Marketplace Seller Operations チームによって処理されます。エラーがない場合は、最初の製品バージョンを公開するまでに 7～10 営業日かかることがあります。タイミングについては、「[タイミングと心構え](https://docs.aws.amazon.com/marketplace/latest/userguide/product-submission.html#timing-and-expectations)」を参照してください。

単一 AMI 製品と製品情報の両方を準備して提出する方法の詳細については、「[その他のリソース](#ami-single-create-resources)」を参照してください。

## その他のリソース
<a name="ami-single-create-resources"></a>

製品に関する情報を準備し、公開用に送信する方法の詳細については、次のリソースを参照してください。
+ [用の製品の準備 AWS Marketplace](product-preparation.md)
+ [で公開するために製品を送信する AWS Marketplace](product-submission.md)

単一 AMI 製品を AWS Marketplaceに送信する準備の詳細については、以下のリソースを参照してください。
+ [で使用する AMIs を構築するためのベストプラクティス AWS Marketplace](best-practices-for-building-your-amis.md)
+ [AWS Marketplace 向け AMI 製品チェックリスト](aws-marketplace-listing-checklist.md)
+ [の AMI ベースの製品要件 AWS Marketplace](product-and-ami-policies.md)

# 製品に CloudFormation テンプレートを追加する
<a name="cloudformation"></a>

AWS Marketplace 販売者は、 AWS CloudFormation テンプレートを使用して AWS Marketplace 購入者に配信される AMI ベースの製品を一覧表示できます。AMI ベースの製品に CloudFormation テンプレートを追加すると、購入者はリソースと依存関係を手動で設定しなくてもソリューションをデプロイできます。テンプレートを使用して、各製品の分散アーキテクチャまたはクラスターを定義する、または異なる AMI の組み合わせや製品設定を選択できます。単一の AMI ソリューションには、最大 3 つの CloudFormation テンプレートを含めることができます。

CloudFormation テンプレートは、単一の Amazon マシンイメージ (AMI) を、関連する構成ファイルと Lambda 関数と共に配信するように設定できます。さらに、各テンプレートのアーキテクチャ図を含める必要があります。

**Topics**
+ [CloudFormation テンプレートの準備](#aws-cloudformation-template-preparation)
+ [アーキテクチャ図](#topology-diagram)
+ [既存の製品の CloudFormation テンプレートを変換する](#convert-cloudformation-templates)
+ [サーバーレスアプリケーションコンポーネントの追加](cloudformation-serverless-application.md)

## CloudFormation テンプレートの準備
<a name="aws-cloudformation-template-preparation"></a>

CloudFormation テンプレートを構築するには、テンプレートの前提条件を満たし、必要な入力とセキュリティパラメータを用意する必要があります。CloudFormation テンプレートを送信する場合は、以下のセクションのガイドラインに従ってください。

### テンプレートの前提条件
<a name="template-prerequisites"></a>
+ テンプレートが**、製品に対して AWS リージョン 有効になっているすべての で** CloudFormation コンソールから正常に起動されていることを確認します。[TaskCat ツール](https://github.com/aws-quickstart/taskcat)を使用して、テンプレートをテストできます。
+ CloudFormation テンプレートに含まれる AMI は、公開する製品の AMI であるか、最新の Amazon Linux 2 などの AWS 管理の AMI である必要があります。コミュニティ AMI または ユーザー所有またはユーザー共有またはサードパーティ共有の AMI は含まないでください。AWS マネージド AMI を使用するには、AMI ID をハードコーディングする代わりに、[AWS Systems Manager パラメータストアでパブリック](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-public-parameters.html)パラメータを使用します。 IDs 例えば、AMI ID を指定する CloudFormation テンプレート内では、動的リファレンス `ImageId: '{{resolve:ssm:/aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id}}'` を使用します。
+ 特定のアベイラビリティーゾーン (AZ) の使用に依存しないようにテンプレートを構築します。すべてのアベイラビリティーゾーンにすべての顧客がアクセスできるとは限りません。AZ はさまざまなアカウントに別々にマッピングされます。
+ Auto Scaling グループを使用してクラスター化されたソリューションを構築している場合は、スケーリングイベントを考慮することをお勧めします。新規ノードは、自動的に動作クラスターを結合する必要があります。
+ 単一ノードの製品であっても、[Auto Scaling グループ](https://docs.aws.amazon.com/autoscaling/latest/userguide/create-asg-from-instance.html)を使用することをお勧めします。
+ ソリューションに、複数のインスタンスのクラスターが含まれる場合で、インスタンス間でネットワークレイテンシーが低い、またはネットワークスループットが高い、あるいはその両方の場合、プレイスメントグループを使用することを検討してください。
+  AWS Marketplace チームによるレビューを容易にし、顧客に透明性を持たせるために、**UserData** セクションにコメントを追加することをお勧めします。

### AMI の詳細の要件
<a name="ami-requirements-sse"></a>

**注記**  
販売者ポータルの[サーバー製品](https://aws.amazon.com//marketplace/management/products/server)ページで **CloudFormation を使用して Amazon マシンイメージ (AMI) または AMI** を作成し、[製品ロードフォーム](https://docs.aws.amazon.com//marketplace/latest/userguide/product-submission.html#aws-cloudformation-launched-product-free-or-paid-or-usage-based-paid-ami-product)のダウンロードを求めるプロンプトが表示された場合は、代わりに「[製品ロードフォームを使用した AMI の詳細の要件](#ami-requirements-product-load-form)」を参照してください。

[AWS::EC2::Instance](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html)、[AWS::AutoScaling::LaunchConfiguration](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)、[AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) リソースなどの EC2 インスタンスに AMI をデプロイするリソースの `ImageId` プロパティを指定する場合は、[テンプレートパラメータ](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)を参照する必要があります。パラメータタイプは、`AWS::EC2::Image::Id`、`AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>`、または `String` のいずれかである必要があります。

このテンプレートパラメータには、任意の有効なパラメータ名を指定できます。 は、テンプレートを独自の Amazon S3 バケット AWS Marketplace にコピーし、指定されたパラメータを [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-parameter-store.html) パラメータに置き換えます。 AWS Marketplace また、 は説明と制約テキストを更新して、テンプレートをデプロイする購入者に正しい値を明確にします。購入者がテンプレートをデプロイすると、そのパラメータは、公開された製品の AWS リージョン固有の AMI ID に解決されます。

次のテンプレート例は、組み込み関数 [Ref](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) を使用してテンプレートパラメータを参照する `ImageId` プロパティを示しています。

YAML の例:

```
Parameters:
  ImageId:
    Type: AWS::EC2::Image::Id
    Default: ami-example1234567890
Resources:
  MyInstance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref ImageId
```

JSON の例:

```
{
  "Parameters": {
    "ImageId": {
      "Type": "AWS::EC2::Image::Id",
      "Default": "ami-example1234567890"
    }
  },
  "Resources": {
    "MyInstance": {
      "Type": "AWS::EC2::Instance",
      "Properties": {
        "ImageId": {
          "Ref": "ImageId"
        }
      }
    }
  }
}
```

EC2 インスタンスをルートスタックではなく[ネストされたスタック](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)内にデプロイする場合、AMI ID はルートスタックからその値を動的に継承する必要があります。ルートスタックとネストされたスタックを編集して、ルートスタックでテンプレートパラメータの値を設定すると、このネストされたスタックで使用される AMI ID が上書きされるようにします。

### 製品ロードフォームを使用した AMI の詳細の要件
<a name="ami-requirements-product-load-form"></a>

**注記**  
販売者ポータルの[サーバー製品](https://aws.amazon.com//marketplace/management/products/server)ページで **CloudFormation を使用して Amazon マシンイメージ (AMI) または AMI** を作成し、[製品ロードフォーム](https://docs.aws.amazon.com//marketplace/latest/userguide/product-submission.html#aws-cloudformation-launched-product-free-or-paid-or-usage-based-paid-ami-product)のダウンロードを求めるプロンプトがすぐに表示されない場合は、代わりに「[AMI の詳細の要件](#ami-requirements-sse)」を参照してください。

AMI は各リージョンのマッピングテーブルに存在する必要があります。 AWS Marketplace チームはクローン作成後に AMI IDs を更新します。ソース AMI は `us-east-1` リージョンにある必要があります。他のリージョンではプレースホルダーを使用できます。

YAML の例:

```
Mappings: 
  RegionMap: 
      us-east-1: 
          ImageId: ami-0123456789abcdef0
      us-west-1: 
          ImageId: ami-xxxxxxxxxxxxxxxxx
      eu-west-1: 
          ImageId: ami-xxxxxxxxxxxxxxxxx
      ap-southeast-1: 
          ImageId: ami-xxxxxxxxxxxxxxxxx
Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !FindInMap 
        - RegionMap
        - !Ref AWS::Region
        - ImageId
```

### ネストされたスタックのテンプレートの要件
<a name="nested-stack-template-requirements"></a>

**注記**  
このセクションは、[製品ロードフォーム](https://docs.aws.amazon.com//marketplace/latest/userguide/product-submission.html#aws-cloudformation-launched-product-free-or-paid-or-usage-based-paid-ami-product)を使用しない料金モデルにのみ適用されます。製品ロードフォームを*使用する*料金モデルの場合、ネストされたスタックの `TemplateURL` プロパティには固定文字列のみが許可されます。

テンプレートに[ネストされたスタック](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)が含まれている場合、ネストされたスタックリソースの `TemplateURL` プロパティは、Amazon S3 バケット名、バケットリージョン、Amazon S3 オブジェクトキープレフィックスのテンプレートパラメータを参照する必要があります。バケット名のパラメータ名は `MPS3BucketName`、バケットリージョンは `MPS3BucketRegion`、オブジェクトキープレフィックスは `MPS3KeyPrefix` である必要があります。

ネストされたテンプレートが保存されている Amazon S3 バケットに対応するように、これらのパラメータのデフォルト値を設定します。ネストされたテンプレートはすべて公開されている必要があります。公開用のテンプレートを送信すると、 はテンプレートを独自の Amazon S3 バケット AWS Marketplace にコピーし、これら 3 つのパラメータのプロパティを変更して、コピーの保存先に対応するようにデフォルト値と許容値を設定します。 AWS Marketplace また、 は説明と制約テキストを更新して、テンプレートをデプロイする購入者に正しい値を明確にします。

複数のレベルのネストされたスタックがある場合、追加のネストされたスタックを作成するすべてのネストされたスタックは、`TemplateURL` プロパティがルートスタックから Amazon S3 バケット名、Amazon S3 バケットリージョン、Amazon S3 オブジェクトキーの値を動的に継承するように設定する必要があります。ルートスタックとネストされたスタックを編集して、ルートスタックでテンプレートパラメータ `MPS3BucketName`、`MPS3BucketRegion`、`MPS3KeyPrefix` の値を設定して、このネストされたスタックで使用される URL 内のそれぞれの値を上書きし、追加のネストされたスタックを作成します。

次のテンプレート例は、組み込み関数 [Fn::Sub](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) を使用してテンプレートパラメータを参照する `TemplateURL` プロパティを示しています。

YAML の例:

```
AWSTemplateFormatVersion: '2010-09-09'
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Label:
          default: AWS Marketplace Parameters
        Parameters:
          - ImageId
          - MPS3BucketName
          - MPS3BucketRegion
          - MPS3KeyPrefix
Parameters:
  ImageId:
    Type: AWS::EC2::Image::Id
    Default: ami-example1234567890
    Description: The AMI that will be used to launch EC2 resources.
  MPS3BucketName:
    Type: String
    Default: sellerbucket
    Description: Name of the S3 bucket for your copy of the nested templates.
  MPS3BucketRegion:
    Type: String
    Default: us-east-1
    Description: AWS Region where the S3 bucket for your copy of the nested templates is hosted.
  MPS3KeyPrefix:
    Type: String
    Default: sellerproductfolder/
    Description: S3 key prefix that is used to simulate a folder for your copy of the nested templates.
Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref ImageId
  NestedStack:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: !Sub https://${MPS3BucketName}.s3.${MPS3BucketRegion}.${AWS::URLSuffix}/${MPS3KeyPrefix}nested-template.yaml
```

JSON の例:

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Metadata": {
        "AWS::CloudFormation::Interface": {
            "ParameterGroups": [
                {
                    "Label": {
                        "default": "AWS Marketplace Parameters"
                    },
                    "Parameters": [
                        "ImageId",
                        "MPS3BucketName",
                        "MPS3BucketRegion",
                        "MPS3KeyPrefix"
                    ]
                }
            ]
        }
    },
    "Parameters": {
        "ImageId": {
            "Type": "AWS::EC2::Image::Id",
            "Default": "ami-example1234567890",
            "Description": "The AMI that will be used to launch EC2 resources."
        },
        "MPS3BucketName": {
            "Type": "String",
            "Default": "sellerbucket",
            "Description": "Name of the S3 bucket for your copy of the nested templates."
        },
        "MPS3BucketRegion": {
            "Type": "String",
            "Default": "us-east-1",
            "Description": "AWS Region where the S3 bucket for your copy of the nested templates is hosted."
        },
        "MPS3KeyPrefix": {
            "Type": "String",
            "Default": "sellerproductfolder/",
            "Description": "S3 key prefix that is used to simulate a folder for your copy of the nested templates."
        }
    },
    "Resources": {
        "EC2Instance": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "ImageId": {
                    "Ref": "ImageId"
                }
            }
        },
        "NestedStack": {
            "Type": "AWS::CloudFormation::Stack",
            "Properties": {
                "TemplateURL": {
                    "Fn::Sub": "https://${MPS3BucketName}.s3.${MPS3BucketRegion}.${AWS::URLSuffix}/${MPS3KeyPrefix}nested-template.yaml"
                }
            }
        }
    }
}
```

**注記**  
[AWS::CloudFormation::Interface](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-interface.html) は、購入者がテンプレートをデプロイするときに AWS CloudFormation コンソールでパラメータをグループ化およびソートする方法を定義するために使用されます。

### テンプレート入力パラメータ
<a name="template-input-parameters"></a>
+ テンプレートへの入力パラメータには、 AWS Marketplace 顧客の AWS 認証情報 (パスワード、パブリックキー、プライベートキー、証明書など) を含めないでください。
+ パスワードなどの機密入力パラメータには、`NoEcho` プロパティを選択し、強力な正規表現を有効にします。他の入力パラメータでは、最も一般的な入力を適切なヘルパーテキストで設定します。
+ 使用可能な入力には CloudFormation パラメータタイプを使用します。
+ `AWS::CloudFormation::Interface` を使用し入力パラメータをグループ化およびソートします。
+ 以下の入力パラメータにはデフォルト値を設定しないでください。
**注記**  
顧客は、これらを入力パラメータとして指定する必要があります。
  + パブリックインターネットからリモートアクセスポートへの進入を許可するデフォルトの CIDR 範囲
  + パブリックインターネットからデータベース接続ポートへの進入を許可するデフォルトの CIDR 範囲
  + ユーザーまたはデータベースのデフォルトパスワード

### ネットワークおよびセキュリティパラメータ
<a name="networksecurity-parameters"></a>
+ デフォルトの SSH ポート (22) または RDP ポート (3389) が 0.0.0.0 に対して開かれていないことを確認します。
+ デフォルトの VPC (仮想プライベートクラウド) を使用する代わりに、適切な ACL (アクセスコントロールリスト) とセキュリティグループを設定した VPC を作成することをお勧めします。
+ テンプレートは、ユーザーに長期的なアクセスキーをリクエストしたり、 AWS リソースにアクセスするために作成したりすることはできません。AMI アプリケーションが購入者のアカウント内の AWS サービスにアクセスする必要がある場合は、[Amazon EC2 の IAM ロール](/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)を使用する必要があります。
+ IAM ロールとポリシーに[最小特権を付与](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)し、絶対に必要な場合のみに書き込みアクセスを有効にします。例えば、アプリケーションで `S3:GET`、`PUT` および `DELETE` オペレーションのみが必要な場合に、これらのアクションのみを指定します。この場合に、`S3:*` の使用はお勧めしません。

テンプレートを受信すると、 は製品設定と情報 AWS Marketplace を検証し、必要なリビジョンに関するフィードバックを提供します。

## アーキテクチャ図
<a name="topology-diagram"></a>

各テンプレートのアーキテクチャ図を用意する必要があります。ダイアグラムの詳細については、「[アーキテクチャダイアグラムとは](https://aws.amazon.com/what-is/architecture-diagramming/)」を参照してください。

図は次の基準を満たしている必要があります。
+ での標準デプロイの例を示します AWS。
+ リソースがデプロイされる場所を論理的に表現します。例えば、Amazon EC2 インスタンスなどのリソースは正しいサブネットにあります。
+  CloudFormation テンプレートを通じて AWS のサービス デプロイされた各 の最新の AWS 製品アイコンを使用します。現在のアーキテクチャアイコンのセットをダウンロードするには、「[AWS アーキテクチャアイコン](https://aws.amazon.com/architecture/icons/)」を参照してください。
+  CloudFormation テンプレートによってデプロイされたすべてのサービスのメタデータを含めます。
+  CloudFormation テンプレートによってデプロイされたすべてのネットワーク、VPCs、サブネットを含めます。
+ サードパーティーのアセット、API およびオンプレミス、ハイブリッドアセットを含む、統合ポイントを表示します。
+ この図のサイズは 1100 x 700 ピクセルである必要があります。元の図の比率は、伸縮やトリミングを行わずに維持します。

## 既存の製品の CloudFormation テンプレートを変換する
<a name="convert-cloudformation-templates"></a>

**注記**  
このセクションは、テンプレートの発行に[製品ロードフォーム](https://docs.aws.amazon.com/marketplace/latest/userguide/product-submission.html#aws-cloudformation-launched-product-free-or-paid-or-usage-based-paid-ami-product)を使用しており、製品ロードフォームを使用せずにそのテンプレートを更新する CloudFormation 製品を持つ既存の AMI を持つ販売者を対象としています。新しい製品を公開する場合は、「[CloudFormation テンプレートの準備](https://docs.aws.amazon.com/marketplace/latest/userguide/cloudformation.html#aws-cloudformation-template-preparation)」を参照してください。  
販売者ポータルの[サーバー製品](https://aws.amazon.com//marketplace/management/products/server)ページで **CloudFormation を使用して Amazon マシンイメージ (AMI) または AMI** を作成し、[製品ロードフォーム](https://docs.aws.amazon.com//marketplace/latest/userguide/product-submission.html#aws-cloudformation-launched-product-free-or-paid-or-usage-based-paid-ami-product)のダウンロードを求めるプロンプトが表示された場合は、「[製品ロードフォームを使用した AMI の詳細の要件](#ami-requirements-product-load-form)」を参照してください。

セルフサービスエクスペリエンスを使用して、以前に[製品ロードフォーム](https://docs.aws.amazon.com/marketplace/latest/userguide/product-submission.html#aws-cloudformation-launched-product-free-or-paid-or-usage-based-paid-ami-product)を使用して公開した既存の製品を更新する場合は、既存の CloudFormation テンプレートを変更する必要があります。

次の表に、製品ロードフォームとセルフサービスエクスペリエンスの使用の違いを示します。


****  

|  | 製品ロードフォーム | セルフサービスエクスペリエンス | 
| --- | --- | --- | 
| EC2 リソースの ImageId プロパティの値 | AMI ID のマッピングテーブルを参照します。詳細については、「[製品ロードフォームを使用した AMI の詳細の要件](#ami-requirements-product-load-form)」を参照してください。 | AMI ID のテンプレートパラメータを参照します。詳細については、「[AMI の詳細の要件](#ami-requirements-sse)」を参照してください。 | 
| ネストされたスタックの TemplateURL プロパティの値 | 固定文字列でなければならず、組み込み関数を使用できません。 | 組み込み関数を使用して動的にすることができます。一連のテンプレートパラメータを参照する必要があります。詳細については、[ネストされたスタックのテンプレートの要件](#nested-stack-template-requirements)を参照してください。 | 

次のサンプルテンプレートは、製品ロードフォームを使用してテンプレートを発行した既存の製品の例を示しています。この例では、AMI ID は `ami-example123456` で、ネストされたテンプレートは `https://sellerbucket.s3.us-east-1.amazonaws.com/sellerproductfolder/nested-template.yaml` の場所にある販売者の S3 バケットにあります。

製品ロードフォームで公開された YAML の例:

```
AWSTemplateFormatVersion: '2010-09-09'
Mappings:
  RegionMap:
    us-east-1:
      AMI: ami-example123456
Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !FindInMap 
        - RegionMap
        - !Ref AWS::Region
        - AMI
  NestedStack:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: https://sellerbucket.s3.us-east-1.amazonaws.com/sellerproductfolder/nested-template.yaml
```

製品ロードフォームで公開された JSON の例:

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Mappings": {
        "RegionMap": {
            "us-east-1": {
                "AMI": "ami-example123456"
            }
        }
    },
    "Resources": {
        "EC2Instance": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "ImageId": {
                    "Fn::FindInMap": [
                        "RegionMap",
                        {
                            "Ref": "AWS::Region"
                        },
                        "AMI"
                    ]
                }
            }
        },
        "NestedStack": {
            "Type": "AWS::CloudFormation::Stack",
            "Properties": {
                "TemplateURL": "https://sellerbucket.s3.us-east-1.amazonaws.com/sellerproductfolder/nested-template.yaml"
            }
        }
    }
}
```

次のテンプレート例は、セルフサービスエクスペリエンスを使用して製品を更新するために必要な変更を示しています。

セルフサービスエクスペリエンスで公開された YAML の例:

```
AWSTemplateFormatVersion: '2010-09-09'
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Label:
          default: AWS Marketplace Parameters
        Parameters:
          - ImageId
          - MPS3BucketName
          - MPS3BucketRegion
          - MPS3KeyPrefix
Parameters:
  ImageId:
    Type: AWS::EC2::Image::Id
    Default: ami-example123456
    Description: The AMI that will be used to launch EC2 resources.
  MPS3BucketName:
    Type: String
    Default: sellerbucket
    Description: Name of the S3 bucket for your copy of the nested templates.
  MPS3BucketRegion:
    Type: String
    Default: us-east-1
    Description: AWS Region where the S3 bucket for your copy of the nested templates is hosted.
  MPS3KeyPrefix:
    Type: String
    Default: sellerproductfolder/
    Description: S3 key prefix that is used to simulate a folder for your copy of the nested templates.
Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref ImageId
  NestedStack:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: !Sub https://${MPS3BucketName}.s3.${MPS3BucketRegion}.${AWS::URLSuffix}/${MPS3KeyPrefix}nested-template.yaml
```

セルフサービスエクスペリエンスで公開された JSON の例:

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Metadata": {
        "AWS::CloudFormation::Interface": {
            "ParameterGroups": [
                {
                    "Label": {
                        "default": "AWS Marketplace Parameters"
                    },
                    "Parameters": [
                        "ImageId",
                        "MPS3BucketName",
                        "MPS3BucketRegion",
                        "MPS3KeyPrefix"
                    ]
                }
            ]
        }
    },
    "Parameters": {
        "ImageId": {
            "Type": "AWS::EC2::Image::Id",
            "Default": "ami-example123456",
            "Description": "The AMI that will be used to launch EC2 resources."
        },
        "MPS3BucketName": {
            "Type": "String",
            "Default": "sellerbucket",
            "Description": "Name of the S3 bucket for your copy of the nested templates."
        },
        "MPS3BucketRegion": {
            "Type": "String",
            "Default": "us-east-1",
            "Description": "AWS Region where the S3 bucket for your copy of the nested templates is hosted."
        },
        "MPS3KeyPrefix": {
            "Type": "String",
            "Default": "sellerproductfolder/",
            "Description": "S3 key prefix that is used to simulate a folder for your copy of the nested templates."
        }
    },
    "Resources": {
        "EC2Instance": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "ImageId": {
                    "Ref": "ImageId"
                }
            }
        },
        "NestedStack": {
            "Type": "AWS::CloudFormation::Stack",
            "Properties": {
                "TemplateURL": {
                    "Fn::Sub": "https://${MPS3BucketName}.s3.${MPS3BucketRegion}.${AWS::URLSuffix}/${MPS3KeyPrefix}nested-template.yaml"
                }
            }
        }
    }
}
```

# サーバーレスアプリケーションコンポーネントの追加
<a name="cloudformation-serverless-application"></a>

**重要**  
AWS Marketplace では、リソースをデプロイする CloudFormation テンプレートを使用した新製品の公開がサポートされなくなりました AWS Serverless Application Repository。販売者は、 から将来の発表日までリソース AWS Serverless Application Repository をデプロイする CloudFormation テンプレートを使用して既存の製品を引き続き公開できます。

 AWS CloudFormation テンプレートを使用して配信される Amazon マシンイメージ (AMI) を含む製品を作成し、サーバーレスコンポーネントを製品に組み込むことができます。たとえば、コントローラーサーバーとして設定された AMI を使用して製品を作成し、 CloudFormation スタックとして配信できます。スタックの作成に使用される CloudFormation テンプレートには、サーバー内のイベントによってトリガーされる AWS Lambda 関数を設定する定義を含めることができます。このアプローチを使用して製品を設計すると、アーキテクチャを簡素化し、購入者が簡単に起動できるようになります。また、このアプローチにより、製品の更新が容易になります。以降のセクションでは、このタイプの製品を作成して提供する方法について説明します。

製品用の AMI の作成の詳細については、「[AWS Marketplace の AMI ベースの製品](ami-products.md)」を参照してください。製品の AWS CloudFormation テンプレートを完了する方法については、「」を参照してください[製品に CloudFormation テンプレートを追加する](cloudformation.md)。

サーバーレスアプリケーションを定義するときは、 に保存する AWS Serverless Application Model (AWS SAM) テンプレートを使用します AWS Serverless Application Repository。 AWS SAM は、サーバーレスアプリケーションを構築するためのオープンソースフレームワークです。デプロイ中、 は AWS Serverless Application Model 構文を AWS SAM 変換して CloudFormation 構文に展開します。 AWS Serverless Application Repository は、サーバーレスアプリケーション用のマネージド型のリポジトリです。再利用可能なアプリケーションを保存して共有できるため、購入者はサーバーレスアーキテクチャを構築してデプロイできます。

**注記**  
AWS Marketplace は、出品が作成される前に製品を確認して検証します。オファーがリスト化される前に解決しなければならない問題がある場合、メールメッセージでお知らせします。
サブスクリプションの受理の一環として、AMIs、サーバーレスアプリケーション、および CloudFormation テンプレートを各 AWS Marketplaceの 所有リポジトリにコピーします AWS リージョン。購入者が製品をサブスクライブすると、購入者にアクセス権が付与され、ソフトウェアの更新時にも通知されます。

**Topics**
+ [ステップ 1: サーバーレスアプリケーションを作成する](#cloudformation-serverless-application-procedure-step-1)
+ [ステップ 2: アプリケーションをリポジトリに公開する](#cloudformation-serverless-application-procedure-step-2)
+ [ステップ 3: CloudFormation テンプレートの作成](#cloudformation-serverless-application-procedure-step-3)
+ [ステップ 4: CloudFormation テンプレートと設定ファイルの送信](#cloudformation-serverless-application-procedure-step-4)
+ [ステップ 5: AWS Serverless Application Repository アプリケーションのアクセス許可を更新する](#cloudformation-serverless-application-procedure-step-5)
+ [ステップ 6: AMI を共有する](#cloudformation-serverless-application-procedure-step-6)
+ [ステップ 7: AMI とサーバーレスアプリケーションを使用する CloudFormation 製品を送信する](#cloudformation-serverless-application-procedure-step-7)

## ステップ 1: サーバーレスアプリケーションを作成する
<a name="cloudformation-serverless-application-procedure-step-1"></a>

最初のステップは、サーバーレスアプリケーションの作成に使用される AWS Lambda 関数をパッケージ化することです。アプリケーションは、Lambda 関数、イベントソース、その他のリソースを組み合わせたもので、協調して動作することによりタスクを実行します。サーバーレスアプリケーションは、1 つの Lambda 関数と同じくらい単純な場合もあれば、API、データベース、イベントソースマッピングなどの他のリソースと共に複数の関数を含む場合もあります。

を使用して AWS SAM 、サーバーレスアプリケーションのモデルを定義します。プロパティ名とタイプの詳細については、GitHub の AWS「 Labs」の[AWS::Serverless::Application](https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication)」を参照してください。以下は、単一の Lambda 関数と AWS Identity and Access Management (IAM) ロールを持つ AWS SAM テンプレートの例です。

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: An example of SAM template with Lambda function and IAM role

Resources:
  SampleFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: 'com.sampleproject.SampleHandler::handleRequest'
      Runtime: java8
      CodeUri: 's3://amzn-s3-demo-bucket/2EXAMPLE-1234-4b12-ac37-515EXAMPLEe5-lambda.zip'
      Description: Sample Lambda function
      Timeout: 120
      MemorySize: 1024
      Role:
        Fn::GetAtt: [SampleFunctionRole, Arn]

  # Role to execute the Lambda function
  SampleFunctionRole:
    Type: "AWS::IAM::Role"
    Properties:
      AssumeRolePolicyDocument:
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "lambda.amazonaws.com"
            Action: "sts:AssumeRole"
      ManagedPolicyArns:
        - "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
      Policies:
        - PolicyName: SFNXDeployWorkflowDefinitionPolicy
          PolicyDocument:
            Statement:
              - Effect: "Allow"
                Action:
                  - "s3:Get*"
                Resource: "*"
      RoleName: "SampleFunctionRole"
```

## ステップ 2: アプリケーションをリポジトリに公開する
<a name="cloudformation-serverless-application-procedure-step-2"></a>

アプリケーションを公開するには、最初にアプリケーションコードをアップロードします。アカウントが所有する Amazon S3 バケットにコードアーティファクト (Lambda 関数、スクリプト、構成ファイルなど) を保存します。アプリケーションをアップロードすると、最初はプライベートに設定されます。つまり、アプリケーションを AWS アカウント 作成した でのみ使用できます。アップロードしたアーティファクトにアクセスするための AWS Serverless Application Repository アクセス許可を付与する IAM ポリシーを作成する必要があります。

**サーバーレスアプリケーションをサーバーレスアプリケーションリポジトリに公開するには**

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. アプリケーションのパッケージ化に使用した Amazon S3 バケットを選択します。

1. **[アクセス許可]** タブを選択します。

1. [**バケットポリシー**] を選択します。

1. 次のポリシーステートメントの例をコピーして貼り付けます。
**注記**  
ポリシーステートメントの例では、次の手順で `aws:SourceAccount` および `Resource` の値が更新されるまでエラーが生成されます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service":  "serverlessrepo.amazonaws.com"
               },
               "Action": "s3:GetObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
               "Condition" : {
                   "StringEquals": {
                       "aws:SourceAccount": "123456789012"
                   }
               }
           }
       ]
   }
   ```

------

   1. `Resource` プロパティ値の amzn-s3-demo-bucket をバケットのバケット名に置き換えます。

   1. `Condition` 要素の *123456789012* を AWS アカウント ID に置き換えます。`Condition` 要素により、 AWS Serverless Application Repository にのみ、指定された からアプリケーションにアクセスするアクセス許可が付与されます AWS アカウント。

1. **[保存]** を選択します。

1. で AWS Serverless Application Repository コンソールを開きます[https://console.aws.amazon.com/serverlessrepo](https://console.aws.amazon.com/serverlessrepo)。

1. [**My Applications (マイアプリケーション)**] ページで、[**Create application (アプリケーションの作成)**] を選択します。

1. 必要に応じて、必須フィールドと任意のフィールドに入力します。必須フィールドは次のとおりです。
   +  **アプリケーション名** 
   +  **筆者** 
   +  **説明** 
   +  **ソースコード URL** 
   +  **SAM template** 

1. [**Publish application (アプリケーションの公開)**] を選択します。

**アプリケーションの後続バージョンを公開するには**

1. で AWS Serverless Application Repository コンソールを開きます[https://console.aws.amazon.com/serverlessrepo](https://console.aws.amazon.com/serverlessrepo)。

1. [ナビゲーションペイン] で、[**My Applications (マイアプリケーション)**] からアプリケーションを選択します。

1. **[新しいバージョンを発行]** を選択します。

詳細については、[「 AWS SAM CLI を使用したサーバーレスアプリケーションの発行](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-publishing-applications.html)」を参照してください。

## ステップ 3: CloudFormation テンプレートの作成
<a name="cloudformation-serverless-application-procedure-step-3"></a>

CloudFormation テンプレートを構築するには、テンプレートの前提条件を満たし、必要な入力とセキュリティパラメータを用意する必要があります。詳細については、「*AWS CloudFormation ユーザーガイド*」の「[テンプレートの構造分析](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)」を参照してください。

CloudFormation テンプレートで、サーバーレスアプリケーションと AMI を参照できます。ネストされた CloudFormation テンプレートを使用して、ルートテンプレートとネストされたテンプレートの両方でサーバーレスアプリケーションを参照することもできます。サーバーレスアプリケーションを参照するには、 AWS SAM テンプレートを使用します。からアプリケーションの AWS SAM テンプレートを自動的に生成できます AWS Serverless Application Repository。以下はテンプレートの例です。

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: An example root template for a SAR application

Resources:
  SampleSARApplication:
    Type: AWS::Serverless::Application
    Properties:
      Location:
         ApplicationId: arn:aws:serverlessrepo:us-east-1:1234567890:applications/TestApplication
         SemanticVersion: 1.0.0
  SampleEC2Instance:
    Type: AWS::EC2::Instance
      Properties: 
        ImageId: "ami-79fd7eee"
        KeyName: "testkey"
        BlockDeviceMappings: 
          - DeviceName: "/dev/sdm"
            Ebs: 
              VolumeType: "io1"
              Iops: "200"
              DeleteOnTermination: "false"
              VolumeSize: "20"
          - DeviceName: "/dev/sdk"
            NoDevice: {}
```

 AWS SAM テンプレートには、次の要素が含まれています。
+  `ApplicationID` - アプリケーションの Amazon リソースネーム (ARN)。この情報は、 AWS Serverless Application Repositoryの **[マイアプリケーション]** セクションにあります。
+  `SemanticVersion` - サーバーレスアプリケーションのバージョン。このフォームは、 AWS Serverless Application Repositoryの **[マイアプリケーション]** セクションにあります。
+  `Parameter` (オプション) - アプリケーションのパラメータ。

**注記**  
`ApplicationID` および `SemanticVersion` では、[組み込み関数](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html)はサポートされていません。これらの文字列はハードコーディングする必要があります。`ApplicationID` は、クローンの作成時に更新されます AWS Marketplace。

CloudFormation テンプレートで設定ファイルおよびスクリプトファイルを参照する場合は、次に示す形式に従ってください。ネストされたテンプレート (`AWS::Cloudformation::Stack`) では、組み込み関数がない `TemplateURLs` でのみサポートされます。テンプレートの `Parameters` の内容に注意してください。

```
AWSTemplateFormatVersion: '2010-09-09'
Metadata:
  Name: Seller test product
Parameters:
  CFTRefFilesBucket:
    Type: String
    Default: "seller-bucket"
  CFTRefFilesBucketKeyPrefix:
    Type: String
    Default: "cftsolutionFolder/additionCFfiles"
Resources:
  TestEc2:
    Type: AWS::EC2::Instance
    Metadata:
      AWS::CloudFormation::Init:
        addCloudAccount:
          files:
            /etc/cfn/set-aia-settings.sh:
              source:
                Fn::Sub:
                - https://${CFTRefFilesBucket}.${S3Region}amazonaws.com/${CFTRefFilesBucketKeyPrefix}/sampleScript.sh
                - S3Region:
                    !If
                    - GovCloudCondition
                    - s3-us-gov-west-1
                    - s3
              owner: root
              mode: '000700'
              authentication: Amazon S3AccessCreds
    ..
    ..
    ..
  SampleNestedStack:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: 'https://sellerbucket.s3.amazon.com/sellerproductfolder/nestedCft.template'
      Parameters:
        SampleParameter: 'test'
Transform: AWS::Serverless-2016-10-31
```

## ステップ 4: CloudFormation テンプレートと設定ファイルの送信
<a name="cloudformation-serverless-application-procedure-step-4"></a>

CloudFormation テンプレートと設定ファイルおよびスクリプトファイルを送信するには、これらのファイルが保存されている Amazon S3 バケットを読み取るためのアクセス許可を AWS Marketplace に付与します。これを行うには、バケットポリシーを更新して以下のアクセス許可を含めます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service":  "assets.marketplace.amazonaws.com"
            },
            "Action": ["s3:GetObject", "s3:ListBucket"],
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                         "arn:aws:s3:::amzn-s3-demo-bucket/*"]
        }
    ]
}
```

------

## ステップ 5: AWS Serverless Application Repository アプリケーションのアクセス許可を更新する
<a name="cloudformation-serverless-application-procedure-step-5"></a>

 AWS Serverless Application Repository アプリケーションを送信するには AWS Marketplace、アプリケーションを読み取るアクセス AWS Marketplace 許可を付与する必要があります。これを行うには、サーバーレスアプリケーションに関連付けられているポリシーにアクセス許可を追加します。アプリケーションポリシーを更新するには 2 つの方法があります。
+ [AWS Serverless Application Repository](https://console.aws.amazon.com/serverlessrepo/home) に移動します。リストからサーバーレスアプリケーションを選択します。**[共有]** タブを選択し、**[ステートメントを作成]** を選択します。**[ステートメントの設定]** ページの **[アカウント ID]** フィールドに、次のサービスプリンシパル **assets.marketplace.amazonaws.com** を入力します。次に、**[Save (保存)]** を選択します。
+ 次の AWS CLI コマンドを使用して、アプリケーションポリシーを更新します。

  ```
  aws serverlessrepo put-application-policy \
  --region region \
  --application-id application-arn \
  --statements Principals=assets.marketplace.amazonaws.com,Actions=Deploy
  ```

## ステップ 6: AMI を共有する
<a name="cloudformation-serverless-application-procedure-step-6"></a>

に構築および送信されるすべての AMIs AWS Marketplace は、すべての製品ポリシーに従う必要があります。 AWS Marketplace 管理ポータルではセルフサービス AMI スキャンを利用できます。この機能により、AMI のスキャンを開始できます。スキャン結果を迅速に (通常は 1 時間以内に) 受信でき、1 か所で明確なフィードバックを得ることができます。AMI が正常にスキャンされたら、製品ロードフォームをアップロードして AWS Marketplace Seller Operations チームによる処理のために AMI を送信します。

## ステップ 7: AMI とサーバーレスアプリケーションを使用する CloudFormation 製品を送信する
<a name="cloudformation-serverless-application-procedure-step-7"></a>

製品を送信する前に、次の点に注意してください。
+ 各テンプレートのアーキテクチャ図を用意する必要があります。この図では、 AWS CloudFormation テンプレートを介してデプロイされた各 AWS サービスの製品アイコンを使用する必要があります。また、ダイアグラムにはサービスのメタデータが含まれている必要があります。公式の AWS アーキテクチャアイコンをダウンロードするには、「[AWS アーキテクチャアイコン](https://aws.amazon.com/architecture/icons)」を参照してください。
+ 購入者に表示される各テンプレートのインフラストラクチャの料金見積もりは、[AWS 料金計算ツール](https://calculator.s3.amazonaws.com/index.html)を使用して提示した見積もりに基づきます。見積もりには、一般的なデプロイ向けのデフォルト値と共にテンプレートの一部としてデプロイされるサービスのリストを含めます。
+ 製品ロードフォームに入力します。 AWS Marketplace 管理ポータルから製品ロードフォームを見つけることができます。単一 AMI 製品と複数 AMI 製品には、異なる製品ロードフォームが必要です。製品ロードフォームで、CloudFormation テンプレートのパブリック URL を指定します。CloudFormation テンプレートは、パブリック URL の形式で送信する必要があります。
+  AWS Marketplace 管理ポータル を使用して出品を送信します。[**Assets (アセット)**] から [**File upload (ファイルのアップロード)**] を選択し、ファイルをアタッチして、[**Upload (アップロード)**] を選択します。テンプレートとメタデータを受信すると、 はリクエストの処理 AWS を開始します。

出品を送信すると、 は製品ロードフォーム AWS Marketplace を確認して検証します。さらに、 は AMIs とサーバーレスアプリケーションを AWS Marketplace リージョン化し、ユーザーに代わって CloudFormation テンプレートのリージョンマッピングを更新します。問題が発生した場合は、 AWS Marketplace Seller Operations チームが E メールで連絡します。

# AWS Marketplace 販売者としての AMI ベースの製品の管理
<a name="concept-chapter-servicename"></a>

 AWS Marketplace 販売者は、単一の [Amazon マシンイメージ (AMIs](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#AmazonMachineImage)製品を管理および更新できます。AMI ベースの製品には、ソフトウェアの 1 つ以上のバージョンのセットと、製品全体に関するメタデータが含まれます。製品を作成するときは、製品名、説明 AWS Marketplace、料金など、 でそのプロパティを設定します。また、関連する検索で商品が表示されるように、商品に適したカテゴリを決定し、キーワードを追加します。単一 AMI 製品を作成したら、変更リクエストを送信すると、製品またはバージョンを変更することができます。

AMI ベースの製品についてリクエストできる変更のタイプは次のとおりです。
+ 購入者に表示される製品情報を更新する。
+ 購入者に表示されるバージョン情報を更新する。
+ 製品の新しいバージョンを追加する。
+ 新しい購入者がそのバージョンにアクセスできないようにバージョンを制限する。
+  AWS リージョン 製品が利用可能な を更新します。
+ 製品の料金設定とインスタンスタイプを更新する。
+ から製品を削除します AWS Marketplace。

以下のトピックでは、単一 AMI 製品を管理および更新する方法について説明します。

**Topics**
+ [での AMI ベースの製品の変更リクエストの作成 AWS Marketplace](single-ami-create-change-request.md)
+ [AMI ベースの製品の可視性の更新](ami-update-visibility.md)
+ [の AMI インスタンスの追加と制限 AWS Marketplace](single-ami-instance-types.md)
+ [での AMI ベースの製品のバージョン管理 AWS Marketplace](single-ami-versions.md)
+ [での AMI ベースの製品情報の更新 AWS Marketplace](single-ami-updating-product.md)
+ [AWS リージョン および国別の AMI ベースの製品の可用性の管理](single-ami-regions.md)
+ [AMI ベースの AWS Marketplace 製品のエンドユーザーライセンス契約 (EULA) の更新](single-ami-update-eula.md)
+ [での AMI ベースの製品の返金ポリシーの更新 AWS Marketplace](single-ami-update-refund-policy.md)
+ [AMI AWS Marketplace へのアクセスの許可](single-ami-marketplace-ami-access.md)
+ [から製品を削除する AWS Marketplace](removing-products-from-aws-marketplace.md)
+ [での変更リクエストの一般的なエラーのトラブルシューティング AWS Marketplace](request-errors-and-issues.md)

# での AMI ベースの製品の変更リクエストの作成 AWS Marketplace
<a name="single-ami-create-change-request"></a>

で製品またはバージョンを変更するには AWS Marketplace、 を通じて**変更リクエスト**を送信します AWS Marketplace 管理ポータル。変更リクエストはキューに追加され、リクエストのタイプによっては解決までに数分から数日かかる場合があります。リクエストのステータスは、 AWS Marketplace 管理ポータルで確認できます。このトピックでは、セルフサービスエクスペリエンスを使用するオプションなど AWS Marketplace、 で単一 AMI 製品の変更リクエストを作成するために使用できる手順について説明します。

以下の状況では、変更リクエストを作成できます。
+ セルフサービスエクスペリエンスを使用して単一 AMI 製品リストを作成しているときに、進行中のステップを保存したが、プロセス全体を完了していません。残りのステップを完了するには、変更リクエストを作成します。
+ **[制限あり]** または **[パブリック]** 状態の製品の製品情報を変更します。情報を更新するには、変更リクエストを作成します。AMI ベースの製品に対してリクエストできる変更のタイプの詳細については、「[変更リクエストを作成する](#single-ami-creating-change-request)」を参照してください。

**注記**  
に加えて AWS Marketplace 管理ポータル、 [AWS Marketplace Catalog API](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/seller-products.html) を使用して変更リクエストを作成することもできます。

**Topics**
+ [セルフサービスを使用して変更リクエストを作成します。](#ami-self-service-change-req)
+ [変更リクエストを作成する](#single-ami-creating-change-request)
+ [変更リクエストのステータスを取得する](#single-ami-getting-change-request-status)
+ [その他のリソース](#ami-single-change-req-resources)

## セルフサービスを使用して変更リクエストを作成します。
<a name="ami-self-service-change-req"></a>

バージョンや製品情報を変更するには、 AWS Marketplace 管理ポータルで変更リクエストを作成します。**変更リクエストは、製品に変更を加える際に使用するセルフサービスリストの構成要素です。ステップから **[保存して終了]** を選択して手順を終了するか、更新の **[送信]** を選択するたびに、変更リクエストを送信することになります。リクエストは AWS Marketplace 管理ポータル [、Request ](https://aws.amazon.com/marketplace/management/requests) タブで確認できます。

**セルフサービスを使用して変更リクエストを作成するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインしてから、[https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server)ページに移動します。

1. **[サーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンからオプションを選択します。

1. 変更リクエストを行った後、システムがリクエストを処理するまで待ち時間があり、**[レビュー中]** と表示されます。リクエストが完了すると、**[成功]** または **[失敗]** と表示されます。
   + リクエストが送信されると、**[レビュー中]**、**[変更を準備中]**、**[変更を適用中]** のステータスで処理が開始されます。
   + **[成功]** とは、リクエストした変更が処理され、変更がシステムに反映されたことを意味します。
   + **[失敗]** とは、リクエストに何か問題が生じたため、変更が処理されなかったことを意味します。ステータスが、**[失敗]** の場合は、リクエストを選択して、エラーの修正方法に関する推奨事項を示すエラーコードを検索できます。この時点で、エラーのトラブルシューティングを行い、変更の新しいリクエストを作成できます。処理を速めるには、**[新しいリクエストにコピー]** を選択して失敗したリクエストの詳細をコピーできます。その後、調整を行ってリクエストを再送信できます。

## 変更リクエストを作成する
<a name="single-ami-creating-change-request"></a>

**重要**  
2023 年 6 月 15 日、 AWS Marketplace は以下の手順を中止します。2023 年 6 月 15 日以降は、[セルフサービスを使用して変更リクエストを作成します。](#ami-self-service-change-req) の手順を使用してください。

バージョンや製品情報を変更するには、 AWS Marketplace 管理ポータルで変更リクエストを作成します。**

**変更リクエストを作成するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインしてから、[https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server)ページに移動します。

1. **[サーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンリストからオプションを選択します。

   ほとんどの変更リクエストでは、ユーザーインターフェイスのフォームに記入して送信するだけです。ただし、変更によっては、製品積載フォーム (PLF) をダウンロードして記入し、アップロードする必要があります。これは必要な情報を記入するためのフォームが入ったスプレッドシートです。これらの変更リクエストのいずれかを選択すると、作成しようとしているリクエストに対応する正しい PLF をダウンロードするように求められます。PLF には、既存の製品詳細の情報が事前に入力されています。完成した PLF を AWS Marketplace 管理ポータル [ファイルのアップロード](https://aws.amazon.com/marketplace/management/product-load)ページにアップロードできます。
**注記**  
最新の PLF をダウンロードして使用することを強くお勧めします。フォームは、インスタンスタイプや AWS リージョン などの新しい情報が利用可能になりしだい、定期的に更新されます。製品の最新の PLF は、**[サーバー製品]** ページで製品を選択し、**[製品積載フォームをダウンロード]** を選択すると確認できます。

変更リクエストのステータスの詳細については、「[変更リクエストのステータスを取得する](#single-ami-getting-change-request-status)」を参照してください。変更リクエストで発生する可能性のある問題については、「[での変更リクエストの一般的なエラーのトラブルシューティング AWS Marketplace](request-errors-and-issues.md)」を参照してください。

## 変更リクエストのステータスを取得する
<a name="single-ami-getting-change-request-status"></a>

**重要**  
2023 年 6 月 15 日、 AWS Marketplace は以下の手順を中止します。この手順は、セルフサービスエクスペリエンスでは不要になります。

変更リクエストを送信すると、 AWS Marketplace 管理ポータルの [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページの **[リクエスト]** タブでリクエストのステータスを確認できます。ステータスは、次のいずれかになります。
+ **[レビュー中]** とは、リクエストがレビュー中であることを意味します。一部のリクエストでは、 AWS Marketplace チームによる手動レビューが必要ですが、ほとんどのリクエストはシステム内で自動的にレビューされます。
+ **[成功]** とは、リクエストが完了したことを意味します。製品またはバージョンがリクエストどおりに更新されました。
+ **[アクションが必要]** とは、問題を解決したり、リクエストに関する質問に回答したりするために、リクエストを更新する必要があるということを意味します。リクエストを選択すると、問題を含む詳細が表示されます。
+ **[失敗]** とは、リクエストに何か問題があったことを意味し、同じデータを使用して新しい変更リクエストを作成する必要があります。

## その他のリソース
<a name="ami-single-change-req-resources"></a>

特定のタイプの更新の変更リクエストの詳細については、以下のリソースを参照してください。
+ [での AMI ベースの製品情報の更新 AWS Marketplace](single-ami-updating-product.md)
+ [バージョン情報を更新する](single-ami-versions.md#single-ami-updating-version)
+ [新しいバージョンを追加する](single-ami-versions.md#single-ami-adding-version)
+ [バージョンを制限する](single-ami-versions.md#single-ami-restricting-version)

# AMI ベースの製品の可視性の更新
<a name="ami-update-visibility"></a>

 AWS Marketplace 販売者は、製品の可視性を更新して、単一の AMI 製品を表示できる購入者を変更できます AWS Marketplace。可視性ステータスが **Public** に設定されている場合、製品はすべての AWS Marketplace 購入者に表示されます。製品の可視性が **Limited** に設定されている場合、製品は許可リストにある AWS アカウント IDs にのみ表示されます。製品を表示できる AWS アカウント IDs のこの許可リストを管理および更新することもできます。以下のセクションでは、製品の可視性と **[限定]** 可視性の許可リストを更新する方法を示します。

**Topics**
+ [製品の可視性を更新する](#ami-update-self-service-visibility)
+ [許可リスト (プレビューアカウント) を更新する](#single-ami-updating-allowlist)

## 製品の可視性を更新する
<a name="ami-update-self-service-visibility"></a>

どの購入者が製品を表示できるかを変更するには AWS Marketplace、**Update visibility** を使用できます。

**可視性を更新するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[可視性を更新]** を選択します。
**注記**  
この変更リクエストを使用して、製品を **[制限あり]** ステータスから **[パブリック]** ステータスに移行するようリクエストできます。ただし、変更リクエストを**公開**に移行するには、 AWS Marketplace Seller Operations チームの承認プロセスを経る必要があります。

1. **[変更リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。

## 許可リスト (プレビューアカウント) を更新する
<a name="single-ami-updating-allowlist"></a>

限定****状態の製品を表示できる AWS アカウント IDs のリストを変更するには、**Update allowlist** を使用します。

**許可リストを更新するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[許可リストを更新]** を選択します。現在のリストには、現在、許可リストに登録されているアカウントのリストが表示されます。

1. 可視性に適した AWS アカウント IDs を追加し、IDsをカンマで区切ります。

1. **[変更リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。

# の AMI インスタンスの追加と制限 AWS Marketplace
<a name="single-ami-instance-types"></a>

 AWS Marketplace 販売者は、購入者が単一の Amazon Machine Imagine (AMI) 製品に使用できるインスタンスを管理できます。購入者が単一 AMI を使用できる新しいインスタンスを追加できます。同様に、新規購入者が特定のインスタンスの単一の AMI 製品を使用できないようにする場合は、インスタンスを制限できます。

Amazon EC2 インスタンスタイプの詳細については、「*Amazon EC2 ユーザーガイド*」の「[利用可能なインスタンスタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes)」を参照してください。

次のセクションでは、インスタンスを追加および制限する方法について説明します。

**Topics**
+ [インスタンスの追加](#single-ami-adding-instance-types)
+ [インスタンスを制限する](#single-ami-restricting-instance-types)

## インスタンスの追加
<a name="single-ami-adding-instance-types"></a>

購入者が単一の AMI として使用できる新しいインスタンスを追加できます。

**インスタンスを追加するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[インスタンスを追加]** を選択します。

1. インスタンスのアーキテクチャを選択します。

1. 使用可能なインスタンスタイプのリストから追加するインスタンスを選択します。

1. **[リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。
**注記**  
また、現在の料金モデルが無料ではない場合や、Bring Your Own License (BYOL) モデルを使用している場合は、追加の料金が発生します。
 新しいインスタンスの料金を指定して**インスタンスを追加**した場合、または料金を引き上げるために**料金を更新**した場合は、変更を行った日から 90 日間はセルフサービスを使用して**インスタンスを追加**することはできません。これらの変更を行うには、[AWS Marketplace Seller Operations チーム](https://aws.amazon.com/marketplace/management/contact-us/)に連絡してください。
新しいインスタンスタイプのサポートを追加すると、既に製品のプライベートオファーをサブスクライブしている顧客は、新しく追加されたインスタンスを自動的に起動できなくなります。顧客にアクセスさせたいインスタンスを使用して、別のプライベートオファーを作成する必要があります。新しいオファーを承諾すると、お客様は新しく追加されたインスタンスを起動できます。将来の日付に製品をサブスクライブするお客様は、インスタンスがプライベートオファーに含まれている限り、そのインスタンスを起動することもできます。新しいプライベートオファーを作成する方法の詳細については、このガイドで後述する「[での契約の修正 AWS Marketplace](private-offers-upgrades-and-renewals.md)」を参照してください。

**注記**  
**FPGA インスタンスタイプのサポート**  
AFI IDs を持つ製品は、F2 インスタンスタイプのみをサポートします。他のインスタンスタイプで AMI を提供できますが、AFIs は他のインスタンスタイプにはロードされません。購入者が non-F2インスタンスで製品を起動すると、AMI は AFI IDs。

## インスタンスを制限する
<a name="single-ami-restricting-instance-types"></a>

新規購入者が AMI 製品のインスタンスを使用できないようにするには、インスタンスを制限できます。インスタンスは、必要に応じて後で追加し直すことができます。制限されたインスタンスの単一の AMI の既存のユーザーは、サブスクリプション期間中、リージョンの製品を引き続き使用できます。

**インスタンスを制限するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[インスタンスの制限]** を選択します。

1. 制限するインスタンスを選択し、**[制限]** を選択します。

1. **[変更リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。
**注記**  
チェックボックスがグレー表示されている場合は、そのインスタンスが推奨インスタンスタイプとして 1 つまたは複数のバージョンに関連付けられていることを意味します。このようなインスタンスを制限するには、**[バージョンの更新]** を使用して別の推奨インスタンスタイプを選択してください。変更リクエストが完了し、制限するインスタンスが推奨インスタンスタイプでなくなったら、**[インスタンスの制限]** に戻って選択したインスタンスを制限できます。

# での AMI ベースの製品のバージョン管理 AWS Marketplace
<a name="single-ami-versions"></a>

Amazon マシンイメージ (AMI) ベースの製品を作成するときは AWS Marketplace、特定のバージョンのソフトウェアを含めます。の AMI ベースの製品のライフサイクル AWS Marketplace は、最初のバージョンを公開した後に終了しません。販売者は、ソフトウェアの新しいバージョンで製品を最新の状態に保つ必要があります。以下のセクションでは、バージョン情報 (説明や日付など) の更新、新しいバージョンの追加、以前のバージョンへのアクセスの制限など、バージョンを管理する方法を示します。

**Topics**
+ [バージョン情報を更新する](#single-ami-updating-version)
+ [新しいバージョンを追加する](#single-ami-adding-version)
+ [バージョンを制限する](#single-ami-restricting-version)

## バージョン情報を更新する
<a name="single-ami-updating-version"></a>

バージョンが作成されたら、そのバージョンに関連する情報を変更して、更新された情報を購入者に提供すると便利です。例えば、バージョン 1.1 がリリースされた後にバージョン 1.0 を制限する予定であれば、バージョン 1.0 の説明を更新して、そのバージョンが制限される日付を指定して購入者をバージョン 1.1 に誘導できます。バージョン情報は AWS Marketplace 管理ポータルから更新します。

**バージョン情報を更新するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[サーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[バージョン情報を更新]** を選択します。

1. **[バージョンを更新]** ページで、更新するバージョンを選択します。

1. 変更する必要がある次の情報を更新します。
   + **リリースノート**
   + **[使用手順]**
   + **64 ビット (x86) Amazon マシンイメージ (AMI)** - 使用状況とセキュリティグループの詳細

1. **[送信]** を選択します。

1. リクエストが **[リクエスト]** タブに **[レビュー中]** ステータスで表示されていることを確認します。

**注記**  
この手順を使用して、バージョンタイトルやバージョンに関連付けられている AMI を更新することはできません。代わりに、[新しいバージョンを作成し](#single-ami-adding-version)、[以前のバージョンを制限してください](#single-ami-restricting-version)。

リクエストのステータスは、[サーバー製品](https://aws.amazon.com/marketplace/management/products/server)ページの **[リクエスト]** タブからいつでも確認できます。詳細については、「[変更リクエストのステータスを取得する](single-ami-create-change-request.md#single-ami-getting-change-request-status)」を参照してください。

## 新しいバージョンを追加する
<a name="single-ami-adding-version"></a>

製品、ベースイメージに変更を加えたとき、または製品の AMI を変更する必要があるときはいつでも、製品の新しいバージョンを追加できます。から製品の新しいバージョンを追加します AWS Marketplace 管理ポータル。

**注記**  
の AMI の作成については AWS Marketplace、「」を参照してください[で使用する AMIs を構築するためのベストプラクティス AWS Marketplace](best-practices-for-building-your-amis.md)。

**新しいバージョンを追加するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[新しいバージョンを追加]** を選択します。**[新しいバージョンを追加]** フォームが表示され、最新バージョンの情報が入力されます。
**注記**  
**[「バージョンの追加」テスト]** を選択して、新しいバージョンを追加せずに AMI と CloudFormation テンプレートをスキャンすることもできます。詳細については、「[公開要件を確認するための AMI のスキャン](https://docs.aws.amazon.com/marketplace/latest/userguide/best-practices-for-building-your-amis.html#self-service-scanning)」を参照してください。

1. **[バージョン情報]** セクションで、次の情報を入力します。
   + **[バージョンタイトル]** - 有効な文字列 (*1.1* や *バージョン 2.0* など) を入力します。製品全体で一意である必要があります。
   + **[リリースノート]** - このバージョンに関する詳細を説明するテキストを入力します。

1. **[配信オプション]** セクションで、購入者がソリューションをデプロイする方法、AMI (スタンドアロン)、CloudFormation を使用した AMI、またはその両方を選択します。CloudFormation 配信オプションでは、最大 3 つの AMI を選択できます。
**注記**  
新しい配信オプションを既存のバージョンに追加することはできません。1 つのバージョンの配信オプションはすべて、同じリクエストで送信する必要があります。

1. **[Amazon マシンイメージ (AMI)]** セクションで、以下の情報を入力します。
   + **[Amazon マシンイメージ ID]** - このバージョンに使用する AMI の AMI ID を入力します。AMI ID は、[コンソールの AMI のリスト](https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#Images:sort=name)から確認できます。AMI は、米国東部 (バージニア北部) リージョンと AWS Marketplace 販売者アカウントに存在する必要があります。この AMI に関連付けられているスナップショットは暗号化できません。
   + **IAM アクセスロール ARN** – が AMI にアクセス AWS Marketplace できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN) を入力します。IAM ロールの作成手順については、「[AMI AWS Marketplace へのアクセスの許可](single-ami-marketplace-ami-access.md)」を参照してください。IAM ARN には、標準形式 (例: *arn:aws:iam::123456789012:role/RoleName*) を使用します。ARN は AWS Marketplace 販売者アカウントに存在する必要があります。
   + **オペレーティングシステム (OS)** – AMI のベースオペレーティングシステムを入力します。
   + **OS バージョン** – AMI が使用しているオペレーティングシステムのバージョンを入力します。
   + **[OS ユーザー名]** - Linux ベースの AMI の場合は、インスタンスへのサインインに使用できるユーザーの名前を入力します。*ec2-user* を使用することをお勧めします。
   + **[スキャンポート]** - オペレーティングシステムへのログインに使用できるポート番号 (Linux AMI の場合は SSH ポート、Windows AMI の場合は RDP ポート) を入力します。
   + **Amazon FPGA Image (AFI) IDs ** (オプション) – AMI に関連付ける AFI IDs を入力します。AFIs F2 インスタンスタイプのみをサポートします。他のインスタンスタイプで AMI を提供できますが、そのような場合、AFIs はロードされません。AFI IDs の追加ボタンを使用して、最大 15 **個の AFI ID** を追加できます。このオプションは、CloudFormation テンプレートを使用する場合は使用できません。指定するすべての AFI IDs は、米国東部 (バージニア北部) リージョンを起点とし、AWS Marketplace 販売者アカウント内に存在し、提供された IAM アクセスロールには、この AFI を AWS Marketplace と共有するためのアクセス許可が必要です。必要なアクセス許可の詳細については、[「AWS Marketplace に FPGA イメージへのアクセスを許可する](https://docs.aws.amazon.com/marketplace/latest/userguide/single-ami-marketplace-ami-access.html#single-ami-marketplace-afi-access)」を参照してください。

1. 該当する場合は、**[AMI 配信オプション]** セクションに次の設定を指定します。
   + **[推奨インスタンスタイプ]** - 購入者がデフォルトで利用できるインスタンスタイプを選択します。
   + **[使用手順]** - AMI の使用方法、または AMI の使用に関する詳細情報へのリンクを入力します。例: *製品の使用を開始するには、https://example.com/usage.htm に移動してください。*
   + **[エンドポイント URL]** - 購入者がインスタンスを作成した後にソフトウェアにアクセスする方法についての情報を入力します。購入者が製品へのアクセスに使用できる **[プロトコル]** (*https* または *http*)、**相対 URL** (例: */index.html*)、および**ポート** (例:*443*) を入力します。(ホスト名は EC2 インスタンスによって異なるため、相対パスのみを指定する必要があります)。
   + **[セキュリティグループの推奨事項]** - プロトコル (*TCP* または *UDP*)、許可するポートの範囲、IPv4 CIDR IP のリスト (*xxx.xxx.xxx.xxx/nn* の形式、例えば *192.0.2.0/24*) など、1 つ以上の推奨事項の情報を入力します。

1. 該当する場合は、**CloudFormation 配信オプションを使用する AMI** に次の設定を指定します。
   + **配信オプションタイトル** – これは、この単一 AMI CloudFormation テンプレート配信オプションを識別するための一意の名前です。
   + **短い説明** – CloudFormation テンプレートの簡単な説明。
   + **長い説明** – CloudFormation テンプレートの詳細な説明。
   + **推奨インスタンスタイプ** – 購入者がデフォルトで利用できるインスタンスタイプ。
   + **使用手順** - ソリューションの使用手順、またはソリューションの使用に関する詳細情報へのリンク。
   + **CloudFormation テンプレートリンク** – Amazon S3 の CloudFormation テンプレートの場所への URL。ネストされたスタックまたはテンプレートの場合は、エントリポイントまたは親テンプレートを指定します。ファイルが存在する Amazon S3 バケットへの公開が許可されている必要があります。詳細については、「[製品に CloudFormation テンプレートを追加する](https://docs.aws.amazon.com//marketplace/latest/userguide/cloudformation.html)」を参照してください。
   + **AMI パラメータ名** – テンプレート内の EC2 インスタンスリソースが`ImageId`プロパティ値で参照している CloudFormation テンプレートにパラメータの名前を追加します。 は、指定されたパラメータを [AWS Systems Manager パラメータストア](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-parameter-store.html)パラメータ AWS Marketplace に置き換えます。購入者がテンプレートをデプロイすると、そのパラメータは公開済み製品の AWS リージョン固有の AMI ID に解決されます。詳細については、「[AMI 詳細の要件](https://docs.aws.amazon.com//marketplace/latest/userguide/cloudformation.html#ami-requirements-sse)」を参照してください。
   + **アーキテクチャ図リンク** – Amazon S3 のアーキテクチャ図の場所への URL。最大イメージファイルは、サイズが 1560 x 878 または 1560 x 3120 ピクセルで、比率が 16:9 または 1:2 である必要があります。イメージファイルが存在する Amazon S3 バケットへの公開が許可されている必要があります。図の要件については、「[アーキテクチャ図](https://docs.aws.amazon.com//marketplace/latest/userguide/cloudformation.html#topology-diagram)」を参照してください。

1. **[送信]** を選択し、新しいバージョンを追加するリクエストを送信します。
**注記**  
新しいバージョンを追加すると、AMI がスキャンされます。詳細については、「[公開要件を確認するための AMI のスキャン](https://docs.aws.amazon.com/marketplace/latest/userguide/best-practices-for-building-your-amis.html#self-service-scanning)」を参照してください。
**注記**  
**新しいバージョンでの AFI ID サポート**  
新しい AMI バージョンを追加するときは、AMI (スタンドアロン) 配信方法を選択した場合に AFI IDs を設定できます。キャラクターの制限、一意性の要件、リージョンの制約、アカウント所有権の検証など、新しいバージョンを追加する場合にも、製品の作成時に適用されるのと同じ検証ルールが適用されます。AFI IDs を使用してバージョンを作成すると、それらの AFI IDs はイミュータブルになり、後で編集することはできません。AFI IDs を変更する必要がある場合は、更新された設定で新しいバージョンを作成する必要があります。AFI IDs を持つ新しいバージョンは、AFI IDs を持つ既存のバージョンと共存できるため、異なる製品バージョン間で複数の FPGA 設定を維持できます。バージョンの準備中に、 はリージョン AFI クローン AWS Marketplace を作成して、サポートされている AWS リージョン間で製品が利用可能であることを確認し、購入者のデプロイプロセスを合理化します。このプロセスは AWS Marketplace Seller Operations チームによって処理され、他の AMI バージョンの追加リクエストよりも時間がかかる場合があります。この間、リクエストは「レビュー中」になります。

1. リクエストが **[リクエスト]** タブに **[レビュー中]** ステータスで表示されていることを確認します。修正する必要のあるエラーがある場合、ページ上部の表にエラーが表示され、更新が必要な特定のフィールドは赤で表示されます。

リクエストのステータスは、[https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページの **[リクエスト]** タブからいつでも確認できます。新しいバージョンはレビューされ、承認された場合は製品の新しい公開バージョンとして公開されます。問題がある場合は、ステータスが **[アクションが必要]** になる場合があります。リクエストを選択すると、問題を含む詳細が表示されます。

リクエストが成功すると、既存のユーザーには以下の E メールメッセージが届きます。このメッセージは、新しいバージョンが利用可能になったことをユーザーに通知し、そのバージョンのリリースノートにリンクし、最新バージョンへのアップグレードを提案します。 AWS アカウント ルートユーザーには、 に関連付けられている E メールアカウントにも E メールメッセージのコピーが送信されます AWS アカウント。

```
Greetings from AWS Marketplace,

Thank you for subscribing to <product-title>

We are writing to inform you that <seller-name> has added a new version to <product-title> on AWS Marketplace. 
As an existing customer, your subscription to the product, any running instances and access to previous versions 
are unaffected. However, <seller-name> does recommend you to update to the latest version, <product-title>/<version-title> 
by visiting <product-detail-page-of-new-listing>.

For additional questions or upgrade information, please contact <seller-name> directly. Click here <link of seller page on MP> 
to visit the seller’s profile page on AWS Marketplace.

Release notes for <product-title>/<version-title>:

<release-notes>

Thank you,
The AWS Marketplace Team
https://aws.amazon.com/marketplace
AWS, Inc. is a subsidiary of Amazon.com, Inc. Amazon.com is a registered trademark of Amazon.com, Inc. 
This message was produced and distributed by AWS Inc., 410 Terry Ave. North, Seattle, WA 98109-5210
```

## バージョンを制限する
<a name="single-ami-restricting-version"></a>

購入者が公開している製品の特定のバージョンにアクセスできないようにする場合は、そのバージョンを制限できます。

**注記**  
制限状況にかかわらず、すべてのサブスクライバーが現在のバージョンを使用できます。 AWS Marketplace ガイドラインでは、バージョンを制限してから 90 日間、既存の購入者へのサポートを継続することが義務付けられています。バージョンが制限されると、AMI は非推奨としてマークされます。詳細については、「Windows  インスタンス用 Amazon Elastic Compute Cloud ユーザーガイド」の「[AMI を非推奨にする](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ami-deprecate.html)」を参照してください。**

**バージョンを制限するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[バージョンを制限]** を選択します。

1. **[バージョンを制限]** ページで、制限するバージョン (1 つまたは複数) を選択します。

1. **[送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。

**注記**  
製品のすべてのバージョンを制限することはできません。最後に残っているパブリックバージョンの製品を制限しようとすると、エラーが発生します。製品を完全に削除する方法については、「[から製品を削除する AWS Marketplace](removing-products-from-aws-marketplace.md)」を参照してください。

リクエストのステータスは、[https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページの **[リクエスト]** タブからいつでも確認できます。詳細については、「[変更リクエストのステータスを取得する](single-ami-create-change-request.md#single-ami-getting-change-request-status)」を参照してください。

**注記**  
バージョンの制限には、最大で 3 日かかることがあります。

リクエストが成功すると、既存のユーザーには、バージョン制限を通知し、入手可能な最新バージョンを使用することを勧める次の E メールメッセージが届きます。 AWS アカウント ルートユーザーには、 に関連付けられている E メールアカウントにも E メールメッセージのコピーが送信されます AWS アカウント。

```
Greetings from AWS Marketplace,

Thank you for subscribing to <product-title>.

We are writing to inform you that, as of <Version-Restriction-Date>, <Seller Name> will no longer offer version(s) "<version-title>" to new subscribers. Your use and subscription is unaffected for this version(s), however it is recommended that users upgrade to the latest version on AWS Marketplace.

For additional questions or upgrade information, please contact <seller-name> directly. Click here<link of seller page on MP> to visit the seller’s profile page on AWS Marketplace.

Thank you,
The AWS Marketplace Team
https://aws.amazon.com/marketplace
AWS, Inc. is a subsidiary of Amazon.com, Inc. Amazon.com is a registered trademark of Amazon.com, Inc. This message was produced and distributed by AWS Inc., 410 Terry Ave. North, Seattle, WA 98109-5210
```

# での AMI ベースの製品情報の更新 AWS Marketplace
<a name="single-ami-updating-product"></a>

単一の Amazon マシンイメージ (AMI) 製品を作成したら、それに関連する情報の一部を AWS Marketplaceで変更できます。例えば、新しいバージョンで製品の説明やハイライトが変更された場合は、新しいデータで製品情報を編集できます。製品のタイトル、SKU の説明、カテゴリ、キーワードなど、他の製品情報を更新することもできます。詳細については、以下の手順を参照してください。

**製品情報を更新するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[サーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[製品情報を更新]** を選択します。

1. 変更する必要がある次のフィールドのいずれかを更新します。
   + **[製品のタイトル]**
   + **[SKU]**
   + **短い説明**
   + **[詳しい説明]**
   + **[製品ロゴイメージ URL]**
   + **[ハイライト]**
   + **[製品カテゴリ]**
   + **キーワード**
   + **[製品動画 URL]**
   + **リソース**
   + **[サポート情報]**
**注記**  
ロゴフォーマットの詳細については、「[会社と製品のロゴ要件](product-submission.md#seller-and-product-logos)」を参照してください。

1. **[送信]** を選択します。

1. リクエストが **[リクエスト]** タブに **[レビュー中]** ステータスで表示されていることを確認します。リストにリクエストが表示されるようにするには、ページの更新が必要になる場合があります。

リクエストのステータスは、[サーバー製品](https://aws.amazon.com/marketplace/management/products/server)ページの **[リクエスト]** タブからいつでも確認できます。詳細については、「[変更リクエストのステータスを取得する](single-ami-create-change-request.md#single-ami-getting-change-request-status)」を参照してください。

# AWS リージョン および国別の AMI ベースの製品の可用性の管理
<a name="single-ami-regions"></a>

で製品を作成するときは AWS Marketplace、利用可能な AWS リージョンを選択します。購入者が製品を購入できる国も選択します。これら 2 つのプロパティは似ていますが、同じではありません。例として、購入者が米国に居住し、米国から購入していても、製品を欧州 (フランクフルト) リージョンにインストールする場合があります。この購入者が製品を購入するには、国のリストに米国を、リージョンのリストに欧州 (フランクフルト) を含める必要があります。以下のセクションを使用して、リージョンおよび国ごとに製品の可用性を更新できます。

**Topics**
+ [を追加する AWS リージョン](#single-ami-adding-regions)
+ [の制限 AWS リージョン](#single-ami-restricting-regions)
+ [将来のサポートの更新 AWS リージョン](#single-ami-updating-future-region-support)
+ [国別の可用性の更新](#single-ami-update-availability-by-country)

## を追加する AWS リージョン
<a name="single-ami-adding-regions"></a>

購入者が製品を使用できるリージョンを追加できます。

**リージョンを追加するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[リージョンを追加]** を選択します。

1. 使用可能なリージョンのリストから、追加するリージョンを選択します。

1. **[リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。

**注記**  
新しい のサポートを追加すると AWS リージョン、既に製品のプライベートオファーをサブスクライブしているお客様は、新しく追加されたリージョンに自動的にアクセスできなくなります。顧客がアクセスするリージョンを使用して、別のプライベートオファーを作成する必要があります。新しいオファーを承諾すると、顧客は新しく追加されたリージョンにアクセスできます。将来の日付に製品をサブスクライブする顧客は、リージョンがプライベートオファーに含まれている限り、そのリージョンにアクセスすることもできます。新しいプライベートオファーを作成する方法の詳細については、「[Private offer upgrades, renewals, and amendments](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-upgrades-and-renewals.html)」を参照してください。

**注記**  
**FPGA のリージョン要件**  
FPGA 製品にリージョンを追加すると、リージョン AFI クローンが によって自動的に作成 AWS Marketplace され、サポートされている AWS リージョン間で製品が使用可能になります。このプロセスにより、購入者は手動 AFI レプリケーションを必要とせずに FPGA 対応製品を任意のリージョンにデプロイできます。自動クローン作成プロセスは、製品が利用可能なすべてのリージョンで一貫性を維持します。

## の制限 AWS リージョン
<a name="single-ami-restricting-regions"></a>

新しい購入者が特定の で製品を使用できないようにするには AWS リージョン、リージョンを制限できます。リージョンは後で追加し直すことができます。リージョン内の製品の既存のサブスクライバーは、サブスクライブしている限り、そのリージョンの製品を引き続き使用できます。

**リージョンを制限するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[リージョンを制限]** を選択します。

1. ドロップダウンメニューを選択すると、製品が現在販売されているリージョンのリストが表示されます。

1. 制限するリージョンを選択します。

1. 選択したリージョンはトークンとして表示されます。制限するリージョンのリストを確認し、制限しないリージョンには X を入力します。

1. **[変更リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。

リクエストが成功すると、既存のユーザーには、制限されるリージョンを通知する次の E メールメッセージが届きます。登録している間は製品を使い続けることができますが、サブスクライブをキャンセルすると再サブスクライブすることはできません。

```
Greetings from AWS Marketplace,

This message is a notification detailing a recent change for <ProductName>.
{{{sellerName}}} has opted to restrict the <ProductType> product in <Restricted Region(s)> beginning <DateOfChange>.

This impacts you in the following ways:

1. As long as you're subscribed to the product, you can continue using the software product in the restricted Region.
2. You can't begin new instances of the software product in the restricted Region.
3. You can continue using the software product in all available AWS Regions.

Regards,
The AWS Marketplace Team
AWS, Inc. is a subsidiary of Amazon.com, Inc. Amazon.com (http://amazon.com/) is a registered
trademark of Amazon.com, Inc. This message was produced and distributed by Amazon Web
Services Inc., 410 Terry Ave. North, Seattle, WA 98109-5210.
```

## 将来のサポートの更新 AWS リージョン
<a name="single-ami-updating-future-region-support"></a>

製品を新しく起動した にオンボードする場合は AWS リージョン、**今後のリージョンの更新サポート**を使用できます。

**将来のリージョンのサポートを更新するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[将来のリージョンのサポートの更新]** を選択します。

1. 将来のリージョンサポートを有効にして、 AWS Marketplace が AWS リージョン ユーザーに代わって新しく起動された に製品をオンボードすることを許可することを選択できます。

1. この機能を有効にすると、将来リリースされるすべてのリージョンを選択するか、米国リージョンのみに限定するかを選択できます。

1. **[変更リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。

## 国別の可用性の更新
<a name="single-ami-update-availability-by-country"></a>

製品をサブスクライブして提供できる国を変更する場合は、**[可用性の更新]** を使用してください。

**国別の可用性を更新するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[可用性の更新]** を選択します。

1. 以下のオプションのいずれかを選択してください。

   1. **[すべての国]** - サポートされているすべての国で利用できます。

   1. **[除外対象のすべての国]** - 選択した国を除くすべてのサポート対象国で利用できます。

   1. **[カスタムリスト]** - 製品が販売されている特定の国のリスト。

1. **[変更リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。

# AMI ベースの AWS Marketplace 製品のエンドユーザーライセンス契約 (EULA) の更新
<a name="single-ami-update-eula"></a>

 AWS Marketplace 販売者は、単一の Amazon マシンイメージ (AMI) 製品の使用を管理するエンドユーザーライセンス契約 (EULA) を更新できます。EULA は、 AWS Marketplaceに公開されているソフトウェアリストの製品リストページに記載されています。独自の EULA を適用することも、[AWS Marketplace の標準契約書 (SCMP)](standardized-license-terms.md) を使用することもできます。以下の手順は、単一の AMI 製品の EULA を更新する方法を示しています。

EULA の詳細については、「[AWS Marketplace の標準契約書の使用](standardized-license-terms.md)」を参照してください。

**EULA を更新するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) タブを選択し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから、**[エンドユーザーライセンス契約の更新]** を選択します。

1. [AWS Marketplace (SCMP) の標準契約](https://docs.aws.amazon.com/marketplace/latest/userguide/standardized-license-terms.html)を選択するか、独自のカスタム EULA を送信できます。カスタム EULA の場合は、Amazon S3 バケットからのカスタム契約を提供する必要があります。
**注記**  
Amazon S3 バケットでパブリックアクセシビリティを有効にする必要があります。

1. **[変更リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。

# での AMI ベースの製品の返金ポリシーの更新 AWS Marketplace
<a name="single-ami-update-refund-policy"></a>

 AWS Marketplace 販売者は、単一の Amazon マシンイメージ (AMI) 製品の返金ポリシーを設定できます。製品の返金ポリシーを変更する場合は、**[返金ポリシーを更新]** を使用できます。以下の手順では、返金ポリシーを更新する方法を示します。

**返金ポリシーを更新するには**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [https://aws.amazon.com/marketplace/management/products/server](https://aws.amazon.com/marketplace/management/products/server) ページに移動し、**[現在のサーバー製品]** タブで、変更する製品を選択します。

1. **[変更をリクエスト]** ドロップダウンから **[返金ポリシーを更新]** を選択します。

1. 現在の返金ポリシーの詳細がテキストボックスに表示され、編集できます。リクエストを送信すると、現在の返金ポリシーが上書きされます。

1. **[変更リクエストを送信]** を選択して、レビューのリクエストを送信します。

1. **[リクエスト]** タブの **[リクエストステータス]** が **[レビュー中]** と表示されていることを確認します。リクエストが完了すると、ステータスが **[成功]** になります。

# AMI AWS Marketplace へのアクセスの許可
<a name="single-ami-marketplace-ami-access"></a>

への新しい Amazon マシンイメージ (AMI) の追加を含むリクエストを作成する場合 AWS Marketplace、AMI を AWS Marketplace システムにコピーし、セキュリティ上の問題がないかスキャンする必要があります。AMI でアクションを実行するアクセス許可を持つ AWS Identity and Access Management (IAM) ロールと、 がロールを引き受け AWS Marketplace ることを許可する信頼ポリシーを作成して、AMI AWS Marketplace へのアクセスを許可する必要があります。IAM ロールは一度作成するだけで済みます。次の手順では、AMI AWS Marketplace へのアクセスを許可する AWS Marketplace アセット取り込み用のロールを作成する方法を示します。

**AMI AWS Marketplace アセットの取り込み用のロールを作成するには**

1. にサインインし AWS マネジメントコンソール、IAM コンソールを開き、[ロールページ](https://console.aws.amazon.com/iam/home?region=us-east-1#/roles)に移動します。

1. **[Create role]** (ロールの作成) を選択します。

1. **[ロールを作成]** ページで、以下の選択を行います。
   + **信頼されたエンティティのタイプの選択** – **[AWS のサービス]** を選択します。
   + **ユースケースの選択** – **[AWS Marketplace]** を選択します。
   + **ユースケースの選択** - **[Marketplace - AMI アセットの取り込み]** を選択します。
   + 次のページに移動して** [次: アクセス]** ページに移動します。

1. **[AWSMarketplaceAmiIngestion]** ポリシーを選択します。必要に応じてアクセス許可の境界を追加し、**[次へ: タグ]** を選択して続行します。
**注記**  
アクセス許可の境界を使用して、このロールで AWS Marketplace に与えるアクセスを制限できます。詳細については、「*AWS Identity and Access Management ユーザーガイド*」の「[IAM エンティティのアクセス許可の境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。

1. 続行するには、**[次へ: レビュー]** を選択します。

1. ロールの名前を入力し、**[ロールを作成]** を選択します。

1. ページの上部に「ロールの*ロール名*が作成されました」と表示され、ロールがロールのリストに表示されます。

このページで、作成したロールを選択すると、その ARN が *arn:aws:iam::123456789012:role/exampleRole* という形式で表示されます。製品に[新しいバージョンを追加する](single-ami-versions.md#single-ami-adding-version)場合など、変更リクエストを作成するときは、**[IAM アクセスロール ARN]** に ARN を使用します。

## FPGA イメージ AWS Marketplace へのアクセスを許可する
<a name="single-ami-marketplace-afi-access"></a>

AMI に FPGA イメージ (AFIs) が含まれている場合は、これらの FPGA イメージにアクセスして管理するための AWS Marketplace 追加のアクセス許可も付与する必要があります。**AWSMarketplaceAmiIngestion** ポリシーに加えて、 が FPGA イメージに対して AWS Marketplace アクションを実行できるようにするインラインポリシーを作成する必要があります。

**AMI アセット取り込みロールに FPGA AWS Marketplace イメージのアクセス許可を追加するには**

1. にサインインし AWS マネジメントコンソール、IAM コンソールを開き、[ロールページ](https://console.aws.amazon.com/iam/home?region=us-east-1#/roles)に移動します。

1. AMI AWS Marketplace アセットの取り込み用に作成したロールを選択します。

1. ロールの詳細ページで、**アクセス許可**タブを選択し、**インラインポリシーの追加**を選択します。

1. **JSON** タブを選択し、次のポリシーを入力します。

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "ec2:DescribeFpgaImages",
               "ec2:DescribeFpgaImageAttribute",
               "ec2:CopyFpgaImage",
               "ec2:ModifyFpgaImageAttribute"
            ],
            "Resource":"*"
         }
      ]
   }
   ```

------

1. [**ポリシーの確認**] をクリックします。

1. などのポリシーの名前を指定し**AWSMarketplaceAfiIngestion**、**ポリシーの作成**を選択します。

このインラインポリシーを追加すると、 AWS Marketplace には、取り込みおよびスキャンプロセス中に FPGA イメージにアクセスして管理するために必要なアクセス許可が付与されます。

# から製品を削除する AWS Marketplace
<a name="removing-products-from-aws-marketplace"></a>

製品を公開したら、 から削除できます AWS Marketplace。これは*サンセット*とも呼ばれます。製品を削除するには、製品を特定して削除する理由と連絡先の E メールアドレスと一緒に削除リクエストを送信します。また、現在の製品を新しい製品と交換する場合は、代替製品 ID を提供することもできます。

製品の削除をリクエストした後、新しいお客様は製品にサブスクライブできなくなります。既存のお客様は、最低 90 日間サポートする必要があります。

**注記**  
 AWS Marketplace 管理ポータルから制限付き製品を削除することはできません。ポータルはそれらを、アカウントの発行履歴の一部として保持します。

からの製品削除のリクエストは、以下の条件で処理 AWS Marketplace されます。
+ 製品は、 AWS Marketplace 検索、参照、その他の検出ツールから削除されます。**[サブスクライブ]** ボタンまたは機能は無効になっており、ページ上のメッセージは製品が使用できなくなったことを明確に示しています。製品の詳細ページは引き続き URL を使用してアクセスでき、公開されている検索エンジンでインデックスに登録されている可能性があります。
+ 削除の理由を指定する必要があります (サポートの終了、製品の更新の終了、交換製品など)。削除された製品のサポートを継続するための要件については、[AWS Marketplace 「販売者の利用規約](https://aws.amazon.com/marketplace/management/terms)」を参照してください。
+ AWS Marketplace は、製品の削除、削除の理由、販売者の連絡先情報を知らせる E メールメッセージを通じて現在の購入者に連絡します。
+ 現在の購入者がサブスクリプションをキャンセルするまでソフトウェアへのアクセスは*維持されます*。これらのお客様は、製品の削除による影響を受けません。

**を使用して作成された製品を削除するには AWS Marketplace 管理ポータル**

1.  AWS Marketplace 管理ポータル で を開き[https://aws.amazon.com/marketplace/management/tour/](https://aws.amazon.com/marketplace/management/tour/)、販売者アカウントにサインインします。

1. [**製品**] タブを選択し、次に [**サーバー**] を選択します。

1. **[現在のサーバー製品]** の下にある製品ページで、削除する製品を探します。**[変更のリクエスト]** ドロップダウンリストで、**[可視性の更新]** を選択します。

1. **[製品可視性の更新]** ページで、**[制限付き]** を選択します。

1. (オプション) 削除する製品の代わりとなる別の製品がある場合は、**[代替製品 ID]** を入力します。

1. 情報が正しいことを確認して、**[送信]** を選択します。

製品の削除リクエストを送信した後、[**What’s next (最新情報)**] 情報ページが表示されます。Seller AWS Marketplace Operations は、リクエストを確認して処理します。[**リクエスト**] を表示して、送信のステータスを確認します。

製品が削除されると、製品は AWS Marketplace 管理ポータルの **[現在の製品]** リストに表示されます。[**Current Products (現在の製品)**] で利用できる唯一のアクションは製品のスプレッドシートをダウンロードすることです。別のサンセットリクエストの編集または送信はできません。

製品の削除についてご不明な点がございましたら、 [AWS Marketplace Seller Operations](https://aws.amazon.com/marketplace/management/contact-us/) チームまでお問い合わせください。

# での変更リクエストの一般的なエラーのトラブルシューティング AWS Marketplace
<a name="request-errors-and-issues"></a>

で製品の情報を変更すると AWS Marketplace、エラーが発生する可能性があります。このトピックでは、一般的なエラーとその修正方法について説明します。
+ **AMI のスキャン** AMI のスキャン中にいくつかの問題が発生する可能性があります。
  + AMI をスキャンする AWS Marketplace アクセス許可を付与していません。 AWS Marketplace にアクセス許可を付与してください。または、アクセス許可を付与しましたが、アクセス許可の境界が制限されすぎています。詳細については、「[AMI AWS Marketplace へのアクセスの許可](single-ami-marketplace-ami-access.md)」を参照してください。
  + スキャンで AMI にセキュリティ上の問題や一般的な脆弱性と漏えい (CVE) が見つかった場合は、イメージ内のオペレーティングシステム用の最新のパッチを使用していることを確認してください。詳細については、「[の AMI ベースの製品要件 AWS Marketplace](product-and-ami-policies.md)」を参照してください。

  AMI の構築に関する一般的なガイドラインについては、「[で使用する AMIs を構築するためのベストプラクティス AWS Marketplace](best-practices-for-building-your-amis.md)」を参照してください。
+ **AWS Marketplace 管理ポータル fields** – の一部のフィールドには、非常に具体的な情報 AWS Marketplace 管理ポータル が必要です。
  + フィールドが何をリクエストしているのかわからない場合は、コンソールで詳細を確認してみてください。ほとんどのフィールドには、フィールドの上にはテキストによる説明があり、フィールドの下にはフォーマット要件があります。
  + 1 つ以上の無効なフィールドを含むフォームを送信しようとすると、問題のリストが表示されます。問題の解決に役立つ推奨アクションが表示されます。
  +  ARN の入力を求められた場合、通常、これはコンソールの別の場所にあります。たとえば、AMI AWS Marketplace へのアクセスを許可するために作成した IAM ロールの ARN は、IAM コンソール[のロールページ](https://console.aws.amazon.com/iam/home?region=us-east-1#/roles)にあります。ARN はすべて同様の形式です。例えば、IAM ロール ARN は、*arn:aws:iam::123456789012:role/exampleRole* というような形式になります。
  + ロゴと動画は、コンテンツへの URL として直接提供する必要があります。ロゴ形式の詳細については、「[会社と製品のロゴ要件](product-submission.md#seller-and-product-logos)」を参照してください。

  製品およびバージョン変更リクエストの送信について詳しくは、「[で公開するために製品を送信する AWS Marketplace](product-submission.md)」を参照してください。
+ **製品積載フォーム (PLF) の問題** - PLF には、スプレッドシートに含まれる指示が含まれています。全体的な説明は説明表に記載されています。各フィールドには入力方法が記載されています。フィールドを選択すると指示が表示されます。
+ **進行中のリクエスト** - 一部のリクエストは並行して実行できません。製品の特定の処理中の情報を更新するリクエストは、一度に 1 つしか送信できません。レビュー中のすべてのリクエストは、 AWS Marketplace 管理ポータルの **[サーバー製品]** ページの** [リクエスト]** タブで確認できます。意図しない保留中のリクエストがある場合は、そのリクエストをキャンセルして、必要な変更を加えた新しいリクエストを送信できます。
  + バージョンを更新 (追加または制限する) が進行中の場合は、バージョン情報を更新できません。
  + Seller AWS Marketplace Operations チームから保留中のリクエストがある場合、新しい変更を送信することはできません。
+ **原因不明のエラー** - 説明もなく送信が失敗した場合は、もう一度行ってください。サーバーの負荷により送信が失敗することがあります。

それでも変更リクエストに問題がある場合は、[AWS Marketplace Seller Operations](https://aws.amazon.com/marketplace/management/contact-us/) チームに連絡してください。

# で使用する AMIs を構築するためのベストプラクティス AWS Marketplace
<a name="best-practices-for-building-your-amis"></a>

このトピックでは、 で使用する Amazon マシンイメージ (AMIsの構築に役立つベストプラクティスとリファレンスについて説明します AWS Marketplace。に構築および送信される AMIs AWS Marketplace は、すべての AWS Marketplace 製品ポリシーに従う必要があります。詳細については、次のセクションを参照してください。

**Topics**
+ [再販権の確保](#rights)
+ [AMI の構築](#building-an-ami)
+ [用の AMI の準備と保護 AWS Marketplace](#securing-an-ami)
+ [公開要件を確認するための AMI のスキャン](#self-service-scanning)
+ [ソフトウェアが AMI AWS Marketplace で実行されていることを確認する](#verifying-ami-runtime)

## 再販権の確保
<a name="rights"></a>

無料以外の Linux ディストリビューションについては、 AWS提供された Amazon Linux、RHEL、SUSE を除き、再販権を保護する責任があります。Windows AMI については、再販売権を取得する必要はありません。

## AMI の構築
<a name="building-an-ami"></a>

AMI の構築に関する以下のガイドラインを使用してください。
+ AMI がすべての[AWS Marketplace ポリシー](https://docs.aws.amazon.com/marketplace/latest/userguide/product-and-ami-policies.html)を満たしていることを確認します。
+ 米国東部 (バージニア北部) リージョンで AMI を作成します。
+  AWS Marketplaceなどの信頼できる評判の高いソースから入手した、明確に定義されたライフサイクルを持つ、Amazon Elastic Block Store (Amazon EBS) にサポートされた、よく管理された既存の AMI から製品を作成します。
+ 最新のオペレーティングシステム、パッケージ、およびソフトウェアを使用して AMI を構築します。
+  お使いの AMI が、ハードウェア仮想マシン (HVM) 仮想化および 64 ビットアーキテクチャを使用するパブリック Amazon EC2 AMI に基づいていることを確認してください。
+ AMI の構築、更新、再公開のための繰り返し可能なプロセスを開発します。
+ すべてのバージョンと製品で一貫したオペレーティングシステム (OS) ユーザー名を使用します。推奨されるデフォルトのユーザー名は、Linux およびその他の Unix に類似のシステムの場合は `ec2-user`、Windows の場合は `Administrator` です。
+ 公開する最終的な AMI AWS Marketplace を送信する前に、AMI からインスタンスを起動してテストし、意図したエンドユーザーエクスペリエンスを検証します。このインスタンスですべてのインストール方法、機能、パフォーマンスをテストします。
+ 以下のようにポート設定を確認してください。
  + オープンファイアウォール、リバースプロキシ、SSRF の脆弱性に対する[ベストプラクティスのセキュリティ設定](https://aws.amazon.com/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/)として、**[IMDS サポート]** オプションは **[IMDSv2]** のみに設定する必要があります。次の CLI は、最終ビルドフェーズで新しい AMI を登録するときに使用できます。
    + `aws ec2 register-image --name my-image --root-device-name /dev/xvda --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example} --architecture x86_64 --imds-support v2.0`

AMI の作成の詳細については、以下の関連リソースを参照してください。
+  「*Amazon EC2 ユーザーガイド*」の「[Amazon EBS-backed AMI を作成する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)」
+  「*Amazon EC2 ユーザーガイド*」の「[Windows Sysprep を使用して Amazon EC2 AMI を作成する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-create-win-sysprep.html)」 
+  [EBS-backed インスタンスから Amazon マシンイメージ (AMI) を作成する方法。](https://aws.amazon.com/premiumsupport/knowledge-center/create-ami-ebs-backed/)
+  [Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/) 
+  [Amazon EC2 インスタンスタイプ](https://aws.amazon.com/ec2/instance-types/)および[インスタンスタイプ](http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/instance-types.html?r=2153) 
+  [IMDS V2 用にデフォルトで AMI を設定する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html#configure-IMDS-new-instances-ami-configuration) 

## 用の AMI の準備と保護 AWS Marketplace
<a name="securing-an-ami"></a>

セキュアな AMI を作成するために、次のガイドラインをお勧めします。
+ 「*Amazon EC2 ユーザーガイド*」の「[共有 Linux AMI のガイドライン](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/building-shared-amis.html)」を使用する
+ 攻撃の危険性を減らすため、最低限のインストールとしてデプロイするように AMI を設計します。不要なサービスやプログラムを無効にするか、削除します。
+ 可能な限り、ネットワークトラフィックにエンドツーエンドの暗号化を使用します。例えば、Secure Sockets Layer (SSL) を使用して、購入者との間の HTTP セッションを保護します。サービスが有効なかつ最新の証明書のみを使用するようにしてください。
+ AMI 製品を文書化するときは、購入者がインスタンスへの受信トラフィックアクセスを制御できるよう、セキュリティグループの推奨設定を記載してください。レコメンデーションでは、以下を指定する必要があります。
  + サービスが機能するために必要なポートの最小セット。
  + 管理アクセスに推奨されるポートと送信元 IP アドレスの範囲。

  これらのセキュリティグループの推奨事項は、購入者が適切なアクセスコントロールを実装するのに役立ちます。AMI 製品に新しいバージョンを追加する方法の詳細については、「[新しいバージョンを追加する](single-ami-versions.md#single-ami-adding-version)」を参照してください。
+  AWS コンピューティング環境に対して定期的にペネトレーションテストを実施することを検討してください。または、ユーザーに代わってそのようなテストを実行するためにサードパーティーを採用することを検討してください。ペネトレーションテストリクエストフォームなど詳細は、「[AWS ペネトレーションテスト](https://aws.amazon.com/security/penetration-testing/)」を参照してください。
+ ウェブアプリケーションのトップ 10 の脆弱性に気づき、必要に応じてアプリケーションを構築してください。詳細については、「[Open Web Application Security Project (OWASP) - Top 10 Web Application Security Risks](https://owasp.org/www-project-top-ten/)」を参照してください。新しいインターネットの脆弱性が発見された場合は、AMI に同梱されているウェブアプリケーションをすみやかに更新してください。この情報を含むリソースの例として、「[SecurityFocus](http://www.securityfocus.com/vulnerabilities)」および「[NIST 全国脆弱性データベース](http://nvd.nist.gov/)」があります。

セキュリティの詳細については、以下の関連リソースを参照してください。
+  [AWS クラウドセキュリティ](https://aws.amazon.com/security/) 
+  [インターネットセキュリティセンター (CIS): セキュリティベンチマーク](http://benchmarks.cisecurity.org/downloads/benchmarks/) 
+  [オープンなウェブアプリケーションセキュリティプロジェクト (OWASP): セキュアなコーディングプラクティスクイックリファレンスガイド](https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/) 
+  [OWASP トップ 10 ウェブアプリケーションのセキュリティリスク](https://owasp.org/www-project-top-ten/) 
+  [SANS (SysAdmin、監査、ネットワーク、およびセキュリティ) 共通短所列挙 (CWE) トップ 25 最も危険なソフトウェアエラ](http://www.sans.org/top25-software-errors/) 
+  [セキュリティフォーカス](http://www.securityfocus.com/vulnerabilities) 
+  [NIST 全国脆弱性データベース](http://nvd.nist.gov/) 

## 公開要件を確認するための AMI のスキャン
<a name="self-service-scanning"></a>

AMI を AWS Marketplace カタログに公開するには、AMI スキャンを完了する必要があります。AMI スキャンでは、パッチが適用されていない一般的な脆弱性と露出 (CVE) をチェックし、AMI がセキュリティのベストプラクティスに従っていることを確認します。詳細については、「 [の AMI の準備と保護 AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/userguide/best-practices-for-building-your-amis.html#securing-an-ami)」を参照してください。

 AMI スキャンを実行するには、次のいずれかのオプションを選択します。

**オプション 1: アセットメニュー**

この方法では、製品作成フローの外部で AMI をスキャンできます。AMI 製品を作成せずにアセットをスキャンする必要がある SaaS クイック起動を利用する SaaS 販売者にとっても有用です。

1. [AWS Marketplace 管理ポータル](https://aws.amazon.com/marketplace/management/homepage) の、**[アセット]** メニューから **[Amazon マシンイメージ]** を選択します。

1. スキャンプロセスを開始するには、**[AMI を追加]** を選択します。

1. AMI のスキャンステータスは、このページに戻ると確認できます。

**オプション 2: 変更メニューをリクエストする**

このオプションは、AMI 製品を既に作成している販売者が使用できます。詳細については、「[AMI ベースの製品の作成](ami-single-ami-products.md)」を参照してください。

1. [AWS Marketplace 管理ポータル](https://aws.amazon.com/marketplace/management/homepage) の **[製品]** メニューに移動し、**[サーバー]** を選択します。

1. **[サーバー製品]** から製品を選択します。これは AMI ベースの製品である必要があります。製品はどの状態でもかまいません。次のステップでは、**公開**状態である必要はありません。

1. **[変更をリクエスト]** メニューに移動し、**[バージョンを更新]** を選択します。

1. **[テストバージョンを追加]** を選択します。プロンプトに従って、AMI の詳細を含むリクエストを送信します。リクエストが成功すると、AMI がスキャンに合格したことを示します。**[新しいバージョンを追加]** オプションとは異なり、スキャンが成功した場合に、**[テストバージョンを追加]** で AMI ベースの製品に新しいバージョンが追加されることはありません。

**注記**  
AMI AWS Marketplace へのアクセスを許可する方法については、「」を参照してください[AMI AWS Marketplace へのアクセスの許可](single-ami-marketplace-ami-access.md)。

## ソフトウェアが AMI AWS Marketplace で実行されていることを確認する
<a name="verifying-ami-runtime"></a>

ソフトウェアが、AMI 製品から作成された Amazon EC2 インスタンスで実行されていることを、実行時に検証するようを強く推奨します。

Amazon EC2 インスタンスが AMI 製品から作成されていることを確認するには、Amazon EC2 に組み込まれているインスタンスメタデータサービスを使用します。以下のステップでは、この検証を順を追って説明します。メタデータサービスの使用の詳細については、「*Amazon Elastic Compute Cloud ユーザーガイド*」の「[インスタンスメタデータとユーザーデータ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)」を参照してください。

1. *インスタンスアイデンティティドキュメントの取得*

   実行中の各インスタンスには、インスタンスからアクセス可能な、インスタンス自体に関するデータを提供するアイデンティティドキュメントが用意されています。次の例は、インスタンスから curl を使用してインスタンスのアイデンティティドキュメントを取得する方法を示しています。

   IMDSv2: (推奨)

   ```
   TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
   && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document
    {
      "accountId" : "0123456789",
      "architecture" : "x86_64",
      "availabilityZone" : "us-east-1e",
      "billingProducts" : null,
      "devpayProductCodes" : null,
      "marketplaceProductCodes" : [ "0vg0000000000000000000000" ],
      "imageId" : "ami-0123456789abcdef1",
      "instanceId" : "i-0123456789abcdef0",
      "instanceType" : "t2.medium",
      "kernelId" : null,
      "pendingTime" : "2020-02-25T20:23:14Z",
      "privateIp" : "10.0.0.2",
      "ramdiskId" : null,
      "region" : "us-east-1",
      "version" : "2017-09-30"
   }
   ```

   IMDSv1:

   ```
   curl http://169.254.169.254/latest/dynamic/instance-identity/document{
      "accountId" : "0123456789",
      "architecture" : "x86_64",
      "availabilityZone" : "us-east-1e",
      "billingProducts" : null,
      "devpayProductCodes" : null,
      "marketplaceProductCodes" : [ "0vg0000000000000000000000" ],
      "imageId" : "ami-0123456789abcdef1",
      "instanceId" : "i-0123456789abcdef0",
      "instanceType" : "t2.medium",
      "kernelId" : null,
      "pendingTime" : "2020-02-25T20:23:14Z",
      "privateIp" : "10.0.0.2",
      "ramdiskId" : null,
      "region" : "us-east-1",
      "version" : "2017-09-30"
   }
   ```

1. *インスタンスアイデンティティドキュメントの検証*

   署名を使用して、インスタンスアイデンティティが正しいことを確認できます。このプロセスの詳細については、「*Amazon Elastic Compute Cloud ユーザーガイド*」の「[インスタンスアイデンティティドキュメント](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html)」を参照してください。

1. *製品コードの検証*

   AMI 製品を最初に公開用に提出すると、製品には AWS Marketplaceによって[製品コード](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-getting-started.html#ami-product-codes)が割り当てられます。製品コードは、インスタンスアイデンティティドキュメントの `marketplaceProductCodes` フィールドを確認すると検証できます。または、メタデータサービスから直接取得することもできます。

   IMDSv2:

   ```
   TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/product-codes
   ```

   製品コードが AMI 製品のコードと一致する場合、インスタンスは製品から作成されたものです。

# AWS Marketplace の AMI 製品の料金
<a name="pricing-ami-products"></a>

AWS Marketplace には、Amazon Machine Image (AMI) 製品の複数の料金モデルがあります。販売者のプライベートオファーでは、複数年契約とカスタム期間契約のオプションがあります。複数年契約とカスタム期間契約の詳細については、[AWS Marketplace 製品のプライベートオファーの準備](private-offers-overview.md)および[プライベートオファーの分割プラン](installment-plans.md)を参照してください。以下のセクションでは、AMI ベースの製品の料金モデルに関する一般的な情報を示します。

**注記**  
[で販売者として登録する AWS Marketplace](seller-account-registering.md) に記載されているように、W-9 フォーム (米国居住者) または W-8 フォーム (米国非居住者) を提出する必要があります。

**Topics**
+ [AMI 料金モデル](#pricing-models-for-ami-products)
+ [AWS 利用料金とソフトウェア料金](#aws-charges-vs-software-charges)
+ [AWS Marketplace Metering Service による AMI 製品のカスタム計測価格](custom-metering-pricing-ami-products.md)
+ [AWS Marketplace の AMI 製品の契約料金](ami-contracts.md)
+ [を使用したライセンスと AMI ベースの製品の関連付け AWS License Manager](ami-license-manager-integration.md)

## AMI 料金モデル
<a name="pricing-models-for-ami-products"></a>

次の表に、AMI ベースの製品の料金モデルに関する一般的な情報を示します。


|  料金モデル  |  説明  | 
| --- | --- | 
|  無料  | お客様は Amazon Elastic Compute Cloud (Amazon EC2) でサポートされている量のインスタンスを実行することができます。ソフトウェアの追加料金はかかりません。 無料トライアルと年間料金は、月額料金と組み合わせることはできません。  | 
| 自分のライセンス使用 (BYOL)  | AWS Marketplace は、お客様に対してソフトウェア使用料を請求することはありませんが、お客様は製品をアクティベートするためのライセンスキーを入力する必要があります。このキーは AWS Marketplaceの外部で購入します。資格とライセンスの実施、およびすべての料金と課金は、販売者によって処理されます。 | 
| 時間単位料金または時間あたりの年間料金 |  **[時間単位]** - ソフトウェアの料金は、時間単位で請求されます。各インスタンスタイプの料金は個々に異なり (ただし、必須ではない)、その使用量は最も近い時間に切り上げられます。 **[時間単位 (無料トライアルあり)]** - お客様は、ソフトウェアのインスタンスを 1 つだけ実行できるという制限があり、料金は発生しません。期間は 5～30 日の間で定義します。無料トライアルは、実行中の最も高価なインスタンスタイプに適用され、1 インスタンスを超える同時使用はすべて、時間料金で請求されます。注: これは、毎月 750 時間の無料利用枠のバケットが付与される Amazon EC2 の AWS 無料利用枠とは異なるモデルです。 **[時間単価と月額料金]** - 時間単価と月額料金の両方が別々に適用されます。月額料金は使用量にかかわらず毎月適用され、時間料金は時間単位の使用量のみに基づいて適用されます。 **[年間で毎時]**: お客様は、1 つのインスタンスタイプの 1 つの Amazon EC2 インスタンスに対して 1 年間の使用量を購入することができます。販売者は、インスタンスタイプごとの料金を設定し、時間単価よりも価格を抑えることができます。購入された年間サブスクリプションを超えるお客様の使用量は、そのインスタンスタイプの販売者によって設定された時間単価で請求されます。 **[時間単位 (複数年間およびカスタム期間)]** - このタイプのオファーは、販売者のプライベートオファーを通じてのみ利用できます。販売者のプライベートオファーを使用して、カスタム契約期間 (最大 3 年) を指定します。前払い料金を指定することも、柔軟な支払いスケジュールを含めることもできます。各インスタンスタイプの料金を設定します。オファーに柔軟な支払いスケジュールがある場合は、オファーに含まれる各インスタンスタイプの請求日、支払額、インスタンス数も設定します。柔軟な支払いスケジュールを持つアクティブな販売者のプライベートオファーの場合、お客様が指定された数のインスタンスを起動した後、起動された追加のインスタンスには、販売者のプライベートオファーで指定された時間料金で課金されます。複数年契約とカスタム期間契約の詳細については、[AWS Marketplace 製品のプライベートオファーの準備](private-offers-overview.md)および[プライベートオファーの分割プラン](installment-plans.md)を参照してください。 **[時間単位 (無料トライアル付き)]** - 年間オプション付きの時間単位モデルと同じです。ただし、販売者が設定した日数で、お客様がインスタンスタイプのインスタンスを無料で 1 つ実行できる無料トライアルを含む点を除きます。年間サブスクリプションはいつでも購入することができます。また、無料トライアルサブスクリプションと組み合わせることができます。 **[年間料金 (時間単位)]** 時間単位の料金モデルと同じ。お客様は、1 つのインスタンスタイプの 1 つの Amazon EC2 インスタンスに対して 1 年間の使用量を購入することができます。販売者は、インスタンスタイプごとの料金を設定し、時間単価よりも料金を抑えることができますが、減額は必須ではありません。購入された年間サブスクリプションを超えるお客様の使用量は、そのインスタンスタイプの販売者によって設定された時間単価で請求されます。 **[複数年間およびカスタム期間 (時間単位)]** - これは、[AWS Marketplace 製品のプライベートオファーの準備](private-offers-overview.md) を通じてのみ利用できます。販売者のプライベートオファーを使用して、最長 3 年のカスタム期間契約を指定できます。前払いを要求することも、顧客に柔軟な支払いスケジュールを提供することもできます。契約期間中の各インスタンスタイプの料金と、起動される追加のインスタンスの時間料金を設定します。柔軟な支払いスケジュールを提供する場合は、オファーに含まれる各インスタンスタイプの請求日、支払額、インスタンス数も設定します。柔軟な支払いスケジュールを持つアクティブなプライベートオファーの場合、指定された数のインスタンスが起動された後、お客様が起動する追加のインスタンスには、プライベートオファーで指定された時間料金で課金されます。複数年契約とカスタム期間契約の詳細については、[AWS Marketplace 製品のプライベートオファーの準備](private-offers-overview.md)および[プライベートオファーの分割プラン](installment-plans.md)を参照してください。  無料トライアルと年間料金は、月額料金と組み合わせることはできません。   | 
| 月額  |  **[月額]** - ソフトウェア料金は、顧客が実行するインスタンスの数に関係なく、固定月額料金で請求されます。月額料金はサインアップおよびキャンセル時に按分されます。例 : その月の 1 日分をサブスクライブした顧客には、その月の 1/30 の料金が請求されます。 **[時間単価を伴う月額料金]** - 時間単価と月額料金の両方が別々に適用されます。月額料金は使用量にかかわらず毎月適用され、時間料金は時間単位の使用量のみに基づいて適用されます。  無料トライアルと年間料金は、月額料金と組み合わせることはできません。   | 
| 有料使用料金 |  ソフトウェアの料金は、販売者がユーザー、データ、帯域幅、またはホストの 4 つの使用カテゴリのいずれかと併せて提供する価値に対して直接請求されます。製品に対して最大 24 のディメンションを定義できます。料金はすべて、お客様によって時間料金で請求されます。 使用量はすべて、既存の AWS Marketplace ソフトウェアと同じメカニズムを使用して、毎月計算し、請求されます。利用料金は、AWS Marketplace Metering Service とも呼ばれます   | 
|  契約料金モデル  |  **[契約料金の AMI]** - 購入者が前払い料金を支払う単一 AMI 製品、または AWS CloudFormation スタックを備えた単一 AMI。  | 

## AWS 利用料金とソフトウェア料金
<a name="aws-charges-vs-software-charges"></a>

Amazon マシンイメージ (AMI) ベースの製品料金は 2 つのカテゴリに分類されます。
+ **インフラストラクチャの料金の詳細** - AMI ベースの製品にはすべて、使用されるサービスおよびインフラストラクチャに応じて、関連する AWS インフラストラクチャの料金が請求されます。これらの料金や手数料は AWS によって定義および管理されます。また、AWS リージョン によって異なる場合があります。詳細については、[Amazon EC2 の料金表](https://aws.amazon.com/ec2/pricing/)を参照してください。
+ **ソフトウェアの料金の詳細** - 有料製品の場合、販売者はソフトウェアの使用料金を定義します。

これら 2 つの製品の料金カテゴリは、AWS Marketplace の詳細ページに別々に表示され、製品を使用する上での予想コストを把握するのに役立ちます。

### AMI 時間単位製品の無料トライアル
<a name="free-trial"></a>

AMI 時間単位の製品は、オプションの無料トライアルプログラムの対象となります。無料トライアルでは、お客様は製品のソフトウェア料金を支払うことなく、製品をサブスクライブし、単一のインスタンスを最大 31 日間使用できます。適用可能な AWS インフラストラクチャの料金がそのまま適用されます。無料トライアルは、有効期限が切れると自動的に有料サブスクリプションに切り替わります。お客様には、提供された無料単位を超える追加使用分が課金されます。時間単位の製品無料トライアルを提供するには、トライアル期間を定義し、[AWS Marketplace Seller Operations](https://aws.amazon.com/marketplace/management/contact-us/) チームに通知してください。試用期間は 5～31 日です。

無料トライアル製品をサブスクライブしている場合、お客様は、無料トライアルの期間、計算された有効期限、およびアンスクライブに関する詳細を含むようこそメールメッセージを受け取ります。有効期限が切れる 3 日前に通知メールが送信されます。

AWS Marketplace で無料トライアルを提供する場合は、**返金ポリシー**に記載されている返金ポリシーの内容に同意します。

### その他のリソース
<a name="ami-products-pricing-resources"></a>

AMI 製品の料金の詳細については、以下のトピックを参照してください。
+ [AWS Marketplace Metering Service による AMI 製品のカスタム計測価格](custom-metering-pricing-ami-products.md)
+ [AWS Marketplace の AMI 製品の契約料金](ami-contracts.md)

AMI ベースの製品の請求、計測、ライセンスの統合については、以下のトピックを参照してください。

AMI 製品の料金の詳細については、以下のトピックを参照してください。
+ [を使用した AMI 製品のカスタム計測の設定 AWS Marketplace Metering Service](custom-metering-with-mp-metering-service.md)
+ [を使用したライセンスと AMI ベースの製品の関連付け AWS License Manager](ami-license-manager-integration.md)

# AWS Marketplace Metering Service による AMI 製品のカスタム計測価格
<a name="custom-metering-pricing-ami-products"></a>

AWS Marketplace Metering Service を使用すると、使用量を取得するエンドポイントに計測レコードを送信するようソフトウェアを改修できます。使用カテゴリを選択して、その 1 つのカテゴリに対して最大 24 のディメンションを定義します。これらのディメンションは 1 時間に 1 回計測および集計され、定義した料金プランに持つついて請求されます。販売者は、使用するディメンションを決定する必要があります。AMI が発行された後は、ディメンションを変更できません。以下のセクションでは、AWS Marketplace Metering Service について説明します。

**Topics**
+ [Metering Service の概念](#metering-service-concepts)
+ [ソフトウェアの料金](#pricing-your-software)
+ [への製品の追加 AWS Marketplace](#listing-your-product-on-aws-marketplace)
+ [Metering Service を使用するためのソフトウェアの変更](#modifying-your-software-to-use-the-metering-service)
+ [ベンダー計測タグ付け (オプション)](#ami-vendor-metered-tagging)
+ [カスタム計測を設定する](#configure-custom-metering)
+ [を使用した AMI 製品のカスタム計測の設定 AWS Marketplace Metering Service](custom-metering-with-mp-metering-service.md)

## Metering Service の概念
<a name="metering-service-concepts"></a>

AWS Marketplace Metering Service を使用する前に、以下の重要なサービス概念に注意してください。
+  **[使用カテゴリ]** - Metering Service を使用して価格が設定されるソフトウェア製品はすべて、1 つの使用カテゴリに従って分類され、それによって顧客への適切な請求方法が決まります。使用カテゴリには次のものがありますが、これらに限定されるものではありません。
  + **[ユーザー]** - 単一の ID に関連付けられた、定義済みのアクセス許可のセット。このカテゴリは、顧客のユーザーが直接ソフトウェアに接続するソフトウェア (例えば、顧客関係管理またはビジネスインテリジェンス報告) に適切です。
  + **ホスト** - サーバー、ノード、インスタンス、エンドポイント、またはコンピューティングシステムの他の部分。このカテゴリは、多くの顧客所有インスタンス (例えば、パフォーマンスまたはセキュリティモニタリング) を監視またはスキャンするソフトウェアに適切です。
  + **データ** - MB、GB、または TB で測定される、ストレージまたは情報。このカテゴリは、保存されたデータを管理する、またはバッチでデータを処理するソフトウェアに適切です。
  + **[帯域幅]** - Mbps または Gbps 単位で測定されます。このカテゴリは、お客様がプロビジョニングする帯域幅を指定できるソフトウェアに適しています。
  + **[単位]** - 測定単位。次に説明する例を参照してください。
+  **使用量の単位** - 選択された使用カテゴリに対応するソフトウェア製品の特定の使用量の単位。この使用量の単位はソフトウェアの課金の単位について説明するものです。以下に例を示します。
  + **[NodesHrs]** (ホストカテゴリに対応)
  + **[UserHrs]** (ユーザーカテゴリに対応)
  + **[GBStored]** (データカテゴリに対応)
+  **消費量** - Metering Service を使用して価格設定されているソフトウェアは、次の 3 つのいずれかの方法で消費量に対して課金されます。
  + プロビジョニング - ソフトウェアで、リソースの特定の量を使用するようにお客様が設定できます (例えば、ユーザー数や固定量の帯域幅)。お客様は、プロビジョニングした量に対して 1 時間ごとに支払います。
  + 同時実行 - ソフトウェアで、任意の数のホストまたはユーザーがそのソフトウェアに接続できるようにします。お客様は、ソフトウェアにアクセスしたユーザー数またはホスト数に基づいて 1 時間ごとに支払います。
  + 累積 - ソフトウェアで、任意の量のデータを処理または保管に使用できるようにします。お客様は、集計された量に対して 1 時間ごとに支払います。
+  **料金表** - Metering Service を使用して価格設定したソフトウェア製品では、単一の料金を指定するか、または独自の料金がある最大 24 個のディメンションを定義する必要があります。価格設定オプションの詳細には以下が含まれます。
  + 単一ディメンション - 最もシンプルな料金オプションです。顧客は、サイズまたはボリュームにかかわらず、1 時間あたりリソース単位あたりの単一の料金を支払います (例えば、1 時間あたりユーザーあたり 0.014 USD、または 1 時間あたりホストあたり 0.070 USD)。
  + 複数ディメンション - この料金オプションは、選択した使用カテゴリが複数の軸で変化する場合に適しています。例えば、ホストモニタリングでは、ホストのサイズに応じて異なる料金を設定できます。または、ユーザーベースの料金では、ユーザーのタイプ (管理者、パワーユーザー、読み取り専用ユーザー、など) に応じて異なる料金を設定できます。
+  **計測** - 1 時間に 1 回、すべての使用量が計測イベントとして記録されます。適切なディメンションおよび使用量を AWS Marketplace Metering Service に送信するようにソフトウェアが設定されている必要があります。
  + 配分 - オプションで、追跡する施設ごとに分けて使用量を配分できます。これらの配分は、購入者にはタグとして表示されます。タグを使うと、購入者はコストをタグ別の使用量に分けて表示できます。例えば、ユーザーごとに課金し、ユーザーに「Department」プロパティがある場合、「Department」のキーを持つタグを使用して使用量の割り当てを作成し、値ごとに 1 つの割り当てを行うことができます。この方法では、レポートする価格、ディメンション、または合計使用量は変わりません。ただし、お客様は商品に適したカテゴリ別にコストを確認できます。

## ソフトウェアの料金
<a name="pricing-your-software"></a>

AWS Marketplace Metering Service でソフトウェアの料金を設定するには、まず使用カテゴリとその使用方法を指定する必要があります。このサービスは 6 つの異なる個別料金シナリオをサポートしています。これらのシナリオのうちいずれかを製品向けに選択する必要があります。
+ プロビジョニングされたユーザー (1 時間あたり) 
+ 同時ユーザー (1 時間あたり) 
+ プロビジョニングされたホスト (1 時間あたり) 
+ 同時ホスト (1 時間あたり) 
+ プロビジョニングされた帯域幅 (1 時間あたり) 
+ 蓄積されたデータ (1 時間あたり) 

次に、選択した使用カテゴリの料金を指定する方法を判断する必要があります。
+ 単一価格 
+ 複数のディメンション (最大 24 個) 

「[への製品の追加 AWS Marketplace](#listing-your-product-on-aws-marketplace)」では、ディメンションと料金についてわかりやすい説明を提供する方法について説明します。

### 例: 非線形料金設定によりプロビジョニングされた帯域幅
<a name="example-provisioned-bandwidth-with-non-linear-pricing"></a>

ネットワークアプライアンスソフトウェアを提供するとします。プロビジョニングされた帯域幅で請求します。使用カテゴリで、**[帯域幅]** を選択します。帯域幅による請求に加えて、購入者のスケールアップに応じて別料金を請求するとします。帯域幅カテゴリ内で複数のディメンションを定義することができます。25 Mbps、100 Mbps、および 1 Gbps 向けに個別の料金を定義できます。

### 例: 複数のディメンションにおける同時ホスト
<a name="example-concurrent-hosts-with-multiple-dimensions"></a>

他の Amazon EC2 インスタンスを監視するソフトウェアを提供するとします。監視中のホスト数で請求するとします。使用カテゴリで、**[ホスト]** を選択します。ホストごとの請求に加えて、規模の大きなホストを監視する場合は特別料金を請求するとします。ホストカテゴリ内で複数のディメンションを使用することができます。マイクロ、スモール、ミディアム、ラージ、x ラージ、2XL、4XL、8XL インスタンス向けに個別の料金を定義することができます。お客様のソフトウェアを使用して、特定の各ホストを定義されたディメンションのいずれかにマッピングします。また、該当する場合は、使用カテゴリのディメンションごとに個別にレコードを計測します。

## への製品の追加 AWS Marketplace
<a name="listing-your-product-on-aws-marketplace"></a>

Metering Service を利用するには、 が一覧表示 AWS Marketplace する新しい製品を作成する必要があります。製品がすでに にある場合は AWS Marketplace、現在の製品に加えて新しい AWS Marketplace Metering Service 製品が利用可能になるか、新しいユーザーが利用できる唯一のバージョンとして現在の製品を置き換えるかを決定する必要があります。置き換えを選択すると、既存の製品が から削除 AWS Marketplace され、新しい購入者が利用できなくなります。既存の顧客は、引き続き古い製品とインスタンスにアクセスできますが、必要に応じて新しい製品に移行することができます。新製品では、「[Metering Service を使用するためのソフトウェアの変更](#modifying-your-software-to-use-the-metering-service)」に説明しているように、AWS Marketplace Metering Service の使用料金を測定する必要があります。

AMI を取得したら、標準プロセスに従い、セルフサービスツールを使用して AMI を共有およびスキャンします。さらに、管理ポータルで使用可能なテンプレートを使用して製品ロードフォームに記入後、アップロードして処理を開始します。

AWS Marketplace Metering Service の製品ロードフォームのフィールドに入力するには、次の定義を使用します。製品ロードフォームでは、これらのフィールドは、時間単位の製品および月額の製品と区別するために **[Flexible Consumption Pricing (FCP)]** というラベルが付けられています。
+  **タイトル** – にすでに製品があり AWS Marketplace 、 で同じ製品を追加する場合は AWS Marketplace Metering Service、括弧内に FCP カテゴリとディメンションを含めてそれらを区別します (例：「製品タイトル (データ）」）。
+  **[料金モデル]** - ドロップダウンリストより、**[使用量]** を選択します。
+  **[FCP カテゴリ]** - **[使用量]** 料金コンポーネントを含む出品製品の請求対象となるカテゴリ。ドロップダウンリストより、**[ユーザー]**、**[ホスト]**、**[データ]**、または **[帯域幅]** を選択します。
+  **[FCP 単位]** - **[使用量]** 料金コンポーネントを含む出品製品の請求対象となる測定の単位。選択した FCP カテゴリに基づき、ドロップダウンリストにオプションが表示されます。カテゴリごとに有効な単位を次のテーブルに示します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/marketplace/latest/userguide/custom-metering-pricing-ami-products.html)
+  **[FCP ディメンション名]** - `MeterUsage` オペレーションを呼び出して計測レコードを送信する際に使用される名前。これは請求レポートに記載されます。ただし、外部向けではないため、わかりやすい名前である必要はありません。名前は 15 文字以内でなければならず、英数字とアンダースコアのみ含めることができます。名前を設定して製品を公開した後は、変更できません。この名前を変更するには、新しい AMI が必要です。
+  **[FCP ディメンションの説明]** - 製品のディメンションを記述した顧客向けステートメント。説明は 70 文字以内でなければならず、ユーザーフレンドリである必要があります。説明の例としては、「1 時間あたりの管理者数」や「プロビジョニングされた Mbps あたりの帯域幅」などがあります。製品が発行された後に、この説明を変更することはできません。
+  **[FCP レート]** - この製品のユニットあたりのソフトウェア料金。このフィールドは、小数点以下 8 桁をサポートしています。

**注記:**  
時間単位および年間単位の料金フィールドを入力する必要はありません。
無料トライアルと年間料金は互換性がありません。
AMI、クラスター、 AWS リソース機能を使用する製品は、AWS Marketplace Metering Service を使用できません。
料金、インスタンスタイプ、または AWS リージョン 変更は、他の AWS Marketplace 製品と同じプロセスに従います。
AWS Marketplace Metering Service を使用した製品は、時間単位、月別、または Bring-Your-Own-License (BYOL) などの他の料金モデルに変換することはできません。
AWS Marketplace では、使用手順またはドキュメントに IAM ポリシー情報を追加することをお勧めします。
合計で最大 24 個の FCP ディメンションを含めることができます。作成して公開すると、既存のディメンションを変更することはできませんが、新しいディメンションを追加できます (最大 24 個)。

ご質問がある場合は、[AWS Marketplace Seller Operations](https://aws.amazon.com/marketplace/management/contact-us/) チームまでお問い合わせください。

## Metering Service を使用するためのソフトウェアの変更
<a name="modifying-your-software-to-use-the-metering-service"></a>

顧客の使用状況の記録、Metering Service への時間単位の使用状況レポートの送信、新しい障害モードの処理を行うには、ソフトウェアを変更する必要があります。このソフトウェアは料金とは関係なく使用できますが、ソフトウェアの使用カテゴリ、使用方法、ディメンションについて把握する必要があります。

### 使用量の測定
<a name="measuring-consumption"></a>

ソフトウェアを使用して、選択された使用カテゴリと顧客が使用したディメンションを判断する必要があります。この値は、 Metering Service に 1 時間ごとに送信されます。いずれの場合も、Metering Service に時間単位で送信する目的で、リソースの消費量の測定、記録、読み取りの機能がソフトウェアに搭載されていることを前提としています。

プロビジョニングされた消費の場合、この値は通常、サンプル値としてソフトウェア構成から読み取られますが、1 時間ごとに記録される最大設定値でもあります。同時消費の場合、この値は、定期的なサンプルか、1 時間ごとに記録される最大値のいずれかになります。累積消費の場合、この値は 1 時間ごとに累積されます。

複数のディメンションの料金については、複数の値を測定し、ディメンションごとに 1 つずつ Metering Service に送信する必要があります。そのためには、AMI を指定する際に、既知のディメンションセットを使用してソフトウェアをプログラミングまたは設定する必要があります。製品が作成された後は、一連のディメンションを変更することはできません。

次のテーブルには、1 時間あたりの消費量を測定するための推奨方法を料金シナリオごとに示しています。


|  **シナリオ**  |  **測定方法**  | 
| --- | --- | 
|  プロビジョンドユーザー   |  現在のプロビジョンドユーザー数 (サンプリング)。 -または-  プロビジョンドユーザーの最大数 (その時間を参照)   | 
|  同時ユーザー   |  現在の同時ユーザー数 (サンプリング)。 -または-  同時ユーザーの最大数 (その時間を参照)  -または-  個々のユーザーの合計数 (その時間を参照)   | 
|  プロビジョンドホスト   |  現在のプロビジョンドホスト数 (サンプリング)。 -または-  プロビジョンドホストの最大数 (その時間を参照)   | 
|  同時ホスト   |  現在の同時ホスト数 (サンプリング)。 -または-  同時ホストの最大数 (その時間を参照)  -または-  個々のホストの合計数 (その時間を参照)   | 
|  プロビジョンド帯域幅   |  現在のプロビジョニングされた帯域幅設定 (サンプリングされた)。 -または-  その時間に発生するプロビジョニングされた最大帯域幅 (その時間を参照)。  | 
|  蓄積されたデータ   |  現在の GB に格納されたデータ (サンプリングされた)。 -または-  格納されたデータの最大 GB (その時間を参照)  -または-  その時間に追加または処理されたデータの合計 (GB)。 -または-  その時間に処理されたデータの合計 (GB)。  | 

## ベンダー計測タグ付け (オプション)
<a name="ami-vendor-metered-tagging"></a>

ベンダー計測タグ付けは、独立系ソフトウェアベンダー (ISV) がソフトウェアの使用状況についてより詳細な情報を購入者に提供し、コスト配分を行うのに役立ちます。

購入者のソフトウェア使用状況をタグ付けするには、コストの配分方法を決定する必要があります。まず、コスト配分に何を期待するかを購入者にたずねます。次に、購入者のアカウントで追跡するプロパティ全体で使用量を分割できます。プロパティの例には、`Account ID`、`Business Unit`、`Cost Centers`、および商品に関連する他のメタデータが含まれます。これらのプロパティはタグとして購入者に公開されます。タグを使用すると、購入者は AWS 請求コンソール ([https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/)) のタグ値によってコストを使用量に分割して表示できます。ベンダー計測タグ付けでは、報告する価格、ディメンション、合計使用量は変わりません。お客様は商品に適したカテゴリ別にコストを確認できます。

一般的なユースケースでは、購入者が 1 つの AWS アカウントを使って商品を購読します。また、購入者には同じ製品サブスクリプションに関連するユーザーが多数います。`Account ID` のキーを持つタグを使用して使用量の割り当てを作成し、各ユーザーに使用量を割り当てることができます。この場合、購入者は Billing and Cost Management コンソールで `Account ID` タグを有効にして、個々のユーザーの使用状況を分析できます。

### 販売者のエクスペリエンス
<a name="ami-vendor-metered-tag-seller"></a>

販売者は、すべてのリソースの使用量を集計する代わりに、同じタグセットを使用してリソースの計測レコードを集計できます。例えば、販売者は `UsageAllocations` の異なるバケットを含む計測レコードを作成できます。各バケットは、`AccountId` や `BusinessUnit` などの、タグのセットの `UsageQuantity` を表します。

以下の図では、**[リソース 1]** には固有の `AccountId` と `BusinessUnit` タグセットがあり、**[計測レコード]** に 1 つのエントリとして表示されます。

**[リソース 2]** と **[リソース 3]** にはどちらも同じ `AccountId` タグ、`2222`、および同じ `BusinessUnit` タグ `Operations` があります。その結果、これらは **[計測レコード]** の 1 つの `UsageAllocations` エントリにまとめられます。

![\[ベンダーメータリングタグが使用状況データをどのように組み合わせるかを示す図。AccountIdsと BusinessUnits が異なる 3 つのリソース (リソース 1、2、3) は、AccountId と BusinessUnit 別にグループ化された UsageAllocations を含む単一の Metering Record に統合されてから、 AWS Marketplace Metering Service に送信されます。\]](http://docs.aws.amazon.com/ja_jp/marketplace/latest/userguide/images/seller-vendor-meter-tag.png)


また、販売者は、タグのないリソースを割り当てられた使用量の単一の `UsageAllocation` にまとめて、`UsageAllocations` のエントリの 1 つとして送信することもできます。

制限には以下が含まれます。
+ タグの数 - 5
+ `UsageAllocations` のサイズ (カーディナリティ) - 2,500

検証には次の項目が含まれます。
+ タグのキーと値に使用できる文字 - a-zA-Z0-9\$1 -=.\$1:\$1/@
+ `UsageAllocation` リスト全体の最大タグ数 - 5
+ 2 つの `UsageAllocations` タグに同じタグ (つまり、同じタグキーと値の組み合わせ) を持つことはできません。その場合は、同じ `UsageAllocation` を使用する必要があります。
+ `UsageAllocation` の `AllocatedUsageQuantity` の合計は、総使用量である `UsageQuantity` と等しくなる必要があります。

### 購入者エクスペリエンス
<a name="ami-vendor-metered-tag-buyer"></a>

次の表は、購入者が `AccountId` および `BusinessUnit` ベンダータグを有効化した後の購入者エクスペリエンスの例を示しています。

この例では、購入者は **[コスト使用状況レポート]** で割り当てられた使用量を確認できます。ベンダー計測タグにはプレフィックス `“aws:marketplace:isv”` が使用されます。購入者は、請求情報とコスト管理の、**[コスト配分タグ]**、**[AWS生成コスト配分タグ]** でそれらを有効化できます。

**[コスト使用状況レポート]** の最初と最後の行は、出品者が Metering Service に送信する内容に関係します ([販売者のエクスペリエンス](container-metering-meterusage.md#container-vendor-metered-tag-seller) 例を参照)。


**コスト使用状況レポート (簡略版)**  

| ProductCode  | 購入者 | UsageDimension | UsageQuantity | `aws:marketplace:isv:AccountId ` | `aws:marketplace:isv:BusinessUnit` | 
| --- | --- | --- | --- | --- | --- | 
| xyz | 111122223333 | ネットワーク: 検査対象 (GB) あたり  | 70 | 2222 | オペレーション | 
| xyz | 111122223333 | ネットワーク: 検査対象 (GB) あたり  | 30 | 3333 | 財務 | 
| xyz | 111122223333 | ネットワーク: 検査対象 (GB) あたり  | 20 | 4444 | IT | 
| xyz | 111122223333 | ネットワーク: 検査対象 (GB) あたり  | 20 | 5555 | Marketing | 
| xyz | 111122223333 | ネットワーク: 検査対象 (GB) あたり  | 30 | 1111 | Marketing | 

コード例については、「[使用量配分タグ付き `MeterUsage` (オプション)](custom-metering-with-mp-metering-service.md#ami-meterusage-code-example)」を参照してください。

## カスタム計測を設定する
<a name="configure-custom-metering"></a>

AWS Marketplace Metering Service の使用の詳細については、「[を使用した AMI 製品のカスタム計測の設定 AWS Marketplace Metering Service](custom-metering-with-mp-metering-service.md)」を参照してください。

# を使用した AMI 製品のカスタム計測の設定 AWS Marketplace Metering Service
<a name="custom-metering-with-mp-metering-service"></a>

**注記**  
カスタム計測料金の AMI ベースの製品の場合、ソフトウェアは Amazon EC2 インスタンスにアタッチされた Amazon Elastic Compute Cloud の IAM ロールの一時的な AWS 認証情報を使用して [MeterUsage API](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-metering_MeterUsage.html) を呼び出す必要があります。長期アクセスキーの使用はサポートされていません。

AWS Marketplace Metering Service は、使用カテゴリごとにソフトウェアを直接請求するために使用できる価格および計測機能です。ユーザー、データ、帯域幅、ホスト、ユニットの 5 つの使用カテゴリがあります。Metering Service は、Amazon マシンイメージ (AMI) ベース、コンテナベース、および Software as a Service (SaaS) ベースの製品で利用できます。以下のセクションでは、AWS Marketplace Metering Service でカスタム計測を設定する方法について詳述します。

AWS Marketplace Metering Service では、いくつかの新しいシナリオが利用可能になります。例えば、ソフトウェアでホストをモニタリングしている場合は、モニタリングされたホストごとに料金を請求できます。ホストのサイズに基づいて異なる料金を設定でき、モニタリングされる 1 時間ごとの同時実行ホスト数に対して課金できます。同様に、組織全体で多数のユーザーがソフトウェアにサインインできる場合は、ユーザー数によって課金できます。1 時間ごとに、プロビジョニングされたユーザーの合計数が請求されます。

詳細については、「[https://docs.aws.amazon.com/marketplacemetering/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/marketplacemetering/latest/APIReference/Welcome.html)」を参照してください。

AMI ベースの製品の AWS Marketplace Metering Service API をカスタム計測料金と統合する方法の詳細については、*AWS Marketplace 販売者ワークショップ*の[「カスタムユニットラボで価格が設定されている AMI 製品のリスト](https://catalog.workshops.aws/mpseller/en-US/ami/list-ami-custom-units)」を参照してください。

**Topics**
+ [要件](#metering-service-requirements)
+ [AWS Marketplace Metering Service の呼び出し](#call-aws-marketplace-metering-service)
+ [障害処理](#important-information-about-failure-handling)
+ [制限事項](#limitations)
+ [コード例](#ami-metering-code-example)

## 要件
<a name="metering-service-requirements"></a>

Metering Service を使用するすべての AMI ベースのソフトウェアは次の要件を満たしている必要があります。
+ ソフトウェアは、Amazon マシンイメージ (AMI) AWS Marketplace を介して から起動する必要があります。
+ に既存の製品がある場合は AWS Marketplace、新しい AMI を送信し、この機能を有効にする新しい製品を作成する必要があります。
+ すべてのソフトウェアは AWS Identity and Access Management (IAM) ロールでプロビジョニングする必要があります。エンドカスタマーは、ユーザーがそのソフトウェアでプロビジョニングしている Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに IAM ロールを追加する必要があります。ソフトウェアをデプロイする場合は、IAM ロールの使用はオプションです AWS Marketplace。これは AWS Marketplace Metering Service ソフトウェアをデプロイするときに必要です。
+ ソフトウェアでは、何らかの方法で消費量を決定できる必要があります。

## AWS Marketplace Metering Service の呼び出し
<a name="call-aws-marketplace-metering-service"></a>

 ソフトウェアを使用して、時間単位で Metering Service を呼び出し、その時間の消費値を記録する必要があります。

 ソフトウェアが起動したら、起動した時間 (分/時間) を記録する必要があります。これは、*start-minute* と呼ばれます。起動時間の 1 時間ごとに、ソフトウェアはその時間の消費量を判断し、Metering Service を呼び出します。この値を取得する方法の詳細については、「[Metering Service を使用するためのソフトウェアの変更](https://docs.aws.amazon.com/marketplace/latest/userguide/custom-metering-pricing-ami-products.html#modifying-your-software-to-use-the-metering-service)」を参照してください。

 1 時間ごとの開始時間に起動するには、以下のいずれかのアプローチをソフトウェアで使用する必要があります。
+  ソフトウェア内のスレッド。
+  インスタンスまたはソフトウェアで起動するデーモンプロセス。
+  アプリケーションのスタートアップ時に設定される cron ジョブ。
**注記**  
 お客様のソフトウェアで、顧客のインスタンスに設定された IAM ロールを使用して AWS Marketplace Metering Service を呼び出し、消費のディメンションと量を指定する必要があります。

次の実装例のように、ソフトウェアは AWS SDK を使用して AWS Marketplace Metering Service を呼び出すことができます。

1. サービスクライアントを作成するにはインスタンスプロファイルを使用します。そのためには、EC2 インスタンス用に設定されたロールが必要です。このロールの認証情報は、SDK によって自動的に更新されます。

1. 1 時間ごとに、ソフトウェア設定とステータスを確認し、その時間の消費値を決定します。これには、ディメンションごとの値の収集が含まれる場合があります。

1. 次のパラメータを指定して、SDK クライアントの `meterUsage` メソッドを呼び出します (使用量があるディメンションごとに追加で呼び出す)。
   + `timestamp` - 記録中の時間のタイムスタンプ (UTC で)。
   + `productCode` - ソフトウェアに割り当てられた製品コード。
   + `dimension` - ソフトウェアに割り当てられた 1 つのディメンション (または複数のディメンション) 
   + `quantity` - ある時間の消費値。
   + `allocations` - (オプション) 追跡するプロパティ全体にわたって使用量を割り当てることができます。これらの割り当てを合計すると、レコード内の総消費量になる必要があります。購入者にとって、これらは請求ツール ( AWS Billing and Cost Management コンソールなど) に潜在的なコスト配分タグとして表示されます。購入者がこれらのタグを使用してコストを追跡するには、アカウントでタグを有効にする必要があります。

さらに、ソフトウェアを使用して、リージョン内の AWS Marketplace Metering Service エンドポイントを呼び出す必要があります。製品に適切なリージョンのエンドポイントが設定されている必要があります。そのため、記録は `us-east-1` より `us-east-1` エンドポイント、`us-west-2` より `us-west-2` エンドポイントに送信されます。リージョン内呼び出しを行うと、購入者にはより安定したエクスペリエンスが提供され、無関係なリージョンのアベイラビリティーが別のリージョンで実行されているソフトウェアに影響を及ぼすことを防ぐことができます。

サービスに計測レコードを送信するときは、リージョンの AWS Marketplace Metering Service に接続する必要があります。`getCurrentRegion()` ヘルパーメソッドを使用して、EC2 インスタンスが実行されているリージョンを特定し、このリージョンの情報を `MeteringServiceClient` コンストラクタに渡します。SDK コンストラクタ AWS リージョン で を指定しない場合、デフォルトの`us-east-1`リージョンが使用されます。アプリケーションでサービスへのクロスリージョンコールを行うと、拒否されます。詳細については、[Determining an Application’s Current Region](https://java.awsblog.com/post/Tx3GBOIEN1JJMQ5/Determining-an-Application-s-Current-Region) および [getCurrentRegion()](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/regions/Regions.html#getCurrentRegion()) を参照してください。

## 障害処理
<a name="important-information-about-failure-handling"></a>

製品は、公共のインターネットエンドポイントであるサービスに計測レコードを送信する必要があるため、使用状況をキャプチャして請求することができます。顧客は計測レコードの配信を妨げる方法でネットワーク設定を変更する可能性があるため、製品は障害モードを選択することで考慮する必要があります。

**注記**  
一部の計測障害は、 への接続における一時的な問題である場合があります AWS Marketplace Metering Service。 AWS Marketplace では、短期的な停止やネットワークの問題を避けるため、エクスポネンシャルバックオフで最大 30 分間の再試行を実装することを強くお勧めします。

通常、ソフトウェアはフェイルオープン (警告メッセージを表示しながら完全な機能を維持する) か、またはフェイルクローズ (接続が再確立されるまでアプリケーション内のすべての機能を無効にする) を行うことができます。フェイルオープン、フェイルクローズ、またはアプリケーション固有の機能を選択できます。2 時間以内の計測に失敗した場合は、フェイルクローズを行わないことをお勧めします。

部分的なフェイルオープンの場合の一例として、ソフトウェアへのアクセスを引き続き許可することはできますが、購入者がソフトウェア設定を変更することはできません。または、購入者はソフトウェアに引き続きアクセスできますが、追加のユーザーを作成することはできません。ソフトウェアを使用して、この障害モードを定義して実行する必要があります。AMI の送信時、ソフトウェアの障害モードを含む必要があります。また、後に変更することはできません。

## 制限事項
<a name="limitations"></a>

 Metering Service 対応ソフトウェアを設計および送信する場合、次の制約事項に留意してください。
+ **お客様の IAM ロールとインターネットゲートウェイの要件** - お客様はインターネットゲートウェイを持ち、特定のアクセス許可を持つ IAM ロールでソフトウェアを起動する必要があります。詳細については、「[AWS Marketplace 計測と使用権限 API アクセス許可](iam-user-policy-for-aws-marketplace-actions.md)」を参照してください。これらのうち 2 つの条件が満たされない場合、ソフトウェアは Metering Service に接続できません。
+  **既存の Metering Service product 製品への新しい使用カテゴリの追加および変更の不可** - お客様は、ソフトウェア製品をサブスクライブすると、利用規約に同意したものと見なされます。Metering Service を使用して製品の使用カテゴリを変更するには、新しい製品と新しいサブスクリプションが必要です。
+ **既存の Metering Service 製品のディメンションの変更の不可** - お客様は、ソフトウェア製品をサブスクライブすると、利用規約に同意したものと見なされます。Metering Service を使用して製品のディメンションを変更するには、新しい製品と新しいサブスクリプションが必要です。既存の製品には、最大 24 個まで新しいディメンションを追加*できます*。
+  **無料トライアルおよび年間サブスクリプションは利用不可** - Metering Service 製品は、起動時に無料トライアルおよび年間サブスクリプションをサポートしていません。
+  **マルチインスタンスまたはクラスターベースのデプロイメントに関する考慮事項** - 一部のソフトウェアは、マルチインスタンスデプロイメントの一部としてデプロイされます。ソフトウェアの設計時には、消費量を計測する方法と場所、および計測レコードが出力される場所を検討してください。

## コード例
<a name="ami-metering-code-example"></a>

次のコード例は、製品の公開およびメンテナンスに必要な AWS Marketplace API と AMI 製品を統合するのに役立てることを目的として提供されています。

### 使用量配分タグ付き `MeterUsage` (オプション)
<a name="ami-meterusage-code-example"></a>

次のコード例は、消費料金モデルを持つ AMI 製品に関連しています。Python の例では、従量制料金を顧客に請求するために、適切な使用量割り当てタグを含む計測レコードを AWS Marketplace に送信します。

```
# NOTE: Your application will need to aggregate usage for the 
#       customer for the hour and set the quantity as seen below. 
# AWS Marketplace can only accept records for up to an hour in the past. 
#
# productCode is supplied after the AWS Marketplace Ops team has 
# published the product to limited

# Import AWS Python SDK
import boto3
import time

usageRecord = [
    { 
        "AllocatedUsageQuantity": 2, 
        "Tags": 
            [ 
                { "Key": "BusinessUnit", "Value": "IT" },
                { "Key": "AccountId", "Value": "123456789" },
            ]

    },
    { 
        "AllocatedUsageQuantity": 1, 
        "Tags": 
            [ 
                { "Key": "BusinessUnit", "Value": "Finance" },
                { "Key": "AccountId", "Value": "987654321" },
            ]

    }
]

marketplaceClient = boto3.client("meteringmarketplace")

response = marketplaceClient.meter_usage(
    ProductCode="testProduct",
    Timestamp=int(time.time()),
    UsageDimension="Dimension1",
    UsageQuantity=3,
    DryRun=False,
    UsageAllocations=usageRecord 
)
```

`MeterUsage` の詳細については、「AWS Marketplace Metering Service API リファレンス」の「[MeterUsage](https://docs.aws.amazon.com/marketplacemetering/latest/APIReference/API_MeterUsage.html)」を参照してください。**

### レスポンスの例
<a name="ami-meterusage-code-response"></a>

```
{ "MeteringRecordId": "string" }
```

# AWS Marketplace の AMI 製品の契約料金
<a name="ami-contracts"></a>

Amazon マシンイメージ (AMI) ベースの製品の契約料金とは、購入者が単一の AMI 製品または AWS CloudFormation スタック付きの単一の AMI に対して前払い料金を支払うことを意味します。契約料金の AMI ベースの製品の場合、AWS Marketplace は、販売者と顧客の間の契約に基づいて、前払いまたは販売者が定義した支払いスケジュールで顧客に請求します。その時点で、それらのリソースの使用権限が付与されます。このトピックでは、契約料金について詳述します。

料金を設定するには、顧客に提供する 1 つ以上の契約期間を選択します。契約期間ごとに異なる価格を入力できます。契約期間は 1 か月、12 か月、24 か月、36 か月です。プライベートオファーでは、カスタム期間を月単位 (最大 60 か月) で指定できます。

**注記**  
無料トライアルは、契約料金の AMI 製品ではご利用いただけません。

製品の価格を最もよく表すカテゴリを選択します。価格カテゴリは、AWS Marketplace ウェブサイトでの顧客に表示されます。**[帯域幅]** (GB/s、MB/s)、**[データ]** (GB、MB、TB)、**[ホスト]**、**[リクエスト]**、**[階層]**、**[ユーザー]** のいずれかを選択できます。事前定義カテゴリのどれもニーズに適合しない場合は、汎用的な **[単位]** カテゴリを選択できます。

このオファーには最大 24 のディメンションを追加できます。各ディメンションには次のデータが必要です。
+ **契約カテゴリ** - 消費ベースの料金設定のない契約製品の場合は、契約内のディメンションのカテゴリに最も近いカテゴリを選択するか、契約内のディメンションの単位に似た値がない場合は **[単位]** を選択できます。
+ **契約単位** - 選択したカテゴリに基づいて、ディメンションに最も近い単位の値を 1 つ選択します。
+ **契約ディメンションによる複数購入が可能** - このフィールドは、オファーが階層型の料金設定オファーか非階層型のオファーかを示すために使用されます。

  階層型オファー - 購入者がオファー内の利用可能なディメンションのうちの 1 つだけをサブスクライブできるようにします。階層型オファーのディメンションには数量という概念はありません。特定のディメンションで契約を結ぶことは、基本的に、購入者がそのディメンションが示す特定の機能を選択したことを意味します。

  非階層型オファー - 顧客は契約の一環として複数のディメンションを調達でき、各ディメンションの複数のユニットを調達できます。

  このフィールドの値を true に設定すると、そのオファーは非階層型オファーであることを示します。**このフィールドに false を設定すると、そのオファーは階層型オファーであることを示します。**

製品積載フォーム (PLF) を使用して AMI 製品の契約を作成する場合、料金ディメンションに次のフィールドを定義する必要があります。
+  **[契約 DimensionX API 名]** - 購入者の AWS License Manager アカウントで生成されるライセンスに表示される名前。この名前は `Checkoutlicense` API コールの `Entitlement` `Name` の値としても使用されます。
+  **[契約 DimensionX 表示名]** - AWS Marketplace ウェブサイトの製品詳細ページと調達ページに表示される、顧客向けのディメンション名です。わかりやすい名前を付けてください。名前の最大長は 24 文字です。リストが公開されたら、`Name` の値を変更することはできません。
+  **[契約 DimensionX 説明]** - 特定のディメンションが提供する機能など、製品のディメンションに関する追加情報を提供する、顧客向けのディメンションの説明です。説明の最大長は 70 文字です。
+  **[契約 DimensionX 数量]** - 商品の契約が修正された場合の比例配分の計算に使用されます。このフィールドのこの値は、すべての契約オファーで 1 に設定する必要があります。この値は編集しないでください。
+  **[契約 DimensionX **1 か月料金**]** - このディメンションの 1 か月分の使用権限に対して請求される契約レート。非階層型オファーの場合、このレートは調達されたディメンションの単位ごとに請求されます。このフィールドでは小数点以下 3 桁がサポートされています。
+  **[契約 DimensionX **12 か月料金**]** - ディメンションに対する 12 か月間の使用権限に対して請求される契約レート。非階層型オファーの場合、このレートは調達されたディメンションの単位ごとに請求されます。このフィールドでは小数点以下 3 桁がサポートされています。
+  **[契約 DimensionX **24 か月料金**]** - ディメンションに対する 24 か月間の使用権限に対して請求される契約レート。非階層型オファーの場合、このレートは調達されたディメンションの単位ごとに請求されます。このフィールドでは小数点以下 3 桁がサポートされています。
+  **[契約 DimensionX **36 か月料金**]** - ディメンションに対する 36 か月間の使用権限に対して請求される契約レート。非階層型オファーの場合、このレートは調達されたディメンションの単位ごとに請求されます。このフィールドでは小数点以下 3 桁がサポートされています。


**例: データストレージアプリケーション**  

|   | 1 か月料金 | 12 か月料金  | 24 か月料金  | 36 か月料金  | 
| --- | --- | --- | --- | --- | 
| 暗号化されていないデータ (GB)  |  1.50 USD/GB  |  16.00 USD/GB  |  30.00 USD/GB  |  60.00 USD/GB  | 
| 暗号化されているデータ (GB)  |  1.55 USD/GB  |  16.60 USD/GB  |  31.20 USD/GB  |  61.20 USD/GB  | 


**例: ログモニタリング製品**  

|   | 1 か月料金 | 12 か月料金  | 24 か月料金 | 36 か月料金 | 
| --- | --- | --- | --- | --- | 
| Basic (10 ホストのモニタリング、5 コンテナのモニタリング)  |  100 USD  |  1,000 USD  | 2,000 USD  | 4000 USD | 
| Standard (20 ホストのモニタリング、10 コンテナのモニタリング)  |  200 USD  |  2,000 USD  | 4000 USD  | 8000 USD | 
| Pro (40 ホストのモニタリング、20 コンテナのモニタリング)  |  400 USD  |  4000 USD  | 8000 USD  | 16,000 USD | 
| 1 時間あたりのモニタリング対象追加ホスト  | 10 USD  | 100 USD  |  200 USD | 400 USD | 
| 1 時間あたりのモニタリング対象追加コンテナ  | 10 USD  | 100 USD  |  200 USD | 400 USD | 

**注記**  
価格は、1 か月、12 か月、24 か月、36 か月の期間に対して定義できます。製品にこれらのオプションを 1 つ以上提供することができます。期間は各ディメンション間で同じである必要があります。  

**Example**  
例えば、`ReadOnlyUsers` ディメンションと `AdminUsers` ディメンションがある場合、ReadOnlyUsers に年間料金を提供する場合は、`AdminUsers` の年間料金も提供する必要があります。

## 自動更新
<a name="ami-contracts-automatic-renewals"></a>

 顧客は AWS Marketplace を通じて AMI 契約で製品を購入する際に、契約期間の自動更新に同意することができます。顧客は 1 年、2 年、または 3 年の期間中に、使用権限に対して毎月支払い続けます。

お客様はいつでも更新の設定を変更できます。詳細については、「AWS Marketplace 購入者ガイド」の「[既存の契約の変更](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-ami-contracts.html#modify-existing-contract)」を参照してください。**

# を使用したライセンスと AMI ベースの製品の関連付け AWS License Manager
<a name="ami-license-manager-integration"></a>

契約料金の Amazon Machine Image (AMI) ベースの製品の場合、 AWS License Manager を使用してライセンスを製品に関連付けることができます。 AWS License Manager は、お客様が購入したライセンス (使用権限とも呼ばれます) をアプリケーションが追跡および更新できるようにするライセンス管理ツールです。統合が完了したら、 AWS Marketplaceに製品リストを公開できます。次のセクションでは、 AWS License Manager を使用したライセンスと AMI ベース商品の関連付けに関して説明します。

詳細については AWS License Manager、[AWS License Manager 「 ユーザーガイド](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager.html)」および*AWS CLI 「 コマンドリファレンス*」の[AWS License Manager](https://docs.aws.amazon.com/cli/latest/reference/license-manager/index.html)「」セクションを参照してください。

AMI ベースの製品 AWS License Manager と契約料金との統合の詳細については、 *AWS Marketplace 販売者ワークショップ*の[前払いラボで料金が設定されている AMI 製品のリスト](https://catalog.workshops.aws/mpseller/en-US/ami/list-ami-upfront-payment)を参照してください。

**注記**  
契約の有効期限を過ぎると、顧客は AMI の新しいインスタンスを起動できなくなります。ただし、契約期間中は、インスタンスをいくつでも起動できます。これらのライセンスはノードロックされたり、特定のインスタンスに結び付けられたりすることはありません。
**[プライベートオファーの作成]** - 販売者は、 AWS Marketplace 管理ポータルのプライベートオファー作成ツールを使用して、製品のプライベートオファーを作成できます。
**[レポート]** - AWS Marketplace 管理ポータルの **[レポート]** セクションで Amazon S3 バケットを設定して、データフィードを設定できます。詳細については、「[の販売者レポート、データフィード、ダッシュボード AWS Marketplace](reports-and-data-feed.md)」を参照してください。

**Topics**
+ [ライセンスモデル](#license-models)
+ [ワークフロー統合](#LM-workflow)
+ [License Manager 統合の前提条件](#LM-prereqs)
+ [AMI ベースの製品を と統合する AWS License Manager](#integrate-with-LM)
+ [ライセンスの更新とアップグレード](#lic-renew-upgrade)

## ライセンスモデル
<a name="license-models"></a>

AWS Marketplace と の統合では、次の 2 つのライセンスモデル AWS License Manager がサポートされています。
+ [設定可能なライセンスモデル](#config-lic-model)
+ [階層型ライセンスモデル](#tiered-lic-model)

### 設定可能なライセンスモデル
<a name="config-lic-model"></a>

設定可能なライセンスモデル (定量化可能なライセンスモデルとも呼ばれます) では、購入者がライセンスを調達した後に、特定の量のリソースを購入者に付与できます。

料金設定ディメンションと単価を設定します。次に、購入者は購入するリソースの数量を選択できます。

**Example 料金ディメンションと単価の**  
料金設定ディメンション (データバックアップなど) と単価 (1 ユニットあたり 30 USD など) を設定できます。  
購入者は 5 単位、10 単位、または 20 単位の購入を選択できます。  
製品は使用状況を追跡して測定し、消費されたリソースの量を測定します。

設定モデルでは、使用権限は次の 2 つのいずれかにカウントされます。
+ [ドローダウンライセンス](#drawndown-lic)
+ [フローティングライセンス](#floating-lic) 

#### ドローダウンライセンス
<a name="drawndown-lic"></a>

 ライセンスは、使用時に許可されたライセンス数のプールから引き出されます。その使用権限は永久にチェックアウトされ、ライセンスプールに戻すことはできません。

**Example 限られた量のデータを処理する**  
ユーザーには 500 GB のデータを処理する権限があります。ユーザーがデータを処理し続けると、500 GB のライセンスがすべて消費されるまで 500 GB のプールからデータが引き出されます。

ドローダウンライセンスの場合は、`CheckoutLicense` API オペレーションを使用して、消費されたライセンスユニットを確認できます。

**Example Amazon S3 へのバックアップの年間単位数**  
Amazon Simple Storage Service (Amazon S3) に、1 年間最大 1,024 単位のデータをバックアップできるストレージ製品があります。アプリケーションは、複数の Amazon EC2 インスタンスを使用して起動できます。アプリケーションには、データを追跡して集約するメカニズムがあります。ソフトウェアは、バックアップのたびに、または一定の間隔で、製品 ID を使用して　`CheckoutLicense` API オペレーションを呼び出し、消費量を更新します。  
ソフトウェアが `CheckoutLicense` を呼び出して 10 ユニットのデータをチェックアウトします。合計容量が顧客が購入したバックアップ制限に達すると、API コールは失敗します。

**リクエスト**

```
linux-machine ~]$ aws license-manager checkout-license\
--product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \
--checkout-type "PERPETUAL" \
--key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \
--entitlements "Name=DataConsumption, Value=l0, Unit=Count" \
--client-token "AKIAIOSFODNN7EXAMPLE"
```

**レスポンス**

```
{
  "CheckoutType": "PERPETUAL",
  "EntitlementsAllowed": [
    {      
      "Name": "DataConsumption", 
      "Count": 10,
      "Units": "Count",
      "Value": "Enabled"
    }
},
  "Expiration":    "2021-04-22Tl9:02: 36",
  "IssuedAt": "2021-04-22Tl8:02:36",
  "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...",
  "LicenseConsumptionToken":  "AKIAIOSFODNN7EXAMPLE"
}
```

#### フローティングライセンス
<a name="floating-lic"></a>

 ライセンスは、使用後に許可されたライセンス数のプールに返却されます。

**Example 固定された上限を超えるユーザー数**  
1 人のユーザーには、アプリケーションで 500 人の同時ユーザーを割り当てることができます。ユーザーがログインしてログアウトすると、そのユーザーは引き出され、500 人のユーザープールに戻ります。ただし、500 人の同時ユーザーが固定の上限であるため、アプリケーションはプールから 500 人を超えるユーザーを引き出すことはできません。

フローティングライセンスの場合は、`CheckInLicense` API オペレーションを使用してライセンス単位を使用権限プールに戻すことができます。

**Example 1 年間の同時ユーザー数**  
製品の料金は、同時接続ユーザー数に基づいて決定されます。顧客は 10 ユーザー分のライセンスを 1 年間購入します。顧客は AWS Identity and Access Management (IAM) アクセス許可を与えてソフトウェアを起動します。ユーザーがログインすると、アプリケーションが `CheckoutLicense` API オペレーションを呼び出して数量を 1 つ減らします。ユーザーがログアウトすると、アプリケーションは `CheckInLicense` API オペレーションを呼び出してそのライセンスをプールに返します。`CheckInLicense` を呼び出さない場合、ライセンス単位は 1 時間後に自動的にチェックインされます。

**注記**  
次のリクエストでは、`key-fingerprint` はプレースホルダー値ではなく、すべてのライセンスが公開されるフィンガープリントの実際の値です。

**リクエスト**

```
linux-machine ~]$ aws license-manager checkout-license\
--product-sku "2205b290-19e6-4c76-9eea-377d6bf7la47" \
--checkout-type "PROVISIONAL" \
--key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \
--entitlements "Name=ReadOnlyUSers, Value=l0, Unit=Count" \
--client-token "AKIAIOSFODNN7EXAMPLE"
```

**レスポンス**

```
{
  "CheckoutType": "PROVISIONAL",
  "EntitlementsAllowed": [
    {
      "Name": "ReadOnlyUsers", 
      "Count": 10,
      "Units": "Count",
      "Value": "Enabled"
    }
},
  "Expiration": "2021-04-22Tl9:02: 36",
  "IssuedAt": "2021-04-22Tl8:02:36",
  "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...",
  "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE"
}
```

### 階層型ライセンスモデル
<a name="tiered-lic-model"></a>

階層型ライセンスモデルでは、購入者がライセンスを調達した後に、特定のレベル (階層) のアプリケーション機能を利用できるようになります。

製品には、ベーシック、中級、プレミアムなどの階層を作成します。次に、購入者はあらかじめ定義されている階層の 1 つを選択します。

アプリケーションはアプリケーションの使用状況を追跡したり、測定する必要はありません。

階層型ライセンスモデルでは、使用権限はカウントされず、代わりに顧客が購入したサービスの階層が示されます。

バンドルされた機能を同時に提供する場合は、階層型ライセンスモデルを使用することをお勧めします。

**Example ベーシック、中級、プレミアムの各レベル**  
お客様は、ソフトウェアの 3 つのレベル (ベーシック、中級、プレミアム) のいずれかの契約に署名できます。これらの階層にはそれぞれ独自の料金設定があります。`CheckoutLicense` API オペレーションを呼び出し、リクエストで可能なすべての階層を指定して、ソフトウェアが顧客がサインアップした階層を特定できます。  
リクエストのレスポンスには、顧客が調達した階層に対応する使用権限が含まれています。この情報に基づいて、ソフトウェアは適切なカスタマーエクスペリエンスを提供できます。

#### リクエスト
<a name="tiered-request"></a>

```
linux-machine  ~]$ aws  license-manager   checkout-license\
--product-sku  "2205b290-19e6-4c76-9eea-377d6bf7la47"  \
--checkout-type  "PROVISIONAL"  \
--key-fingerprint  "aws:294406891311:AWS/Marketplace:issuer-fingerprint" \
--entitlements  "Name=BasicTier,  Unit=None"   "Name=IntermediateTier,  Unit=None"	\ "Name=PremiumTier, Unit=None"
```

#### レスポンス
<a name="tiered-response"></a>

```
{ 
  "CheckoutType": "PROVISIONAL",
  "EntitlementsAllowed": [
    {
      "Name": "IntermediateTier", 
      "Units": "None"
    }
},
  "Expiration": "2021-04-22Tl9:02:36",
  "IssuedAt": "2021-04-22Tl8:02:36",
  "LicenseArn": "arn:aws:license-manager::294406891311:license:l-16bf01b...",
  "LicenseConsumptionToken": "AKIAIOSFODNN7EXAMPLE"
}
```

## ワークフロー統合
<a name="LM-workflow"></a>

以下の手順は、AMI 製品を AWS License Managerと統合するためのワークフローを示しています。

1. 販売者は、 AWS License Manager 統合した製品を作成します。

1. 販売者は製品を一覧表示します AWS Marketplace。

1. 購入者は で製品を見つけ AWS Marketplace て購入します。

1. ライセンスは、 AWS アカウントの購入者に送付されます。

1. 購入者は、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、Amazon Elastic Container Service (Amazon ECS) タスク、または Amazon Elastic Kubernetes Service (Amazon EKS) ポッドソフトウェアを起動してソフトウェアを使用します。顧客は IAM ロールを使用してデプロイします。

1. ソフトウェアは購入者の AWS License Manager アカウントでライセンスを読み取り、購入した使用権限を検出し、それに応じて機能をプロビジョニングします。
**注記**  
License Manager は追跡や更新を行いません。これは販売者のアプリケーションによって行われます。

## License Manager 統合の前提条件
<a name="LM-prereqs"></a>

製品を公開する前に、次を行う必要があります。

1. で新しい AMI 製品を作成し AWS Marketplace 管理ポータル、その製品コードを書き留めます。

1. 必要な料金情報を製品積載フォーム (PLF) に記入し、処理のために当社に返送してください。

1. `CheckoutLicense`、`ExtendLicenseConsumption`、および `CheckInLicense` を呼び出すために必要な IAM アクセス許可を持つアプリケーションを実行するタスクまたはポッドの IAM ロールを使用します。

   必要な IAM アクセス許可の詳細は、次の IAM ポリシーに記載されています。

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Sid":"VisualEditorO",
            "Effect":"Allow",
            "Action":[
               "license-manager:CheckoutLicense",
               "license-manager:GetLicense",
               "license-manager:CheckInLicense",
               "license-manager:ExtendLicenseConsumption",
               "license-manager:ListReceivedLicenses"
            ],
            "Resource":"*"
         }
      ]
   }
   ```

------

1. 定義したすべての料金ディメンションのレコードを使用して、`RegisterUsage` API オペレーションをテストコールします。

## AMI ベースの製品を と統合する AWS License Manager
<a name="integrate-with-LM"></a>

[AWS License Manager](https://docs.aws.amazon.com/license-manager/latest/APIReference/Welcome.html) API を使用して AMI ベースの製品を License Manager と統合できます。AMI ベースの製品を使用して Amazon EC2 AWS Marketplace インスタンスを起動します。

**注記**  
次の手順を実行する前に、[License Manager 統合の前提条件](#LM-prereqs) を完了していることを確認します。

**AMI ベースの製品を License Manager と統合するには**

1. [License Manager でのテストライセンスの作成](#creating-test-license) のステップを完了します。統合をテストするには、License Manager でテストライセンスを作成する必要があります。

1. ステップ 1 で取得したライセンスの Amazon リソースネーム (ARN) を使用して [GetLicense](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_GetLicense.html) API オペレーションを実行します。後で使用できるように、`GetLicense` レスポンスの `KeyFingerprint` 属性の値を書き留めておきます。

1. 最新のパブリック AWS SDK をダウンロードしてアプリケーションに含めます。

1. 購入者がアプリケーションのライセンスを使用する資格を持っていることを確認するには、[CheckoutLicense](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CheckoutLicense.html) API オペレーションを実行します。ステップ 1 で取得したテストライセンスの使用権限の詳細とキーフィンガープリントを使用します。

   ライセンスに該当する使用権限が見つからないか、使用権限の最大数を超えた場合は、`CheckoutLicense` API オペレーションから `NoEntitlementsAllowedException` が返されます。使用権限が有効であるか、使用可能な場合、`CheckoutLicense` オペレーションはリクエストされた使用権限とその値を含む成功レスポンスを返します。

1. (フローティング使用権限の場合にのみ必須) `CheckoutLicense` レスポンスで受け取った `LicenseConsumptionToken` を使用して [CheckinLicense](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CheckInLicense.html) API オペレーションを実行します。このアクションは、以前にチェックアウトした使用権限を、使用可能な使用権限のプールに戻します。

1. ステップ 1 で作成したテストライセンスと License Manager の統合を正常に確認したら、コード内のキーフィンガープリントを `aws:294406891311:AWS/Marketplace:issuer-fingerprint` に更新します。これで、 AWS Marketplaceによって発行されたライセンスを使用する準備ができました。

AMI 製品にアプリケーションを構築するリリースプロセスに従い、製品の公開プロセス AWS Marketplace に従って製品を に送信します。

### License Manager でのテストライセンスの作成
<a name="creating-test-license"></a>

( AWS Command Line Interface AWS CLI) のバージョン 2 を使用して、 でテストライセンスを作成します AWS License Manager。このテストライセンスは、 AWS License Manager 統合の検証とテストにのみ使用されます。テストが完了したら、テストライセンスを削除できます。実際のライセンスは、別のキーフィンガープリントを使用して AWS Marketplace によって生成されます。

AWS Marketplace は、 で 2 種類のエンタイトルメントをサポートしています AWS License Manager。ただし、1 つの製品に対して有効にできるのは 1 つのタイプだけです。テストライセンスを含むライセンスを作成するときは、次のどちらかのタイプの資格を指定する必要があります。

**階層型ライセンス** - 階層型ライセンスモデルでは、顧客に特定のアプリケーション機能の使用権が付与されます。顧客は購入するユニットの数量を定義することはできません。ただし、定義済みのパッケージまたは階層を 1 つ選択することはできます。顧客は後で契約を変更して別の階層にサブスクライブできます。

**設定可能な使用権限** - 設定可能なライセンスモデルでは、顧客がライセンスを購入すると、一定量のリソースに使用権限が付与されます。お客様はサブスクリプションプロセス中に購入するユニット数を選択し、そのユニット料金に基づいて請求されます。顧客は複数のディメンションをサブスクライブすることもできます。

`CheckoutLicense` API オペレーションで使用するために必要なパラメータは次のとおりです。
+ `CheckoutType` - 有効な値は `Perpetual` または `Provisional` です。
  + `Perpetual` - チェックアウトされた使用権限の数がプールからなくなる場合に使用されます。例: 購入者には 500 GB のデータを処理する権限があります。データの処理を続けると、500 GB のプールからその量が引き出され、使い果たされます。購入したライセンスの有効期限が切れている、または間もなく切れるかどうかのステータスを取得して、顧客に通知を送信します。
  + `Provisional` - 使用権限がプールからチェックアウトされ、使用後に返却されるフローティングライセンス使用権限に使用されます。例: ユーザーには、アプリケーション内で同時に 500 人のユーザーを使用する権利があります。ユーザーがログインしてログアウトすると、そのユーザーは引き出され、500 人のユーザープールに戻ります。フローティングライセンスの使用権限の詳細については、[AWS 「License Manager で販売者が発行したライセンス」を参照してください。](https://docs.aws.amazon.com/license-manager/latest/userguide/seller-issued-licenses.html)
+ `ClientToken` - 大文字と小文字が区別される一意の識別子。これにより、何度試しても正確な結果が得られ、同じになります。リクエストごとにランダムな共通の一意の識別子 (UUID) を使用することをお勧めします。
+ `Entitlements` - チェックアウトする使用権限のリスト。
  + 階層型使用権限の場合は、`Name` プロパティと `Unit` プロパティを次のように指定します。

    `{`

    `"Name": "<Entitlement_Name>",`

    `"Unit": "None"`

    `}`
  + 設定可能な使用権限には、`Name` プロパティ、`Unit` プロパティおよび `Value` プロパティを次のように指定します。

    `{`

    `"Name": "<Entitlement_Name>",`

    `"Unit": "<Entitlement_Unit>",`

    `"Value": <Desired_Count>{`

    \$1
+ `KeyFingerprint` - このキーフィンガープリントを使用して、ライセンスが AWS Marketplaceによって発行されたものであることを確認します。によって発行されたライセンスのキーフィンガープリント AWS Marketplace は次のとおりです。

  `aws:294406891311:AWS/Marketplace:issuer-fingerprint`
+ `Product SKU` – 製品に関連付けられているグローバル一意識別子 (GUID) 形式の AWS Marketplace 製品 ID。

**Example 設定可能な使用権限**  
以下は、`CheckoutLicense` API オペレーションを使用して `PowerUsers` という名前の設定可能な使用権限をチェックアウトするリクエストの例です。  

```
aws license-manager checkout-license \
   product-sku "2205b290-19e6-4c76-9eea-377d6bf71a47" \
   checkout-type "PROVISIONAL" \
   client-token "79464194dca9429698cc774587a603a1" \"Statement":[
   entitlements "Name=PowerUsers,Value=1,Unit=Count" \ 
   key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint"
```

**Example 階層型使用権限**  
以下は、`CheckoutLicense` API オペレーションを使用して `EnterpriseEdition` という名前の機能使用権限をチェックアウトするリクエストの例です。  

```
aws license-manager checkout-license \
   --product-sku "2205b290-19e6-4c76-9eea-377d6bf71a47" \
   --checkout-type "PROVISIONAL" \
   --client-token "79464194dca9429698cc774587a603a1" \
   --entitlements "Name=EnterpriseEdition,Unit=None" \
   --key-fingerprint "aws:294406891311:AWS/Marketplace:issuer-fingerprint"
```

**AMI ベース製品のテストライセンスを作成するには**

1. v2 AWS CLI がインストールされているローカル環境から、次のスクリプトを実行します。このスクリプトはテストライセンスを作成し、適切な製品詳細を設定します。
**注記**  
ソフトウェアをデプロイしてテスト AWS アカウント するテスト AWS アカウント とは異なる を使用します。ライセンスの作成、付与、チェックアウトを同じ AWS アカウントで行うことはできません。

   ```
   #!/bin/bash
   
   # Replace with intended product ID on AWS Marketplace
   PRODUCT_ID=<REPLACE-WITH-PRODUCT-ID>
   
   # Replace with license recipient's AWS Account ID
   BENEFICIARY_ACCOUNT_ID=<REPLACE-WITH-BENEFICIARY-ACCOUNT-ID>
   
   # Replace with your product's name
   PRODUCT_NAME="Test Product"
   
   # Replace with your seller name on AWS Marketplace
   SELLER_OF_RECORD="Test Seller" 
   
   # Replace with intended license name
   LICENSE_NAME="AWSMP Test License"
   
   # Replace the following with desired contract dimensions
   # More info here: https://docs.aws.amazon.com/license-manager/latest/APIReference/API_Entitlement.html
   # Example "configurable entitlement"
   ENTITLEMENTS='[
     {
       "Name": "ReadOnly",
       "MaxCount": 5,
       "Overage": false,
       "Unit": "Count",
       "AllowCheckIn": true
     }
   ]'
   # Example "tiered entitlement"
   # ENTITLEMENTS='[
   #   {
   #     "Name": "EnterpriseUsage", 
   #     "Value": "Enabled",
   #     "Unit": "None"
   #   }
   # ]'
   
   # Format "yyyy-mm-ddTHH:mm:ss.SSSZ"
   # This creates a validity period of 10 days starting the current day
   # Can be updated to desired dates
   VALIDITY_START=$(date +%Y-%m-%dT%H:%M:%S.%SZ)
   VALIDITY_END=$(date --date="+10 days" +%Y-%m-%dT%H:%M:%S.%SZ)
   
   # Configuration for consumption of the license as set on Marketplace products
   CONSUMPTION_CONFIG='{
    "RenewType": "None",
    "ProvisionalConfiguration": {
      "MaxTimeToLiveInMinutes": 60
    }
   }'
   
   # License's home Region
   HOME_REGION=us-east-1
   
   # License issuer's name
   ISSUER=Self  
   
   # Run AWS CLI command to create a license
   aws license-manager create-license \
     --license-name "${LICENSE_NAME}" \
     --product-name "${PRODUCT_NAME}" \
     --product-sku "${PRODUCT_ID}" \
     --issuer Name="${ISSUER}" \
     --beneficiary "${BENEFICIARY_ACCOUNT_ID}" \
     --validity 'Begin="'"${VALIDITY_START}"'",End="'"${VALIDITY_END}"'"' \
     --entitlements "${ENTITLEMENTS}" \
     --home-region "${HOME_REGION}" \
     --region "${HOME_REGION}" \
     --consumption-configuration "${CONSUMPTION_CONFIG}" \
     --client-token $(uuidgen)
   ```

1.  AWS License Manager コンソールを使用してライセンスを付与します。詳細については、「License Manager ユーザーガイド」の「[使用権限の配布](https://docs.aws.amazon.com/license-manager/latest/userguide/granted-licenses.html#distribute-entitlement.)」を参照してください。**

1. ソフトウェアをデプロイしてテスト AWS アカウント する購入者アカウントとして機能する にサインインします。これは、ライセンスを作成して付与 AWS アカウント した AWS アカウント とは異なる必要があります。

1.  AWS License Manager コンソールに移動して、付与されたライセンスを受け入れてアクティブ化します。詳細については、「AWS License Manager ユーザーガイド」の「[付与されたライセンスの管理](https://docs.aws.amazon.com/license-manager/latest/userguide/granted-licenses.html#manage-granted-licenses)」を参照してください。**

1. 環境で次のコマンドを実行します。

   ```
   # The following example uses a key fingerprint that should match the test license you created.
   # When checking out an actual AWS Marketplace created license, use the following fingerprint:
   # aws:294406891311:AWS/Marketplace:issuer-fingerprint
   aws license-manager checkout-license \
     --product-sku <REPLACE-WITH-PRODUCT-ID> \
     --checkout-type PROVISIONAL \
     --key-fingerprint "aws:<ACCOUNT-ID-WHERE-YOU-CREATED-TEST-LICENSE>:Self:issuer-fingerprint" \
     --entitlements "Name=ReadOnly,Value=1,Unit=Count" \
     --client-token $(uuidgen)
   ```

   前のコマンドでは、`PROVISIONAL` を `CheckoutType` パラメータの値として使用しています。使用権限でドローダウンライセンスを使用している場合は、値には `PERPETUAL` を使用します。

### License Manager API コール
<a name="LM-API-calls"></a>

顧客の License Manager アカウントに保存されているライセンスを管理するために、ソフトウェアは次の API コールを使用できます。
+ `GetLicense` - ライセンスの有効期限が切れているか、もうすぐ期限切れになるかについて、購入したライセンスのステータスを取得して、顧客に通知を送信します。
+ `CheckoutLicense` - ユーザーが購入したライセンスを検出します。ユーザーがいくらかのライセンスを消費した時に、 API コールを使用してライセンス数量を更新することもできます。`CheckoutLicense` を使用すると、顧客が使用したライセンスの数量を継続的に確認できます。顧客がすべてのライセンスを使い果たすと、この呼び出しはエラーを返します。`CheckoutLicense` を実行するための推奨ケイデンスについては、「[ライセンスの更新とアップグレード](#lic-renew-upgrade)」を参照してください。
+ `ExtendLicenseConsumption` - フローティングディメンションの場合、ソフトウェアがライセンスをチェックアウトすると、60 分後に自動的にライセンスがプールに返却されます。ライセンスがチェックアウトされたままの期間を延長する場合は、ソフトウェアがライセンスをさらに 60 分間延長するように `ExtendLicenseConsumption` を呼び出すことができます。
+ `CheckInLicense` - フローティングディメンションの場合、ライセンスを使用権限プールに戻す場合は、`CheckInLicense` を使用してください。
+ `ListReceivedLicenses` - 購入者が購入したライセンスを一覧表示します。

## ライセンスの更新とアップグレード
<a name="lic-renew-upgrade"></a>

顧客は AWS Marketplace 管理ポータルでライセンスを更新またはアップグレードできます。追加購入を行うと、 は新しい使用権限を反映する新しいバージョンのライセンス AWS Marketplace を生成します。ソフトウェアは同じ API コールを使用して新しい使用権限を読み取ります。License Manager の統合に関しては、更新やアップグレードを処理するために特別なことをする必要はありません。

ライセンスの更新、アップグレード、キャンセルなどが発生するため、製品の使用中は定期的に `CheckoutLicense` API コールを実行することをお勧めします。`CheckoutLicense` API オペレーションを定期的に使用して、製品はアップグレードや有効期限などの使用権限の変更を検出できます。

`CheckoutLicense` API コールは 15 分ごとに実行することをお勧めします。

# での AMI 製品の Amazon SNS 通知の受信 AWS Marketplace
<a name="ami-notification"></a>

製品のカスタマーサブスクリプションの変更に関する通知を受け取るには、製品の作成時に AWS Marketplace 提供される の Amazon Simple Notification Service (Amazon SNS) トピックをサブスクライブできます。例えば、顧客がプライベートオファーを承認するタイミングがわかります。[Amazon SNS トピック: aws-mp-subscription-notification](#ami-sns-subscription-message-body) は、AMI 製品で使用できる Amazon SNS トピックです。このトピックは、購入者が製品をサブスクライブまたはサブスクライブを解除した時に通知します。この通知は、時間単位、時間単位、年間料金など、時間単位の料金モデルで利用できます。詳細については、次のセクションを参照してください。

**注記**  
製品作成プロセス中に、製品の Amazon SNS トピックが作成されます。通知をサブスクライブするには、Amazon SNS トピックの Amazon リソースネーム (ARN) が必要です (例: `arn:aws:sns:us-east-1:123456789012:aws-mp-subscription-notification-PRODUCTCODE`)。ARN は、サーバー製品の販売者ポータルでは使用できません。ARN をリクエストするには、[AWS Marketplace オペレーションチーム](https://aws.amazon.com/marketplace/management/contact-us)にお問い合わせください。

**Topics**
+ [Amazon SNS トピック: aws-mp-subscription-notification](#ami-sns-subscription-message-body)
+ [Amazon SNS トピックへ Amazon SQS キューをサブスクライブする](#subscribing-an-sqs-queue-to-an-sns-topic)

## Amazon SNS トピック: aws-mp-subscription-notification
<a name="ami-sns-subscription-message-body"></a>

`aws-mp-subscription-notification` トピック内の `subscribe-success` および `subscribe-fail` アクションのメッセージは、それぞれ次の形式になっています。

```
{
    "action": "action-name",
    "customer-identifier": " X01EXAMPLEX",
    "product-code": "n0123EXAMPLEXXXXXXXXXXXX",
    "offer-identifier": "offer-abcexample123"
}
```

*<action-name>* は、通知によって異なります。指定できるアクションは以下のとおりです。
+ `subscribe-success`
+ `subscribe-fail`
+ `unsubscribe-pending`
+ `unsubscribe-success`

アクションが `subscribe-success` または `subscribe-fail` の場合にのみ、`offer-identifier` は通知に含まれます。アクションが `unsubscribe-pending` または `unsubscribe-success` の場合、通知には含まれません。2024 年 1 月より前に作成されたオファーの場合、この識別子はプライベートオファーの通知にのみ含まれます。2024 年 1 月以降に作成されたオファーの場合、この識別子はプライベートオファーとパブリックオファーの両方を含むすべてのオファーの通知に含まれます。

オファータイプの詳細については、[DescribeEntity API](https://docs.aws.amazon.com//marketplace/latest/APIReference/work-with-private-offers.html#describe-entity) からのレスポンスまたは[契約更新ダッシュボード](https://docs.aws.amazon.com//marketplace/latest/userguide/agreements-renewals-dashboard.html)の契約のオファーの可視性を参照してください。

**注記**  
 [DescribeEntity API](https://docs.aws.amazon.com//marketplace/latest/APIReference/work-with-private-offers.html#describe-entity) の場合、そのオファーのターゲットルールのファセットをターゲットとする がアカウント AWS アカウント で見つかった場合、これはプライベートオファーです。そのオファーのターゲットルールのファセットをターゲットとする が AWS アカウント アカウントにない場合は、パブリックオファーです。

## Amazon SNS トピックへ Amazon SQS キューをサブスクライブする
<a name="subscribing-an-sqs-queue-to-an-sns-topic"></a>

Amazon SQS キューを指定された SNS トピックにサブスクライブすることを推奨します。SQS キューを作成し、そのキューをトピックにサブスクライブする方法の詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「[Amazon SNS トピックへ Amazon SQS キューをサブスクライブする](https://docs.aws.amazon.com/sns/latest/dg/subscribe-sqs-queue-to-sns-topic.html)」を参照してください。**

**注記**  
製品を販売する AWS アカウント ために使用される AWS Marketplace からのみ SNS トピックをサブスクライブできます。ただし、メッセージを別のアカウントに転送することはできます。詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「[別のアカウントの Amazon SQS キューへ Amazon SNS メッセージを送信する](https://docs.aws.amazon.com/sns/latest/dg/sns-send-message-to-sqs-cross-account.html)」を参照してください。**

### 通知の SQS キューのポーリング
<a name="polling-an-sqs-for-notifications"></a>

SQS キューを SNS トピックにサブスクライブすると、メッセージは SQS に保存されます。継続的にキューをポーリングし、メッセージを探して必要に応じて処理するサービスを定義する必要があります。

# AWS Marketplace 向け AMI 製品チェックリスト
<a name="aws-marketplace-listing-checklist"></a>

Amazon マシンイメージ (AMI) 製品を AWS に送信する前に、このチェックリストを使用して送信を検証します。これらの要件に従うことで、効率的な公開プロセスを実現できます。

## 製品の使用
<a name="product-usage-checklist"></a>
+ AMI は本番環境に対応しています。
+ 時間またはその他の測定による製品の使用を制限しません。
+ AMI は 1-Click 履行体験との互換性があります。
+ 製品を使用するために必要なものはすべて、クライアントアプリケーションを含め、ソフトウェアに含まれます。ソフトウェアパッケージまたはクライアントアプリケーションなど、外部依存関係を必要とする製品は、適切な開示を含む [製品使用ポリシー](product-and-ami-policies.md#product-usage) に従う必要があります。
+ AMI は必須の [の AMI ベースの製品要件 AWS Marketplace](product-and-ami-policies.md) を満たしています。
+ 製品を使用するために追加のライセンスは必要ありません。
+ 購入者は、製品を使用するために個人を特定できる情報 (E メールアドレスなど) を提供する必要はありません。

## AMI の準備
<a name="ami-preparation-checklist"></a>
+ 製品名と説明は、提供する AMI 製品の **[説明]** フィールドと一致する必要があります。
+ ハードウェア仮想マシン (HVM) の仮想化と 64 ビットアーキテクチャを使用します。
+ 製品には既知の脆弱性、マルウェア、またはウイルスは含まれていません 
+ お客様はネットワーク経由でインスタンスにアクセスし、管理アクセスを使用できます。
+ AMI にはハードコードされたシークレットはありません。ハードコードされたシークレットの例としては、システムユーザーとサービスのデフォルトパスワード、プライベートキー、認証情報などがあります。
+ AMI にはハードコードされた SSH 認可のパブリックキーはありません。
+ 「バージョンの追加」テストの検証テストは問題なく正常に完了します。

## Windows AMI
<a name="windows-amis-checklist"></a>
+ Windows Server 2012 以降のオペレーティングシステムの場合、AMI は [EC2Launch v2](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch-v2-install.html) の最新バージョンを使用します。
+ EC2Launch v2 を使用している場合は、次の操作が必要です。
  + [Amazon EC2Launch 設定](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch-v2-settings.html#ec2launch-v2-ui)で、**[管理者アカウントを設定する]** の **[ランダム]** を選択して、実行時に管理者パスワードを生成します。
  + [Amazon EC2Launch 設定](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch-v2-settings.html#ec2launch-v2-ui)で、**[Sysprep 後に SSM サービスを再有効化し、開始する]** を選択します。
  + [EC2 v2 タスク構成](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch-v2-settings.html#ec2launch-v2-task-configuration)に **[UserData]** を追加します。
+ Windows Server 2012 以降のバージョンでは、[EC2Config](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_Install.html) を使用しないでください。EC2Config が必要な場合は、必ず最新バージョンを使用してください。
+ EC2Config を使用する場合は、AMI の[設定ファイル](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2config-service.html#UsingConfigXML_WinAMI)で次のパラメータを有効にします。
  + `Ec2SetPassword`
  + `Ec2WindowsActivate`
  + `Ec2HandleUserData`
+ ゲストアカウントまたはリモートデスクトップのユーザーが存在しないことを確認します。

## Linux AMI
<a name="linux-amis-checklist"></a>
+ スーパーユーザーとしてのリモートログインは禁止されています。
+ パスワードベースのリモートアクセスは禁止されています。

## 製品ロードフォームまたは [製品] タブ
<a name="product-load-form-checklist"></a>
+ すべての必須フィールドが入力されています。
+ すべての値が指定された文字制限内にあります。
+ すべての URL がエラーなしで読み込まれます。
+ 製品イメージは、少なくとも 110 ピクセル幅で、1:1～2:1 の比率です。
+ 有効なすべてのインスタンスタイプで料金が指定されています (料金モデルが、時間単位、時間ベースの月額、および時間ベースの年額の場合)。
+ 月別料金が指定されています (時間ベースの月額および月額モデルの場合)。

# の AMI ベースの製品要件 AWS Marketplace
<a name="product-and-ami-policies"></a>

AWS Marketplace は、すべての Amazon Machine Image (AMI) 製品およびサービスについて以下のポリシーを維持します。このセクションのポリシーは、お客様に安全で安全で信頼できるコンピューティングプラットフォームを提供することを目的としています。

すべての製品とその関連メタデータは、送信時にレビューされ、現在の AWS Marketplace ポリシーを満たしているか超えているかが確認されます。これらのポリシーは、進化するセキュリティガイドラインに合わせて定期的に更新されます。 AWS Marketplace は製品を継続的にスキャンして、既存の出品がこれらの要件に対する変更を引き続き満たしていることを確認します。製品がコンプライアンス違反になった場合、 AWS Marketplace は販売者に連絡して、新しい基準を満たすように製品を更新します。場合によっては、問題が解決されるまで、新しいサブスクライバーが製品を一時的に利用できなくなることがあります。このプロセスは、すべてのユーザーの AWS Marketplace プラットフォームのセキュリティと信頼性を維持するのに役立ちます。

製品を送信する前に、 の[「バージョンの追加](https://aws.amazon.com/marketplace/management/products/server)」テスト機能を使用して AWS Marketplace 管理ポータル 、現在のポリシーに準拠していることを強くお勧めします。

**Topics**
+ [AMI 製品販売者ポリシー](#ami-product-seller-policies)
+ [セキュリティポリシー](#ami-security)
+ [アーキテクチャポリシー](#architecture)
+ [AMI 製品使用説明書](#ami-product-usage-instructions)
+ [AMI 製品バージョンポリシー](#ami-product-version-policies)
+ [FPGA 製品要件](#ami-fpga-product-requirements)
+ [カスタマー情報ポリシー](#customer-information)
+ [製品使用ポリシー](#product-usage)

## AMI 製品販売者ポリシー
<a name="ami-product-seller-policies"></a>

すべての AMI は、次の販売者ポリシーを順守する必要があります。
+ デフォルトでは、 AWS Marketplace 販売者は最大 75 個のパブリック AMI 製品リストに制限されています。制限を超えるすべての販売者は、定期的なパフォーマンスレビューの対象となり、パフォーマンスの低い出品を制限する必要がある場合があります。 は、独自の裁量で、この制限の引き上げを許可および取り消す AWS Marketplace ことができます。

## セキュリティポリシー
<a name="ami-security"></a>

### ポリシーの生成
<a name="general-policies"></a>

すべての AMI は、以下のポリシーを順守する必要があります。
+ [AWS Marketplace AMI スキャンツール](https://aws.amazon.com/marketplace/management/products/server)によって実行されたすべてのセキュリティチェックに合格し、既知の脆弱性やマルウェアがないことを示す必要があります。
+ AMI は、現在サポートされているオペレーティングシステムやソフトウェアを使用する必要があります。有効期限に達したオペレーティングシステムやソフトウェアは許可されません。
+ インスタンスサービスのパスワードベースの認証は禁止されています。これは、起動時にユーザーがパスワードを生成、リセット、または定義した場合でも適用されます。Null および空白のパスワードは許可されません。

  例外:
  + Windows インスタンスの `EC2Config/EC2Launch` によって生成された管理者パスワード。
  + 他の認証方法がない場合のホストサービス (ウェブアプリケーションなど) への管理者以外のアクセス。強力なパスワードを使用する場合は、インスタンスごとにランダムに生成し、サービス管理者が初回認証に 1 回使用し、初回ログイン直後に変更する必要があります。
+ AMI には、システムユーザーやサービスパスワード (ハッシュパスワードを含む)、プライベートキー、認証情報などのハードコードされたシークレットを含めることはできません。
+ AMIs、 AWS サービスにアクセスするための AWS 認証情報をリクエストしないでください。製品で AWS サービスへのアクセスが必要な場合は、インスタンスに最小特権 AWS Identity and Access Management (IAM) ロールを割り当てる必要があります。ユーザーは、手動で、または CloudFormation テンプレートを使用してロールを作成できます。CloudFormation 配信方法を使用する製品で単一の AMI の起動が有効になっている場合、使用方法の説明書には、最小限の特権を持つ IAM ロールを作成するための明確なガイダンスを含める必要があります。詳細については、[AWS CloudFormation を使用した AMI ベースの製品の配信](https://docs.aws.amazon.com/marketplace/latest/userguide/cloudformation.html)」を参照してください。
+ 販売者は、お客様が実行するインスタンスにアクセスすることはできません。このようなアクセスがサポートやその他の目的で必要な場合は、明示的に有効にするようお客様に指示が送られます。

### SSH (Secure Shell) アクセスポリシー
<a name="ssh-access"></a>

[一般的なポリシー](#general-policies)に加えて、SSH (Secure Shell) アクセスを提供する AMI は、次のセキュリティポリシーに準拠する必要があります。
+ AMI は、SSH を使用したパスワードベースの認証を許可してはなりません。これを確実にするには、`sshd_config` ファイルで `PasswordAuthentication` を `no` に設定します。
+ AMI は、スーパーユーザーアカウントのパスワードベースのリモートログインを無効にする必要があります。詳細については、「[ルートユーザーのパスワードベースのリモートログインを無効にする](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/building-shared-amis.html#public-amis-disable-password-logins-for-root)」を参照してください。
+ AMI には、SSH アクセス用の承認済み公開キーを含めることはできません。
+ AMIs の SSH は、 AWS Marketplace 内部審査手順にアクセスできる必要があります。
  + SSH サービスは、AMI スキャン用に指定された TCP ポートをリッスンする必要があります。詳細については、「[新しいバージョンを追加する](https://docs.aws.amazon.com/marketplace/latest/userguide/single-ami-versions.html#single-ami-adding-version)」を参照してください。
  + SSH は、インスタンスの起動時に Amazon Elastic Compute Cloud (Amazon EC2) によって割り当てられた IP アドレスのサブネット `10.0.0.0/16` と `10.2.0.0/16` からアクセスできる必要があります。

### Linux およびその他の Unix 系オペレーティングシステムに基づく AMI のポリシー
<a name="linux-and-other"></a>

[一般的なポリシー](#general-policies)に加えて、Linux やその他の Unix 系オペレーティングシステムに基づく AMI は、次のセキュリティポリシーに準拠する必要があります。
+ AMI、ユーザーにフル特権アクセス (`sudo` アクセスを許可するなど) を許可する必要があります。

### Windows ベースの AMI ポリシー
<a name="windows-based-amis"></a>

[一般的なポリシー](#general-policies)に加えて、Windows ベースの AMI は次のセキュリティポリシーに準拠する必要があります。
+ AMI ゲストアカウントを含めることはできません。
+ インスタンスへのリモートデスクトップアクセスは、管理者アカウントにのみ付与できます。
+ Windows AMI では、[EC2Launch](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/ec2launch-v2.html) (または、Windows 2016 以前の場合は [EC2Config](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/ec2config-service.html)) で次のオプションを有効にして管理者パスワードを生成する必要があります。
  + `Ec2SetPassword`
  + `Ec2WindowsActivate`
  + `Ec2HandleUserData`
+ AMI は自動審査に使用できる必要があります。次のいずれかの要件を満たす必要があります。
  + (推奨オプション) SSM エージェントがインストールされ、管理アクセス許可とアウトバウンドネットワークアクセスがあります。
  + [Windows リモート管理 (WinRM) サービス](https://learn.microsoft.com/en-us/windows/win32/winrm/portal)が有効になっており、TCP ポート `5985` をリッスンして、インスタンスの起動時に Amazon Elastic Compute Cloud (Amazon EC2) によって割り当てられた IP アドレスのサブネット `10.0.0.0/16` および `10.2.0.0/16` からアクセスできます。
  + [Microsoft Server Message Block (SMB) プロトコルと Common Internet File System (CIFS) プロトコルサービス](https://learn.microsoft.com/en-us/windows/win32/fileio/microsoft-smb-protocol-and-cifs-protocol-overview)が有効になっており、TCP ポート `139` と `445` をリッスンして、インスタンスの起動時に Amazon Elastic Compute Cloud (Amazon EC2) によって割り当てられた IP アドレスのサブネット `10.0.0.0/16` および `10.2.0.0/16` からアクセスできます。

## アーキテクチャポリシー
<a name="architecture"></a>

すべての AMI は、次のアーキテクチャーポリシーを順守する必要があります。
+ のソース AMIs は、米国東部 (バージニア北部) リージョンで提供 AWS Marketplace する必要があります。
+ AMI は、HVM 仮想化を使用する必要があります。
+ AMI は、x86-64 または 64 ビット ARM アーキテクチャーを使用する必要があります。
+ AMI は、Amazon Elastic Block Store (Amazon EBS) によってサポートされる AMI である必要があります。Amazon Simple Storage Service にバックアップされた AMI はサポートされません。
+ AMI は暗号化された EBS スナップショットを使用してはいけません。
+ AMI は暗号化されたファイルシステムを使用してはいけません。
+ AMIs は、すべての で実行でき AWS リージョン 、リージョンに依存しないように構築する必要があります。リージョンごとに異なる構築をした AMI は許可されません。

## AMI 製品使用説明書
<a name="ami-product-usage-instructions"></a>

AMI 製品の使用説明書を作成する際は、[の AMI およびコンテナ製品の使用手順の作成 AWS Marketplace](ami-container-product-usage-instructions.md) に記載されている手順とガイダンスに従ってください。

## AMI 製品バージョンポリシー
<a name="ami-product-version-policies"></a>

AWS Marketplace は、S-AMI、CloudFormation テンプレートを使用した AMI、およびコンテナ製品を使用して、 AWS 顧客と販売者のバージョン管理エクスペリエンスを自動化します。自動バージョンアーカイブにより、販売者によって 2 年以上制限されているすべての製品バージョンが自動的にアーカイブされます。アーカイブされたバージョンは、新しいお客様 AWS Marketplace に対して から起動できなくなりましたが、既存のユーザーは、AMI ID を指定することで、起動テンプレートと Amazon EC2 Auto Scaling グループを通じてアーカイブされたバージョンを引き続き使用できます。過去 13 か月間に新しいインスタンスの起動に使用されていないアーカイブバージョンは削除されます。アーカイブされたバージョンが削除されると、新規または既存のユーザーによって起動できなくなります。

## FPGA 製品要件
<a name="ami-fpga-product-requirements"></a>

標準の AMI 製品要件に加えて、FPGA 製品は以下の要件を満たしている必要があります。
+ AFI IDs は AWS Marketplace 販売者アカウントによって所有されている必要があります。
+ 各製品バージョンは最大 15 個の AFI IDs をサポートしているため、管理可能な製品の複雑さを維持しながら、複数の FPGA 設定を提供できます。
+ AFI IDs は、米国東部 (バージニア北部) リージョンで作成および登録する必要があります。
+ リージョンの可用性は、F2 インスタンスタイプがサポートされているリージョンに限定されます。
+ バージョンの作成時に提供される IAM アクセスロールには、提供された AFIs を AWS Marketplace と共有するためのアクセス許可があります。必要なアクセス許可の詳細については、[「AWS Marketplace に FPGA イメージへのアクセスを許可する](https://docs.aws.amazon.com/marketplace/latest/userguide/single-ami-marketplace-ami-access.html#single-ami-marketplace-afi-access)」を参照してください。

## カスタマー情報ポリシー
<a name="customer-information"></a>

すべての AMI は、次のお客様情報ポリシーに準拠する必要があります。
+ ソフトウェアは、BYOL (Bring Your Own License) で要求される場合を除き、お客様の知識と明示的な同意なしにお客様のデータを収集、またはエクスポートしてはなりません。顧客データを収集またはエクスポートするアプリケーションは、以下のガイドラインに従う必要があります。
  + 顧客データの収集は、セルフサービスで、自動化され、安全である必要があります。購入者は、販売者がソフトウェアの導入を承認するのを待つ必要はありません。
  + 顧客データの収集は、 [AWS Marketplace の利用規約](https://aws.amazon.com/legal/seller-terms/) AWS、[AWS サービス条件](https://aws.amazon.com/service-terms/)、[AWS プライバシー通知](https://aws.amazon.com/privacy/)、[AWS カスタマー](https://aws.amazon.com/agreement/)アグリーメントなど、 との契約と一致する必要があります。
  + 支払情報は収集してはなりません。

## 製品使用ポリシー
<a name="product-usage"></a>

すべての AMI は、次の製品使用ポリシーを遵守する必要があります。
+ 製品は、製品または製品機能へのアクセスを時間、ユーザーの数または他の制限事項によって制限してはなりません。ベータ版およびプレリリース版の製品、あるいはトライアルまたは評価機能を提供することのみを目的とした製品はサポートされていません。同等の有料バージョンも AWS Marketplaceで入手可能である場合、商用ソフトウェアの開発者、コミュニティ、および BYOL エディションがサポートされています。
+ すべての AMI は、ウェブサイトからの起動または AWS CloudFormationを介した AMI ベースの配信のいずれかと互換性がある必要があります。ウェブサイトから起動する場合、AMI はインスタンス作成時にお客様データまたはユーザーのデータを正しく機能させることを要求できません。
+ AMI とそのソフトウェアはセルフサービス方式でデプロイ可能である必要があり、追加の支払い方法や費用を必要としないものでなければなりません。デプロイ時に外部に依存する必要のあるアプリケーションは、以下のガイドラインに従う必要があります。
  + 要件は、リストの説明または使用説明書に明記する必要があります。例えば、*この製品を正しくデプロイするにはインターネット接続が必要です。デプロイ時に以下のパッケージがダウンロードされます。<パッケージのリスト>。*
  + 販売者は、すべての外部依存関係を使用し、その可用性とセキュリティを確保する責任を負います。
  + 外部依存関係が使用できなくなった場合は、製品 AWS Marketplace も から削除する必要があります。
  + 外部依存関係によって追加の支払い方法や費用が必要になってはいけません。
+ 購入者の直接管理下にない外部リソースへの継続的な接続を必要とする AMIs。例えば、外部 APIs販売者またはサードパーティーが AWS のサービス 管理する AMI は、次のガイドラインに従う必要があります。
  + 要件は、リストの説明または使用説明書に明記する必要があります。例えば、*この製品には継続的なインターネット接続が必要です。正しく機能するには、以下の継続的な外部サービスが必要です。<リソースのリスト>。*
  + 販売者は、すべての外部リソースを使用し、その可用性とセキュリティを確保する責任を負います。
  + 外部リソースが使用できなくなった場合は、製品 AWS Marketplace も から削除する必要があります。
  + 外部リソースは追加の支払い方法や費用を必要とせず、接続の設定を自動化する必要があります。
+ 製品ソフトウェアとメタデータには、 AWS Marketplaceでは利用できない他のクラウドプラットフォーム、追加の製品、またはアップセルサービスにユーザーをリダイレクトする言葉を含めてはいけません。
+ 製品が別の製品または別の ISV 製品のアドオンである場合、製品の説明には、それが他の製品の機能を拡張するものであり、これがないと製品の有用性が非常に限られることを明記する必要があります。例えば、*この製品は <製品名> の機能を拡張するものであり、それがなければ、この製品の実用性は非常に限られています。<製品名> は、このリストのすべての機能を利用するには、独自のライセンスが必要な場合がありますのでご注意ください。*