Edge for Private Cloud バージョン 4.17.05
Monetization Services は Apigee Edge の拡張版であるため、スタンドアロン プロセスとしては実行されません。既存の Apigee Edge 設定内で実行されます。
Monetization の要件
- 複数の Management Server ノードを使用する Edge トポロジ(13 ノード構成など)に Monetization をインストールする場合は、Monetization をインストールする前に両方の Edge Management Server ノードをインストールする必要があります。
- Edge インストール環境に複数の Postgres ノードがある Edge に Monetization をインストールするには、Postgres ノードをマスター/スタンバイモードで構成する必要があります。複数の Postgres マスターノードがある場合、Edge に Monetization をインストールすることはできません。詳細については、Postgres のマスター / スタンバイ レプリケーションを設定するをご覧ください。
インストールの概要
次の手順は、既存の Apigee Edge インストールに Monetization Services を追加する方法を示しています。
- apigee-setup ユーティリティを使用して Apigee Management Server ノードを更新し、Monetization Services(カタログ管理、制限と通知の構成、課金、レポートなど)を有効にします。
複数の Management Server ノードがある(13 ノード構成など)場合は、Monetization をインストールする前に両方の Edge Management Server ノードをインストールする必要があります。 - apigee-setup ユーティリティを使用して Apigee Message Processor を更新し、トランザクション記録ポリシーや上限の適用など、Monetization Services のランタイム コンポーネントを有効にします。複数の Message Processor がある場合は、それらすべてに Monetization をインストールします。
- Edge 組織に対して Monetization オンボーディング プロセスを実行します。
- 収益化をサポートするように Developer Services ポータルを構成します。詳しくは、http://apigee.com/docs/monetization/content/configure-monetization-developer-portal をご覧ください。
Monetization 用のサイレント構成ファイルを作成する
以下は、Monetization インストール用のサイレント構成ファイルの例です。構成ファイルを必要に応じて編集してください。このファイルを含めるには、setup.sh で -f オプションを使用します。
注: 通常、これらのプロパティは、Edge のインストールに使用したのと同じ構成ファイルに追加します。ノードに Edge コンポーネントをインストールするをご覧ください。
# 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. # 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 ノードがデフォルトでリーダーとして構成されます。複数のデータセンターに Edge をインストールする場合、一部の ZooKeeper ノードはオブザーバーとして構成されます。上記の ZK_HOSTS プロパティにより、複数データセンター インストールにおけるリーダーノードが指定されていることを確認してください。
- Cassandra 認証を有効にする場合は、次のプロパティを使用して Cassandra のユーザー名とパスワードを渡すことができます。
CASS_USERNAME
CASS_PASSWORD
Monetization Services をすべての Management Server と統合する
Management Server ノードで収益化を統合するには、次の手順を行います。
- 複数の 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 オンボーディング
収益化を有効にした新しい組織を作成するには、新しい組織を作成する場合と同様に、まず組織を作成します。詳細については、組織のオンボーディングをご覧ください。
組織の収益化を有効にするための追加のオンボーディング
組織の収益化オンボーディングを完了するには、以下を行う必要があります。
- 収益化グループ mxgroup を作成します。
- Qpid をグループに追加します。
- 組織の収益化を有効にする。
- 組織の通知設定を有効にします。
- 収益化を有効にするすべての組織に対して、この手順を繰り返します。
これらのタスクをすべて行うには、enable-monetization コマンドを使用します。このスクリプトは、次のプロパティを含む構成ファイルを作成します。
MSIP=IPorDNSofManagementServer APIGEE_PORT_HTTP_MS=8080 # Default is 8080. ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=yourPassword # If omitted, you are prompted for it. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Space-separated list IP/DNS names of all Qpid nodes in the data center being configured. QPID_HOST="$IP6 $IP7" QPID_PORT=8083 # Default is 8083. REGION=dc-1 ORG_NAME=myorg # The Edge org where you want to enable monetization. MX_GROUP=mxgroup # Default Monetization group.
Notes:
- CASS_HOSTS と REGION を、Monetization のインストール時に使用した値に設定します。
- マルチデータセンター構成で Monetization を有効にする場合:
- 各データセンターの Management Server でオンボーディング プロセスを繰り返す必要があります。
- 構成ファイルには、構成するデータセンター内の Qpid ノードのみを記載してください。
このスクリプトを実行するには、次のようにします。
- スクリプトを実行します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile
構成ファイルは、「apigee」ユーザーがアクセス可能または読み取り可能である必要があります。
Management Server が複数ある場合、このスクリプトを実行する必要があるのは 1 つだけです。
このスクリプトは、Cassandra データベースから Monetization PostgreSQL データベースに組織、プロダクト、デベロッパー、アプリケーションを複製します。Monetization Services が正常にインストールされると、データは自動的に同期されます。 - 収益化を有効にするすべての組織に対して、この手順を繰り返します。
- 複数のデータセンター環境にいる場合は、他のデータセンターの Management Server でもこのプロセスを繰り返します。構成ファイルに、構成対象のデータセンター内の Qpid ノードのみが含まれていることを確認します。
次回 Edge UI にログインすると、組織の最上位のメニューに [Monetization] エントリが表示されます。
Developer Services ポータルを構成する
収益化をサポートするように Developer Services ポータルを構成するには、http://apigee.com/docs/monetization/content/configure-monetization-developer-portal をご覧ください。
Monetization インストールに Management Server ノードを追加する
既存の Edge インストールに Management Server を追加する場合は、Monetization サービスを新しい Management Server に追加し、すべての 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 ファイルとして提供するには、PDF 生成が可能な課金システムと Monetization を統合します。または、サポートされているサードパーティ PDF ライブラリにライセンスを付与することもできます。
組織の設定を構成する
バックエンドの設定: 次の表に、ミント組織の構成に使用できる組織レベルの属性を示します。次のように PUT 呼び出しを使用して、これらの属性を追加または更新できます。
> curl -u ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT
たとえば、上記の CURL コマンドの出力は次のようになります。
{
...
"displayName": "Orgnization name",
"name": "org4",
"properties": {
"property": [
...
{
"name": "MINT_CURRENCY",
"value": "USD"
},
{
"name": "MINT_COUNTRY",
"value": "US"
},
{
"name": "MINT_TIMEZONE",
"value": "GMT"
}
]
}
}
Attributes |
Description |
---|---|
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 |
納税者番号(デフォルトは 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 を使用してビジネス組織の設定を構成する方法については、http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services をご覧ください。
注: Monetization Services の制限と通知機能を使用している場合は、アクセス トークン検証ポリシーの後に、プロキシフローで制限ポリシーを適用するようデベロッパーに指示してください。
制限ポリシーは、特定の制限に達した場合に API 呼び出しをブロックするように設計された明示的なポリシーです。このポリシーはビジネスの上限をチェックし、構成された値を超える上限がある場合はエラーを発生させます。これは Raise Fault ポリシーの拡張ですが、条件はビジネス変数から派生します。
プロキシ デベロッパー向けには、管理 UI で UI テンプレートが用意されています。プロキシ デベロッパーは、メッセージ フローでミント ポリシーを添付する必要があります。このポリシーを実行すると、ポリシーに従った障害レスポンスとともにエラーが生成されます。ContinueOnError が true に設定されている場合は、障害は発生せず、フロー変数「mint.limitsViolated」、「mint.isDevelopersuspend」、「mint.limitsPolicyError」の各変数が設定されます。これらの変数は、必要に応じてさらなる例外処理に使用できます。