

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

# SaaS 契約ベースの製品を と統合する AWS Marketplace
<a name="saas-integrate-contract-with-pay"></a>

**新しい SaaS 製品の 2026 年 6 月 1 日の変更に関する統合要件**  
AWS Marketplace は同時契約のサポートを導入し、同じ契約期間中に 1 つの AWS アカウントで同じ製品を複数回購入できるようになりました。2026 年 6 月 1 日以降、更新された統合要件をサポートするために、すべての新しい SaaS 製品が必要になります。[同時契約用の新しい統合を確認します](https://catalog.workshops.aws/mpseller/en-US/saas/integration-for-concurrent-agreements)。

製品を と統合することは、 の 1 つのステップ AWS Marketplace です[での SaaS 製品の作成 AWS Marketplace](saas-create-product.md)。Software as a Service (SaaS) 契約製品を と統合するには AWS Marketplace、コードを記述し、いくつかの顧客シナリオに正常に対応できることを証明する必要があります。以下のセクションでは、これらのシナリオとその対応方法について説明し、統合テストの概要を説明します。

**注記**  
このガイドは、*契約ベース*の SaaS 製品のみを対象としています。*従量制料金 (PAYG)* の SaaS 製品を実装する場合は、代わりに [SaaS サブスクリプションまたはPay-As-You-Go製品と の統合 AWS Marketplace](saas-integrate-subscription.md) を使用します。PAYG 製品は、使用権限 SNS トピックまたは GetEntitlements API を使用しません。  
開始する前に、 AWS Marketplaceで対象の Software as a Service (SaaS) 製品に適した料金モデルを選択していることを確認してください。詳細については、「[SaaS 製品の計画](saas-prepare.md)」を参照してください。

**Topics**
+ [シナリオ: サービスが新規顧客を検証する](#saas-contract-with-pay-validate-customer)
+ [シナリオ: サービスが顧客のリクエストを処理する](#saas-contract-with-pay-customer-requests)
+ [シナリオ: 使用量を計測する](#saas-contract-with-pay-meter-usage)
+ [シナリオ:ユーザーエンタイトルメントの変更を監視する](#saas-contract-with-pay-monitor-changes)
+ [従量制料金統合による SaaS 契約のテスト](#saas-contract-consumption-integration-testing)

## シナリオ: サービスが新規顧客を検証する
<a name="saas-contract-with-pay-validate-customer"></a>

顧客が製品をサブスクライブすると、登録 URL にリダイレクトされます。これは一時的な `x-amzn-marketplace-token` トークンを含む HTTP POST リクエストです。このリクエストには、次の方法で応答します。

1. で `[ ResolveCustomer](https://docs.aws.amazon.com/marketplacemetering/latest/APIReference/API_ResolveCustomer.html)` API オペレーションを呼び出し`ProductCode`て`CustomerAWSAccountId`、トークンを `CustomerIdentifier``LicenseArn`、、、および と交換します AWS Marketplace Metering Service。

1.  AWS Marketplace Entitlement Serviceで `[ GetEntitlements](https://docs.aws.amazon.com/marketplaceentitlement/latest/APIReference/API_GetEntitlements.html)` アクションを呼び出して、顧客がアクセスできるサブスクリプションと数量 (該当する場合) を確認します。

1. 今後の呼び出しのために`CustomerIdentifier``CustomerAWSAccountId`、、`LicenseArn`、、および をシステム`ProductCode`内に保持します。顧客が有効なサブスクリプションを持っているかどうかと、顧客について必要な情報をすべて保存しておきます。

1. リクエストへの対応として、ユーザーが初めて使用するときの操作を (サービスに応じて) 表示する必要があります。

## シナリオ: サービスが顧客のリクエストを処理する
<a name="saas-contract-with-pay-customer-requests"></a>

顧客がサービスにリクエストをしたら、次のシナリオに適切なアクションまたはメッセージで対応する必要があります。
+ 顧客のシステムには顧客 ID がありません。つまり、まだサブスクライブしていないということです。サブスクライブ方法を説明するメッセージを送る必要があります。
+ 顧客 ID があり、`GetEntitlements` API オペレーションによって適切なエンタイトルメントが返されます。このシナリオでは、リクエストに応答する必要があります。
+ 顧客 ID はあるが、`GetEntitlements` API オペレーションから返されるエンタイトルメントがないか、リクエストを満たすのに十分な数量がありません。このシナリオでは、アクセスの処理方法とユーザーエクスペリエンスの管理方法を決定する必要があります。

## シナリオ: 使用量を計測する
<a name="saas-contract-with-pay-meter-usage"></a>

顧客がサービスを利用し始めたら、計測レコードを 1 時間ごとに送信する必要があります。計測の詳細については、[SaaS サブスクリプションでの使用量の計測の設定](metering-for-usage.md) を参照してください。

 AWS CloudTrail を使用してアクティビティをモニタリングし、請求情報が に送信されていることを確認することをお勧めします AWS。計測レコードを送信する場合は、次の点に注意してください。
+ 計測リクエストは、毎時 0 分に重複排除されます。
+ 送信したレコードは 1 時間ごとに累積されます。
+ 過去 1 時間以内にレコードがない場合でも、ベストプラクティスとして、使用量 0 の計測レコードを 1 時間ごとに送信することを強くお勧めします。

## シナリオ:ユーザーエンタイトルメントの変更を監視する
<a name="saas-contract-with-pay-monitor-changes"></a>

Amazon Simple Queue Service (Amazon SQS) キューを設定し、製品の Amazon SNS トピックをサブスクライブします。SNS トピックは 2 つあり、1 つはエンタイトルメントの変更用、もう 1 つはサブスクリプションの変更用です。トピック情報は、製品の作成時に AWS Marketplace Seller Operations チームから受け取った E メールメッセージに含まれていました。詳細については、「[での SaaS 製品の作成 AWS Marketplace](saas-create-product.md)」を参照してください。SNS トピックをサブスクライブすると、特定の顧客へのアクセス権の付与や取り消しなど、顧客サブスクリプションの変更に関する通知が届きます。

**注記**  
サブスクリプション変更の SNS トピックの Amazon リソースネーム (ARN) は、`arn:aws:sns:us-east-1:{{<account id>}}:aws-mp-subscription-notification-{{<product code>}}` のようになります。エンタイトルメント変更の SNS トピックの ARN は `arn:aws:sns:us-east-1:{{<account id>}}:aws-mp-entitlement-notification-{{<product code>}}` のようになります。

返答する必要がある通知は次のとおりです。
+ `entitlement-updated` (エンタイトルメント SNS トピック内) - 顧客エンタイトルメントが変更されたため、`GetEntitlements` API オペレーションを呼び出して新しいステータスを確認する必要があります。カスタマーストアを更新し、該当する場合は (例えば、顧客の契約が失効している場合)、カスタマーリソース閉鎖のプラクティスに従い、リテンションポリシーを遵守します。
+ `subscribe-success` (サブスクリプション SNS トピック内) - 顧客はサブスクライブしており、顧客 ID と正常に照合できます。
+ `unsubscribe-pending` (サブスクリプション SNS トピック内) - 顧客はサブスクリプション解除中です。最新の計測レコードはすべて送信する必要があります。
+ `unsubscribe-success` (サブスクリプション SNS トピック内) - 顧客がサブスクリプションを解除しました。顧客の計測レコードは受け付けられなくなります。顧客リソースを閉鎖する手順に従い、保存ポリシーを遵守してください。
+ `subscribe-fail` (サブスクリプション SNS トピック内) - 顧客のサブスクリプションが失敗しました。顧客の顧客 ID と照合して計測したり、顧客に代わってリソースを有効にしたりしないでください。

**注記**  
詳細については、「[を使用した使用権限の確認 AWS Marketplace Entitlement Service](checking-entitlements.md)」を参照してください。

## 従量制料金統合による SaaS 契約のテスト
<a name="saas-contract-consumption-integration-testing"></a>

契約をpay-as-you-go製品と統合したら AWS Marketplace、統合が成功するように詳細なテストを実施する必要があります。次の手順では、製品統合を確認するステップを示します。

**注記**  
自分のアカウントを使って製品をサブスクライブし、正常に統合できたことを確認します。料金を一時的に下げて、それらのアカウントで高額な料金を発生させずに購入フローをテストすることができます。価格を一時的に引き下げたり、追加のテストアカウントに製品へのアクセスを許可したりする方法について詳しくは、[AWS Marketplace Seller Operations](https://aws.amazon.com/marketplace/management/contact-us/) チームにお問い合わせください。  
製品が発売された後も、サービスは新規顧客向けに引き続きこれらのシナリオに対応する必要があります。

1. 許可したアカウントを使用して、製品を契約してカスタマーエクスペリエンスをテストします。

1. アカウントで契約した後、アカウントが登録 URL にリダイレクトされることと、そのリダイレクトが一時トークンを含む POST リクエストであることを確認します。アプリケーションが今後の通話に備えて顧客 ID を保持し、顧客が持つエンタイトルメントを正しく処理するようにしてください。これは [シナリオ: サービスが新規顧客を検証する](#saas-contract-with-pay-validate-customer) の一部をテストします。

1. 上記の手順でテストアカウントを検証したら、そのアカウントをアプリケーションにオンボードします。例えば、テスト用の顧客でフォームに入力して、新しいユーザーを作成することができます。または、SaaS アプリケーションにアクセスするための次の手順を別途用意します。これは [シナリオ: サービスが新規顧客を検証する](#saas-contract-with-pay-validate-customer) の一部をテストします。

1. `GetEntitlements` API オペレーションからエンタイトルメントが返されない場合は、オンボーディング中または検証の進行中に、エンタイトルメントのないユーザーのアクセスとエクスペリエンスを管理する方法を決定します。これは [シナリオ: サービスが顧客のリクエストを処理する](#saas-contract-with-pay-customer-requests) をテストします。

1. テスト顧客がオンボーディングされたら、 の `BatchMeterUsage` API オペレーションを使用して、 AWS 請求目的で に計測レコードを送信するリクエストを行います AWS Marketplace Metering Service。これは [シナリオ: 使用量を計測する](#saas-contract-with-pay-meter-usage) をテストします。

1. サブスクリプションの変更をテストします。サブスクリプション解除、サブスクリプション成功、サブスクリプション失敗のシナリオをアプリケーションが正しく処理することを確認します。これは [シナリオ:ユーザーエンタイトルメントの変更を監視する](#saas-contract-with-pay-monitor-changes) をテストします。

1. すべての統合要件を完了し、ソリューションをテストしたら、 AWS Marketplace Seller Operations チームに通知します。次に、`GetEntitlements` API オペレーションが正常に呼び出され、新規顧客が十分にオンボーディングされたことを確認して、ソリューションをテストします。また、`BatchMeterUsage` API オペレーションを使用して計測レコードが正常に送信されていることも確認します。

統合とテストが完了したら、最終レビューを実行し、製品を一般公開できます AWS Marketplace。詳細については、「[での SaaS 製品の作成 AWS Marketplace](saas-create-product.md)」を参照してください。