Monetization Services のインストール

Edge for Private Cloud v4.18.05

Monetization Services は Apigee Edge の拡張機能であるため、スタンドアロン プロセスとしては動作しません。Monetization Services は、All-In-One(AIO)構成を例外として、既存の Apigee Edge 環境内で稼働します。

Monetization の要件

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

インストールの概要

次の手順は、既存の 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 Processors が存在する場合は、すべてについて Monetization をインストールします。
  • Edge 組織に対して Monetization オンボーディング プロセスを行います。
  • 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.
    # 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

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

Management Server ノード上の Monetization を統合するには、次の手順に従います。

  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 に統合されました。

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

すべての 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 オンボーディング

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

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

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

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 ファイルとして提供するために、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

組織の登録番号で、英国により付与される税金 ID とは異なる番号(デフォルトは 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

Monetization 固有のメニューを表示するために管理 UI で使用されます(デフォルトは "false")

ui.config.isOperator

プロバイダをオペレータまたは組織として表示するために管理 UI で使用されます(デフォルトは "true")

管理 UI を使用したビジネス組織設定の構成については、収益化を使ってみるをご覧ください。

収益化制限

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

  • 収益化された API にアクセスするデベロッパーが登録されていないか、料金プランを定期購入していない。
  • デベロッパーが、定期購入した料金プランのトランザクション ボリュームを超過した。
  • デベロッパーの前払いアカウント残高に到達したか、後払い利用限度額に到達した。

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

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