Monetization Services のインストール

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

収益化の要件

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

インストールの概要

既存の Apigee Edge インストールに Monetization Services を追加する手順は次のとおりです。

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

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

  • apigee-setup ユーティリティを使用して Apigee Message Processor を更新し、Monetization Services のランタイム コンポーネント(トランザクション記録ポリシーや上限適用など)を有効にします。複数の Message Processor がある場合は、すべての 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, SymasLDAP, New Edge 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 ノードがデフォルトでリーダーとして構成されます。複数のデータセンターにわたって Edge をインストールする場合は、一部の ZooKeeper ノードがオブザーバーとして構成されます。上記の ZK_HOSTS プロパティにより、複数データセンター インストールにおけるリーダーノードが指定されていることを確認してください。
  • Cassandra 認証を有効にする場合は、次のプロパティを使用して Cassandra のユーザー名とパスワードを渡すことができます。
    CASS_USERNAME
    CASS_PASSWORD

Monetization Services をすべての Management Server と統合する

次の手順で、Management Server ノードで収益化を統合します。

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

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

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

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

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

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

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

  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. 組織の収益化を有効にするの説明に沿って、収益化プロビジョニング API を使用します。これを行うには、システム管理者権限が必要です。

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

新しい Edge UI の [Monetization] メニュー

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

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

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

Management Server を追加するには:

  1. 新しい Management Server をインストールします。
  2. 次のコマンドを使用して、新しい Management Server に Monetization をインストールします。
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f /opt/silent.conf

追加構成

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

収益化は、組織の設定を返します。次に例を示します。

{
  ...
  "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

グループ組織かどうか(デフォルトは「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

新しい Edge UI で収益化固有のメニューを表示するために使用されます(デフォルトは "false")。

ui.config.isOperator

プロバイダを運営者と組織のどちらとして表示するかを決定するために新しい Edge UI によって使用されます(デフォルトは "true")。

新しい Edge UI を使用してビジネス組織の設定を構成する場合は、収益化の使用を開始するをご覧ください。

収益化の上限

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

  • 収益化された API にアクセスしているデベロッパーが登録されていないか、料金プランに登録していない。
  • デベロッパーが、登録した料金プランのトランザクション量を超えている。
  • デベロッパーの前払いアカウント残高または後払いクレジット限度額に達しました。

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

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