Monetization Services のインストール

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

収益化の要件

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

インストールの概要

次の手順は、既存の 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 ノードがデフォルトでリーダーとして構成されます。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. 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 を繰り返します。

構成が成功すると、PostgreSQL データベースに Monetization Services の RDBMS スキーマが作成されます。これで、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 に統合されました。

収益化のオンボーディング

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

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

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

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

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

既存の Edge 環境に Management Server を追加する場合は、新しい Management Server に Monetization Services を追加して、すべての 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 を生成する課金システムと統合するか、サポートされているサードパーティの 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

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」(デフォルトは「PAPAID」)

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 を使用してビジネス組織の設定を構成する場合は、収益化を使ってみるをご覧ください。

収益化の上限

収益化の上限を適用するには、API プロキシに収益化の上限チェック ポリシーを適用してください。具体的には、このポリシーは次の条件でトリガーされます。

  • 収益化対象の API にアクセスするデベロッパーが登録されていないか、料金プランに未登録。
  • デベロッパーが、指定された料金プランでの取引量を超えています。
  • デベロッパーの前払い残高または後払いクレジットの上限に達しています。

収益化の上限チェック ポリシーを使用すると、上記のような状況でエラーが発生し、API 呼び出しがブロックされます。このポリシーは Raise Fault ポリシーを拡張するものであり、返されるメッセージをカスタマイズできます。該当する条件はビジネス変数から導き出されます。

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