Amazon Web Services ブログ

AWS Marketplace SaaS Quick Start を利用した SaaS 統合の簡素化

この記事は、Christopher ‘JC’ Jackson, Leno, Sumeet Gujaran, Pawan Kumar による Using AWS Marketplace SaaS Quick Start to simplify your SaaS integration の翻訳です。

AWS Marketplace では、販売者、独立系ソフトウェアベンダー (ISV)、コンサルティングパートナー (CP) が、AWS Marketplace の SaaS 製品 API 統合をわずか 10 分程度で完了することができるようになりました。この新機能は、従来の大手エンジニアリングベンダーやサードパーティのインテグレーターに数万ドルで委託するようなエンジニアリング集約型のカスタム統合に代わって、信頼性が高く手軽な代替手段を提供します。

この Quick Start ソリューションは、販売者の SaaS ソリューションとそれに対応する AWS Marketplace 上の出品を統合するために必要なコア機能を含む、最小限のサービスのコレクションをデプロイします。

この記事では、以下のコア機能を含む SaaS 統合を成功させるために必要なものを、Quick Start ソリューションを使用してプログラム的に更新する方法について紹介します。

  • 新規顧客登録の受付
  • 顧客のアクセス権の付与と取り消し
  • 顧客のライセンスの更新
  • 契約ベースおよびサブスクリプションベースの製品向けの使用量の計測とレポート

前提条件

このソリューションを使用するには、以下の前提条件を満たしている必要があります。

ソリューション:AWS Marketplace SaaS Quick Start を利用した SaaS 統合の簡素化

ステップ 1: Quick Start の起動

AWS Quick Starts は、デプロイメントテンプレートを CloudFormation に自動的にロードするリンクを提供しています。AWS Marketplace SaaS Quick Start の場合はこちらのリンクを選択します。

ステップ 2: スタックの設定

ステップ 1 で、AWS CloudFormation のコンソールに移動しました。テンプレートソースフィールドは、あらかじめ入力されているはずです。[次へ] を選択して進んでください。

Serverless SaaS ソリューションは us-east-1 にデプロイする必要があります。現在、他のリージョンでは動作しません。リージョンが N. Virginia (us-east-1) に設定されていることを確認してください。リージョンの変更方法については、リージョンを選択するを参照してください。

2.1 スタックの詳細の指定

次の画面で、以下の入力を行います。

  • スタックの名前: デプロイメントに対して固有のスタック名を入力します。例えば、saas-serverless-integration-stack などです。
  • SaaS pricing model: ドロップダウンを使用して、contract_with_subscription, contracts, subscriptions のいずれかを選択します。これは、限定公開している製品の料金モデルに一致させる必要があります。
  • Registration page: このソリューションの一部として購入者用の登録ページをデプロイする場合は、デフォルトの true のままにしてください。独自の登録ページを実装する場合は、false に設定します。
  • S3 bucket name: 静的な HTML 登録ページのファイルを格納する S3 バケットの名前を提供します。Amazon S3 ユーザーガイドに記載されているバケット名のルールを満たす必要があります。
  • Product code: 製品の限定公開時に AWS Marketplace から提供された製品コードを入力します。
  • Subscriptions SNS topic ARN: 製品が SaaS サブスクリプションまたはサブスクリプション付き SaaS 契約の場合、製品の限定公開時に AWS Marketplace から提供されたエンタイトルメント SNS トピックを指定します。
  • Entitlements SNS topic ARN: 製品が SaaS 契約の場合、製品の限定公開時に AWS Marketplace から提供されたエンタイトルメント SNS トピックを指定します。
  • New subscribers DynamoDB table name: 購入者のサブスクリプション情報を格納するために使用される DynamoDB テーブルの一意の名前を指定します。
  • Metering records Amazon DynamoDB table name: このフィールドは、SaaS サブスクリプションまたはサブスクリプションの料金モデルを持つ SaaS 契約の場合にのみ必要です。購入者の利用状況をレポートするために使用される DynamoDB テーブルの一意の名前を指定してください。
  • Admin email address: 新規顧客登録、エンタイトルメント変更、サブスクリプションイベントの SNS 通知を受信するメールアドレスを指定します。
  • Artifact S3 bucket name: デフォルトのバケット名のまま変更しないでください。

これらの入力を行ったら、[次へ] を選択します。

2.2 スタックオプションの設定

スタックにタグを付けるなどのオプション設定があります。全てデフォルトのままにしておくことをお勧めします。[次へ] を選択します。

2.3 レビュー

CloudFormation の規約に同意し、[送信] を選択します。

2.4 スタックの作成

スタックの作成は通常 10 分ほどで完了します。すべての統合リソースが正常にデプロイされると、スタックのステータスが CREATE_COMPLETE に変わります。

ステップ 3: ソリューションの設定

顧客のトランザクションを処理する前に、以下を設定してください。

3.1 SNS サブスクリプションの確認

上記で登録した Admin email address のメールアドレスに、サポート SNS トピックのサブスクリプションを確認するためのメール通知が届きます。この SNS トピックは、新規登録やサブスクリプション/エンタイトルメントの更新に関する情報を発信します。SNS トピックのサブスクリプションを確認してください。

3.2 登録ページのセットアップ

スタックが正常に起動したら、登録ページをセットアップし、スタックが作成した API Gateway と接続します。登録ページは、先ほどのスタックによって作成されたウェブサイト S3 バケットにホストされています。

  1. Web サイトのファイルをローカルマシンにダウンロードします。
  2. ファイルを解凍し、web フォルダを開きます。
  3. スタックによってデプロイされた API Gateway の API ID を取得します。
  4. scripts.js を開き、1 行目の baseUrl プロパティを API Gateway のコンソールから取得した API ID で更新して、変更を保存します。
    以下の例では、手順 3.2 の 1-4 でファイルを変更した内容を示しています。
    変更前: const baseUrl = ‘https://API-ID.execute-api.us-east-1.amazonaws.com/Prod/’;
    変更後: const baseUrl = ‘https://qy7ryx6nkg.execute-api.us-east-1.amazonaws.com/Prod/’;
  5. S3 コンソールでスタックによって作成されたウェブサイト S3 バケットを開き、web フォルダ内の 5 つのファイルを S3 バケットにアップロードします。

これで統合は完了です。

3.3 AWS Marketplace からの適格なリダイレクトの作成

登録ページの低レイテンシーを確保するために CloudFront ディストリビューションを使用しているので、SaaS fulfillment URL にはスタックによって作成されたディストリビューションの CloudFront CName (ドメイン名) を使用します。ドメイン名を取得するには、以下を実施します。

  1. CloudFront のコンソールにアクセスします。左サイドバーのディストリビューションから、スタック実行後に生成された ID を選択します。ディストリビューションドメイン名をコピーします。ステップ 3.4 の SaaS URL フィールドにこれを貼り付けます。
  2. ディストリビューションドメイン名に直接アクセスしようとすると、Registration Token Missing というエラーが表示されるはずです。これは、AWS Marketplace からの適格なリダイレクトを使わずにアクセスしようとしているためです。

3.4 限定公開されている SaaS 製品の SaaS URL の更新

AWS Marketplace ポータルに移動して、AWS Marketplace 管理ポータル上の限定公開されている出品リストに対するオープンリクエストにアクセスします。Products のドロップダウンから SaaS を選択し、出品中の SaaS 製品を選択、SaaS URL を更新して、送信するオプションが表示されるまで次をクリックします。これにより、SaaS の URL を更新するためのリクエストが AWS Marketplace に送信されます。

おめでとうございます。AWS Marketplace Seller Operations チームが、限定公開されている SaaS 製品の SaaS URL を更新し、統合が完了しました。

まとめと次のステップ

この記事では、Marketplace Quick Start ソリューションを使用して、SaaS オファリングのシンプルな統合を実行する方法を紹介しました。より詳細な開始方法については、AWS Marketplace getting started guide をご覧ください。SaaS の出品プロセスについては、Getting started with SaaS products guide をご覧ください。また、『AWS Marketplaceで SaaS 契約ソリューションの出品を成功させるためのベストプラクティスガイド』もご覧になることをお勧めします。

翻訳はパートナー SA の櫻谷が行いました。