Monetization Services のインストール

Monetization Services は Apigee Edge の拡張版であるため、スタンドアロン プロセスとしては実行されません。オールインワン(AIO)構成を除き、既存の Apigee Edge 設定内で動作します。AIO 構成に Monetization Services をインストールすることはできません。

Monetization の要件

  • 複数の Management Server ノードを使用する Edge トポロジ(13 ノード構成など)に Monetization をインストールする場合は、Monetization をインストールする前に両方の Edge Management Server ノードをインストールする必要があります。
  • Edge インストール環境に複数の Postgres ノードがある Edge に Monetization をインストールするには、Postgres ノードをマスター/スタンバイモードで構成する必要があります。複数の Postgres マスターノードがある場合、Edge に Monetization をインストールすることはできません。詳細については、Postgres のマスター / スタンバイ レプリケーションを設定するをご覧ください。
  • オールインワン(AIO)構成では Monetization を使用できません。

インストールの概要

次の手順は、既存の Apigee Edge インストールに Monetization Services を追加する方法を示しています。

  • apigee-setup ユーティリティを使用して Apigee Management Server ノードを更新し、Monetization Services(カタログ管理、制限と通知の構成、請求、レポートなど)を有効にします。

    13 ノード構成など、複数の Management Server ノードがある場合は、Monetization をインストールする前に両方の Edge Management Server ノードをインストールする必要があります。

  • apigee-setup ユーティリティを使用して Apigee Message Processor を更新し、トランザクション記録ポリシーや制限の適用など、Monetization Services のランタイム コンポーネントを有効にします。複数の Message Processor がある場合は、それらすべてに Monetization をインストールします。
  • Edge 組織に対して Monetization オンボーディング プロセスを実行します。
  • 収益化をサポートするように Apigee Developer Services ポータル(略して「ポータル」)を構成します。詳細については、デベロッパー ポータルで収益化を構成するをご覧ください。

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 ノードで収益化を統合するには、次の手順を行います。

  1. 複数の Management Server ノードを使用する Edge トポロジ(13 ノード構成など)に Monetization をインストールする場合は、Monetization をインストールする前に両方の Management Server ノードがインストールされていることを確認してください。
  2. Management Server ノードで、セットアップ スクリプトを実行します。
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    -p mo オプションは、Monetization を統合することを指定します。

    構成ファイルは「apigee」ユーザーからアクセス可能で、読み取り可能である必要があります。

  3. 複数の Management Server ノードに Monetization をインストールする場合は、2 番目の Management Server ノードでステップ 2 を繰り返します。

構成が正常に完了すると、Monetization Services の RDBMS スキーマが PostgreSQL データベースに作成されます。これで、Monetization Services とその関連コンポーネントと Postgres Server の統合は完了です。

Monetization Services をすべての Message Processor と統合する

すべての Message Processor ノードで Monetization を統合するには、次の手順を行います。

  1. 最初の Message Processor ノードで、コマンド プロンプトからセットアップ スクリプトを実行します。
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    -p mo オプションは、Monetization を統合することを指定します。

    構成ファイルは「apigee」ユーザーからアクセス可能で、読み取り可能である必要があります。

  2. すべての Message Processor ノードで、この手順を繰り返します。

構成が正常に完了すると、Message Processor は Monetization Services で更新されます。これで、Monetization Services とその関連コンポーネントと Message Processor の統合が完了しました。

Monetization オンボーディング

新しい組織を作成して収益化を有効にするには:

  1. 新しい組織を作成する場合と同様に、組織を作成します。詳細については、組織のオンボーディングをご覧ください。
  2. 組織の収益化を有効にするの説明に従って、Monetization Provisioning API を使用します。これを行うには、システム管理者権限が必要です。

次回 Edge UI にログインすると、組織の最上位のメニューに [Monetization] エントリが表示されます。

収益化をサポートするようにポータルを構成するには、デベロッパー ポータルで Monetization を構成するをご覧ください。

Monetization インストールに Management Server ノードを追加する

既存の Edge インストールに Management Server を追加する場合は、Monetization サービスを新しい Management Server に追加し、すべての Management Server が通信できるように構成する必要があります。

Management Server を追加するには:

  1. 新しい Management Server をインストールします。
  2. 新しい Management Server に Monetization をインストールします。
  3. 元の Management Server で、次のように呼び出します。
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. 元の Management Server を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. 新しい Management Server で、次のように呼び出します。
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. 新しい Management Server を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

追加構成

PDF ファイルとして請求書を提供する

Monetization では、エンドユーザーに請求ドキュメントが HTML 形式で表示されます。請求ドキュメントを PDF ファイルとして提供するには、PDF 生成が可能な課金システムと Monetization を統合します。または、サポートされているサードパーティ 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

納税者番号(デフォルトは 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 で収益化にアクセスするをご覧ください。

収益化の上限

収益化の上限を適用するには、Monetization Limits Check ポリシーを API プロキシに接続します。具体的には、ポリシーは次の条件でトリガーされます。

  • 収益化対象の API にアクセスするデベロッパーが登録されていないか、料金プランに加入していない。
  • デベロッパーが、契約した料金プランの取引量を超過しました。
  • デベロッパー アカウントの前払い残高または後払い利用限度額に達している。

上記のような状況では、Monetization Limits Check ポリシーはエラーが発生し、API 呼び出しをブロックします。このポリシーは Raise Fault ポリシーを拡張し、返されるメッセージをカスタマイズできます。適用可能な条件は、ビジネス変数から導き出されます。

詳細については、API プロキシに収益化制限を適用するをご覧ください。