Monetization Services は Apigee Edge の拡張機能であるため、スタンドアロン プロセスとしては動作しません。Monetization Services は、既存の Apigee Edge 環境内で稼働します。ただしオールインワン(AIO)構成は例外です。Monetization Services は AIO 構成にインストールできません。
収益化の要件
- 複数の Management Server ノードを使用する Edge トポロジ(13 ノード構成など)に Monetization をインストールする場合は、Monetization をインストールする前に両方の Edge Management Server ノードをインストールする必要があります。
- 複数の Postgres ノードがある Edge インストール環境に Monetization をインストールする場合は、Postgres ノードをマスター/スタンバイ モードで構成する必要があります。複数の Postgres マスターノードがある場合、Edge に Monetization をインストールすることはできません。詳細については、Postgres のマスター / スタンバイ レプリケーションを設定するをご覧ください。
- Monetization は、オールインワン(AIO)構成では使用できません。
インストールの概要
次の手順は、既存の Apigee Edge インストール環境に Monetization Services を追加する方法を示しています。
apigee-setup
ユーティリティを使用して Apigee Management Server ノードを更新し、カタログ管理、制限と通知の構成、課金、レポートなどの収益化サービスを有効にします。複数の Management Server ノードが存在する場合は(13 ノード構成など)、Monetization をインストールする前に両方の Edge Management Server ノードをインストールする必要があります。
apigee-setup
ユーティリティを使用して Apigee Message Processor を更新し、トランザクション記録ポリシーや上限適用などの Monetization Services のランタイム コンポーネントを有効にします。複数の Message Processor がある場合は、そのすべてに Monetization をインストールします。- Edge 組織に対して Monetization オンボーディング プロセスを行います。
- Apigee Developer Services ポータル(略して「ポータル」)で収益化がサポートされるようにします。詳細については、デベロッパー ポータルで Monetization を構成するをご覧ください。
Monetization 用のサイレント構成ファイルを作成する
次の例は、Monetization インストール用のサイレント構成ファイルを示しています。実際の構成に応じて、このファイルを編集します。このファイルを組み込むには、setup.sh の -f オプションを使用します。
# Edge configuration properties # Specify IP address or DNS name of node. IP1=192.168.1.1 # Management Server, OpenLDAP, UI, ZooKeeper, Cassandra IP2=192.168.1.2 # ZooKeeper, Cassandra IP3=192.168.1.3 # ZooKeeper, Cassandra IP4=192.168.1.4 # Router, Message Processor IP5=192.168.1.5 # Router, Message Processor IP6=192.168.1.6 # Qpid IP7=192.168.1.7 # Qpid IP8=192.168.1.8 # Postgres IP9=192.168.1.9 # Postgres # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Edge sys admin credentials ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=yourPassword # If omitted, you are prompted for it. # Specify the Management Server port. APIGEE_PORT_HTTP_MS=8080 # # Monetization configuration properties. # # Postgres credentials from Edge installation. PG_USER=apigee # Default from Edge installation PG_PWD=postgres # Default from Edge installation # Specify Postgres server. MO_PG_HOST="$IP8" # Only specify one Postgres node. # Create a Postgres user for Monetization. # Default username is "postgre". # If you specify a different user, that user must already exist. MO_PG_USER=postgre MO_PG_PASSWD=moUserPWord # Specify one ZooKeeper host. # Ensure this is a ZooKeeper leader node in a multi-datacenter environment. ZK_HOSTS="$IP2" # Specify Cassandra information. # Ensure CASS_HOSTS is set to the same value as when you installed Edge. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Default is "Apigee", unless it was changed during Edge install. CASS_CLUSTERNAME=Apigee # Cassandra uname/pword required only if you enabled Cassandra authentication. # If your password uses special characters, wrap it in single quotes. # CASS_USERNAME= # CASS_PASSWORD= # Specify the region. # Default is dc-1 unless you are in a multi-datacenter environment. REGION=dc-1 # If your Edge config file did not specify SMTP information, add it. # Monetization requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
注:
- Edge 構成ファイルに SMTP 情報が指定されていない場合は追加します。 Monetization には、SMTP サーバーが必要です。
- 単一のデータセンターのインストールでは、ZooKeeper ノードの数が奇数の場合は、それらを
voters
として構成します。ZooKeeper ノードの数が偶数の場合は、一部のノードをobservers
として構成します。偶数のデータセンターにわたって Edge をインストールする場合は、一部の ZooKeeper ノードをobservers
として構成して、ボーターノードの数を奇数にする必要があります。ZooKeeper リーダー選出時に、1 つのボーターノードがleader
として選出されます。上記のZK_HOSTS
プロパティにより、複数データセンター インストールにおけるリーダーノードが指定されていることを確認してください。 - Cassandra 認証を有効にする場合は、次のプロパティを使用して Cassandra のユーザー名とパスワードを渡すことができます。
CASS_USERNAME CASS_PASSWORD
Monetization Services をすべての Management Server と統合する
Management Server ノード上の Monetization を統合するには、次の手順に従います。
- 複数の Management Server ノードを使用する Edge トポロジ(13 ノード構成など)に Monetization をインストールする場合は、Monetization をインストールする前に両方の Management Server ノードがインストールされていることを確認します。
- Management Server ノードで、セットアップ スクリプトを実行します。
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
-p mo
オプションは、Monetization を統合することを指定します。構成ファイルは「apigee」ユーザーがアクセス可能または読み取り可能である必要があります。
- 複数の Management Server ノードに Monetization をインストールする場合は、2 番目の Management Server ノードでステップ 2 を繰り返します。
構成が正常に行われると、Monetization Services の RDBMS スキーマが PostgreSQL データベースに作成されます。これで、Monetization Services とその関連コンポーネントと Postgres Server の統合が完了しました。
Monetization Services をすべての Message Processor と統合する
すべての Message Processor ノードで Monetization を統合するには、次の操作を行います。
- 最初の Message Processor ノードで、コマンド プロンプトで設定スクリプトを実行します。
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
-p mo
オプションは、Monetization を統合するよう指定します。構成ファイルは、「apigee」ユーザーがアクセス可能または読み取り可能である必要があります。
- すべての Message Processor ノードに対して、この手順を繰り返します。
構成が成功すると、Message Processor が Monetization Services で更新されます。これで、Monetization Services とその関連コンポーネントと Message Processor の統合が完了しました。
Monetization オンボーディング
新しい組織を作成して Monetization を有効にするには:
- 新しい組織を作成する場合と同じように組織を作成します。詳細については、組織のオンボーディングをご覧ください。
- 組織の収益化を有効にするの説明に従って Monetization Provisioning API を使用します。これを行うには、システム管理者権限が必要です。
次回 Edge UI にログインすると、組織の最上位レベルメニューに Monetization の項目が追加されています。
ポータルで収益化をサポートするには、デベロッパー ポータルで Monetization を構成するをご覧ください。
Monetization インストールに Management Server ノードを追加する
既存の Edge インストールに Management Server を追加する場合、新しい Management Server に Monetization Services を追加して、すべての Management Server を通信できるように構成する必要があります。
Management Server を追加するには:
- 新しい Management Server をインストールします。
- 新しい Management Server に Monetization をインストールします。
- 既存の Management Server で次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
- 既存の Management Server を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- 新しい Management Server で次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
- 新しい Management Server を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
追加構成
請求書を PDF ファイルとして提出する
Monetization では、エンドユーザーに請求書が HTML 形式で表示されます。請求書を PDF ファイルとして提出するには、Monetization を PDF 生成を提供する課金システムと統合するか、サポートされているサードパーティの PDF ライブラリのライセンスを付与します。
組織の設定を構成する
組織の属性を追加または更新するには、次の例のように PUT
リクエストを使用できます。
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \ -v http://ms_IP:8080/v1/organizations/orgId -d 'org object with attributes' -X PUT
Monetization から組織の設定が返されます。例:
{ ... "displayName": "Orgnization name", "name": "org4", "properties": { "property": [ ... { "name": "MINT_CURRENCY", "value": "USD" }, { "name": "MINT_COUNTRY", "value": "US" }, { "name": "MINT_TIMEZONE", "value": "GMT" } ] } }
次の表に、収益化組織の構成に使用可能な組織レベルの属性を示します。
属性 | 説明 |
---|---|
MINT_TAX_MODEL
|
許容される値は "DISCLOSED"、"UNDISCLOSED"、"HYBRID"(デフォルトは null) |
MINT_CURRENCY
|
ISO 通貨コード(デフォルトは null) |
MINT_TAX_NEXUS
|
税金のネクサス(デフォルトは null) |
MINT_DEFAULT_PROD_TAX_CATEGORY
|
デフォルトの製品税のカテゴリ(デフォルトは null) |
MINT_IS_GROUP_ORG
|
IS グループの組織(デフォルトは「false」) |
MINT_HAS_BROKER
|
破損あり(デフォルトは false) |
MINT_TIMEZONE
|
タイムゾーン(デフォルトは null) |
MINT_TAX_ENGINE_EXTERNAL_ID
|
税務エンジン ID(デフォルトは null) |
MINT_COUNTRY
|
組織の国(デフォルトは null) |
MINT_REG_NO
|
組織の登録番号。英国では納税者番号とは異なる番号が与えられます(デフォルトは null)。 |
MINT_BILLING_CYCLE_TYPE
|
"PRORATED"、"CALENDAR_MONTH"(デフォルトは "CALENDAR_MONTH") |
MINT_SUPPORTED_BILLING_TYPE
|
"PREPAID"/"POSTPAID"/"BOTH"(デフォルトは "PREPAID") |
MINT_IS_SEPARATE_INV_FOR_FEES
|
個別の料金請求を生成する必要があるかどうかを示します(デフォルトは "false") |
MINT_ISSUE_NETTING_STMT
|
相殺明細書を発行する必要があるかどうかを示します(デフォルトは "false")。 |
MINT_NETTING_STMT_PER_CURRENCY
|
相殺明細書を通貨ごとに生成する必要があるかどうかを示します(デフォルトは "false")。 |
MINT_HAS_SELF_BILLING
|
組織が自己請求を持つかどうかを示します(デフォルトは "false")。 |
MINT_SELF_BILLING_FOR_ALL_DEV
|
すべてのデベロッパーについて組織が自己請求を持つかどうかを示します(デフォルトは "false")。 |
MINT_HAS_SEPARATE_INV_FOR_PROD
|
組織がプロダクトごとに個別の請求書を持つかどうかを示します(デフォルトは "false")。 |
MINT_HAS_BILLING_ADJUSTMENT
|
組織が請求額の調整をサポートしているかどうかを示します(デフォルトは "false")。 |
features.isMonetizationEnabled
|
収益化固有のメニューを表示するために管理 UI で使用されます(デフォルトは "false") |
ui.config.isOperator
|
プロバイダをオペレーターと組織として表示するために管理 UI で使用されます(デフォルトは true) |
管理 UI を使用してビジネス組織の設定を構成する場合は、 Edge で収益化にアクセスするをご覧ください。
収益化の制限
収益化制限を適用するには、API プロキシに Monetization Limits Check ポリシーを接続します。具体的には、このポリシーは次の条件の下でトリガーされます。
- 収益化対象の API にアクセスするデベロッパーが登録されていないか、料金プランに登録していません。
- デベロッパーが、定期購入した料金プランのトランザクション ボリュームを超過した。
- デベロッパーの前払いアカウント残高または後払い利用限度額に達しました。
上記のような状況が発生すると、Monetization Limits Check ポリシーの違反と見なされ、API 呼び出しがブロックされます。このポリシーは Raise Fault ポリシーを拡張するものであり、返されるメッセージをカスタマイズできます。該当する条件は、ビジネス変数から導出されます。
詳細については、API プロキシに収益化制限を適用するをご覧ください。