API Management での収益化のサポート方法
適用対象: すべての API Management レベル
Azure API Management サービス プラットフォームを使用すると、以下が可能になります。
- コンシューマーがサブスクライブする API を発行します。
- 実装のリスクを軽減します。
- プロジェクトのタイムスケールを加速します。
- 自信を持って API をスケーリングします。
このドキュメントでは、収益化戦略の導入を可能にする API Management の機能について説明します。これには、以下に対する摩擦のないエクスペリエンスの提供が含まれます。
- パブリック API を検出する。
- 支払いの詳細を入力する。
- サブスクリプションをアクティブ化する。
- API を使用する。
- 使用状況を監視する。
- API の使用に対して自動的に支払いを行う。
次の図は、こうした主な API Management の機能を示しています。
API の検出
API Management 組み込みの開発者ポータルを使用して API を起動し、API コンシューマーをオンボードします。 開発者ポータルの高品質な開発コンテンツを強調することで、API コンシューマーが API をシームレスに探索して使用できるようにします。 提供されるコンテンツと情報のアクセシビリティ、周到さ、使いやすさをテストします。
コンテンツを追加し、開発者ポータルのブランドをコントロールする方法の詳細については、「開発者ポータルの概要」をご覧ください。
API のパッケージ化
API Management は、製品とポリシーの概念を使用して、API がパッケージ化および提供される方法を管理します。
製品
API は、製品を通じて発行されます。 製品では、以下を定義できます。
- サブスクライバーがアクセスできる API。
- 特定のサブスクリプションを 1 か月あたりの呼び出しのクォータにより制限するなどの、特定の調整ポリシー。
製品をサブスクライブした API コンシューマーは API キーを受け取り、それを使用して呼び出しを行います。 最初、サブスクリプションは submitted
状態に設定されています。 サブスクリプションをアクティブ化して、サブスクライバーが API を使用できるようにします。
以下により、API Management 製品を構成して、収益モデルを反映するように基になる API をパッケージ化します。
- 収益モデルの各層間の 1 対 1 のリレーションシップ。
- 対応する API Management 製品。
プロジェクトの例では、収益化戦略を体系化するための最上位レベルの手段として、API Management 製品を使用します。 API Management 製品は収益モデル層を反映し、各層の特定の価格モデルにインデックスを付けます。 このセットアップでは、収益化戦略を準備するための柔軟で構成に基づくアプローチが提供されます。
ポリシー
各製品のサービスの品質を制御するための API Management ポリシーを適用します。 プロジェクトの例では、収益モデルに合わせて以下の 2 つの特定のポリシー機能を使用して、サービスの品質を制御します。
ポリシー機能 | 説明 |
---|---|
[クォータ] | 指定した期間にユーザーが API に対して実行できる呼び出しの総数を規定します。 たとえば、"1 か月あたり 100 回の呼び出し" などです。 ユーザーがクォータに達すると、API の呼び出しは失敗し、呼び出し元は 403 Forbidden の応答状態コードを受け取ります。 |
レート制限 | 移動する時間枠内で API に対して実行できる呼び出しの数を規定します。 たとえば、"1 分あたり 200 回の呼び出し" などです。 選択した製品で支払い済みのサービス品質を超えて、API の使用が急増するのを防ぐ目的で設計されています。 この呼び出しレートを超えると、呼び出し元は 429 Too Many Requests 応答状態コードを受信します。 |
ポリシーについて詳しくは、「Azure API Management のポリシー」ドキュメントをご覧ください。
API の使用
API サブスクリプションを使用して、API コンシューマーに製品を介して API へのアクセス権を付与します。
- API コンシューマーは、特定の API Management 製品にサインアップするときに API サブスクリプションを開設します。
- API Management の委任を使用して、サブスクリプション プロセスを支払プロバイダーに統合します。
- 支払いの詳細が正常に提供されると、ユーザーはサブスクリプションに対して生成された一意のセキュリティ キーを使用して API にアクセスできます。
サブスクリプションの詳細については、「Azure API Management のサブスクリプション」ドキュメントをご覧ください。
API 使用の監視
API の使用状況とパフォーマンスに関する分析情報は、API Management の組み込み分析を使用して得ることができます。 これらの分析は、以下の内容でレポートを提供します。
- API
- [地理的な場所]
- API 操作
- 製品
- Request
- サブスクリプション
- Time
- User
分析レポートを定期的に確認して、収益化戦略が API コンシューマーによってどのように採用されているのかを理解します。
詳細については、「Azure API Management で API 分析を取得する」をご覧ください。
セキュリティ
API Management の製品、API ポリシー、サブスクリプションを使用して、各ユーザーと各製品のアクセス レベルを制御します。 特定の API 製品が無料である場合でも、ユーザーが支払プロバイダーによって正常に認証された場合にサブスクリプション レベルの API アクセスを許可することで、誤用や不正使用を防ぎます。
統合
API Management と選択した支払プロバイダーの間のフロントエンドとバック エンドの両方の統合を通じて、シームレスな収益化エクスペリエンスを構築します。 フロントエンドの統合に API Management の委任を使用し、バックエンドの統合には REST API を使用します。
委任
プロジェクトの例では、API Management の委任を使用してサードパーティの支払プロバイダーとのカスタム統合を行うことができます。 このデモでは、サインアップ/サインインと製品サブスクリプションの両方のエクスペリエンスに委任を使用します。
サインアップ/サインイン ワークフロー
- 開発者が、API Management 開発者ポータルのサインインまたはサインアップ リンクをクリックします。
- ブラウザーは委任エンドポイントにリダイレクトされます (カスタム課金ポータル アプリのページに設定されています)。
- カスタム課金ポータル アプリで、サインイン/サインアップ UI が表示されます。
- サインイン/サインアップが成功すると、ユーザーは認証され、最初の API Management 開発者ポータル ページにリダイレクトされて戻ります。
製品サブスクリプションのワークフロー
- 開発者が API Management 開発者ポータルで製品を選択し、 [サブスクライブ] ボタンをクリックします。
- ブラウザーは委任エンドポイントにリダイレクトされます (カスタム課金ポータル アプリのページに設定されています)。
- カスタム課金ポータル アプリで、以下が行われます。
- 支払プロバイダー (Stripe または Adyen) に基づいて構成された UI を表示します。
- ユーザーに該当する精算プロセスを案内します。
- ユーザーは最初の API Management 製品ページにリダイレクトされて戻ります。
- 製品はアクティブとなり、API キーを使用できるようになります。
REST API
収益化戦略の運用を自動化するには、API Management 用 REST API を使用します。
サンプル プロジェクトでは、API を使用して以下をプログラム的に実行します。
- API Management 製品およびポリシーを取得して、Stripe などの支払プロバイダーにおける同様の概念を同期的に構成できるようにします。
- API Management を定期的にポーリングして、各サブスクリプションの API 使用状況のメトリックを取得し、課金プロセスを開始します。
詳しくは、REST API Azure API Management の概要に関するページをご覧ください。
DevOps
Azure Resource Manager を使用して、API Management に対するデプロイの変更の自動化とバージョン管理を行います。収益化戦略を実装する、以下のような機能の構成などが含まれます。
- 製品
- ポリシー
- 開発者ポータル
プロジェクトの例では、Azure Resource Manager スクリプトは JSON ファイルによって拡張されており、各 API Management 製品の価格モデルが定義されています。 この拡張により、API Management と選択した支払プロバイダーの間の構成を同期できます。 ソリューション全体は、単一のソース管理リポジトリで管理され、以下を可能にします。
- 進行中の収益化戦略の進化に関連するすべての変更を 1 回のリリースとして調整します。
- ガバナンスと監査の要件に従って変更を実施します。
初期化とデプロイ
API Management は、次のいずれかを使用してデプロイできます。
- Azure portal UI。
- Azure Resource Manager テンプレートを使用した "コードとしてのインフラストラクチャ" アプローチ。
ビデオ
API Management を Adyen 支払ゲートウェイと統合する
API Management を Stripe 支払ゲートウェイと統合する
次のステップ
- API Management 収益化戦略の詳細についてご確認ください。
- 関連する Git リポジトリを使用して、Adyen または Stripe 統合のデモをデプロイします。