製品と AWS Marketplace との統合は、AWS Marketplace での SaaS 製品の作成 における 1 つのステップです。Software as a Service (SaaS) サブスクリプション製品を AWS Marketplace と統合するには、コードを記述し、複数の顧客シナリオに適切に対応できることを実証する必要があります。以下のセクションでは、SaaS サブスクリプションモデルを AWS Marketplace と統合する方法を示します。
注記
開始する前に、AWS Marketplace で対象の Software as a Service (SaaS) 製品に適した料金モデルを選択していることを確認してください。詳細については、「SaaS 製品の計画」を参照してください。
トピック
シナリオ: サービスが新規顧客を検証する
顧客が製品をサブスクライブすると、その顧客は登録 URL (一時的な x-amzn-marketplace-token
トークンを含む HTTP POST リクエスト) にリダイレクトされます。このリクエストには、次の方法で応答します。
-
AWS Marketplace Metering Service で
ResolveCustomer
API オペレーションを呼び出して、CustomerIdentifier
、CustomerAWSAccountId
、ProductCode
のトークンを交換します。 -
CustomerIdentifier
、CustomerAWSAccountID
、ProductCode
は、今後の呼び出しに備えてシステム内に残しておきます。顧客が有効なサブスクリプションを持っているかどうかと、顧客について必要な情報をすべて保存する必要があります。 -
リクエストへの対応として、ユーザーが初めて使用するときの操作を (サービスに応じて) 表示する必要があります。
シナリオ: 使用量を計測する
顧客がサービスを利用し始めたら、計測レコードを 1 時間ごとに送信する必要があります。計測の詳細については、SaaS サブスクリプションでの使用量の計測の設定 を参照してください。
AWS CloudTrail を使用してアクティビティをモニタリングして、請求情報が AWS に送信されていることを確認することをお勧めします。計測レコードを送信する場合は、次の点に注意してください。
-
計測リクエストは、毎時 0 分に重複排除されます。
-
送信したレコードは 1 時間ごとに累積されます。
-
過去 1 時間以内にレコードがない場合でも、ベストプラクティスとして、使用量 0 の計測レコードを 1 時間ごとに送信することを強くお勧めします。
シナリオ: ユーザーサブスクリプションの変更を監視する
Amazon Simple Queue Service (Amazon SQS) キューを設定し、製品の Amazon SNS トピックをサブスクライブします。SNS トピック情報は、製品を作成したときに AWS Marketplace Seller Operations チームから届いた E メールメッセージに含まれていたものです。詳細については、「AWS Marketplace での SaaS 製品の作成」を参照してください。SNS トピックをサブスクライブすると、特定の顧客へのアクセス権の付与や取り消しなど、顧客のサブスクリプションの変更に関する通知が届きます。
注記
Amazon SNS トピックの Amazon リソースネーム (ARN) は arn:aws:sns:us-east-1:
のようになります。<account
id>
:aws-mp-subscription-notification-<product
code>
応答する必要がある通知は以下のとおりです。
-
subscribe-success
- 顧客がサブスクライブされ、顧客 ID に照合して正常に計測できる。 -
unsubscribe-pending
- 顧客がサブスクリプション解除中である。最新の計測レコードはすべて送信する必要があります。 -
unsubscribe-success
- 顧客が購読を解除した。顧客の計測レコードは受け付けられなくなります。顧客リソースを閉鎖する手順に従い、保存ポリシーを遵守してください。 -
subscribe-fail
- 顧客のサブスクリプションが失敗した。顧客 ID に照合して計測したり、顧客に代わってリソースを作成したりしないでください。
シナリオ: 顧客のサブスクリプションを確認する
顧客に代わってリソースを作成する前に、顧客が製品にアクセスできることを確認してください。Amazon SQS 経由で受け取った通知から顧客の最新のステータスを保存し、顧客にアクセス許可があるかどうかを確認できます。
SaaS サブスクリプション製品統合のテスト
SaaS サブスクリプション製品を AWS Marketplace と統合したら、詳細なテストを実施して問題なく統合できることを確認する必要があります。次の手順では、製品統合を確認するステップを示します。
注記
自分のアカウントを使って製品をサブスクライブし、正常に統合できたことを確認します。料金を一時的に下げて、それらのアカウントで高額な料金を発生させずに購入フローをテストすることができます。価格を一時的に引き下げたり、追加のテストアカウントに製品へのアクセスを許可したりする方法について詳しくは、AWS Marketplace Seller Operations
製品が発売された後も、サービスは新規顧客向けに引き続きこれらのシナリオに対応する必要があります。
-
許可したアカウントを使用して、製品をサブスクライブしてカスタマーエクスペリエンスをテストします。
-
許可したアカウントでサブスクライブした後、アカウントが登録 URL にリダイレクトされることと、そのリダイレクトが一時トークンを含む POST リクエストであることを確認します。将来の呼び出しに備えて、アプリケーションに顧客 ID が保持されていることを確認します。これは シナリオ: サービスが新規顧客を検証する の一部をテストします。
-
上記の手順でテストアカウントを検証したら、そのアカウントをアプリケーションにオンボードします。例えば、テスト用の顧客でフォームに入力して、新しいユーザーを作成することができます。または、SaaS アプリケーションにアクセスするための次の手順を別途用意します。これは シナリオ: サービスが新規顧客を検証する の一部をテストします。
-
テスト用の顧客が登録されたら、AWS Marketplace Metering Service の
BatchMeterUsage
API オペレーションを使用して、請求を目的として計測レコードを AWS に送信するリクエストを行います。これは シナリオ: 使用量を計測する をテストします。 -
サブスクリプションの変更をテストします。考えられるシナリオには、サブスクリプションの解除、サブスクリプションの成功、サブスクリプションの失敗などがあります。これは シナリオ: ユーザーサブスクリプションの変更を監視する をテストします。
-
サブスクリプションの成功を確認します。テストアカウントでサブスクリプションの成功のメッセージの Amazon SNS 通知を受け取ると、計測を開始できます。この Amazon SNS 通知を受け取る前に AWS Marketplace Metering Service に送信したレコードは計測されません。これは シナリオ: 顧客のサブスクリプションを確認する をテストします。
注記
請求に関する問題を防ぐため、プログラムでこの通知を待ってから顧客のためのリソースを起動することを強くお勧めします。
-
統合のすべての要件を満たし、ソリューションのテストが完了したら、AWS Marketplace Seller Operations チームに通知します。
BatchMeterUsage
API オペレーションで計測レコードが正常に送信されたことを確認して、ソリューションに関する一連の最終テストを実行します。
統合とテストが完了したら、最終レビューを行い、公開 AWS Marketplace に製品を掲載することができます。詳細については、「AWS Marketplace での SaaS 製品の作成」を参照してください。