수익 창출 서비스 설치

수익 창출 서비스는 Apigee Edge의 확장 프로그램이므로 독립형 프로세스로 실행되지 않습니다. 올인원 (AIO) 구성을 제외한 모든 기존 Apigee Edge 설정 내에서 실행됩니다. AIO 구성에는 수익 창출 서비스를 설치할 수 없습니다.

수익 창출 요구사항

  • 13노드 설치와 같이 여러 관리 서버 노드를 사용하는 Edge 토폴로지에 수익 창출을 설치하는 경우 수익 창출을 설치하기 전에 두 Edge 관리 서버 노드를 모두 설치해야 합니다.
  • Edge 설치에 Postgres 노드가 여러 개인 Edge에 수익 창출을 설치하려면 Postgres 노드를 마스터/대기 모드로 구성해야 합니다. Postgres 마스터 노드가 여러 개인 경우 Edge에 수익 창출을 설치할 수 없습니다. 자세한 내용은 Postgres의 마스터-스탠바이 복제 설정을 참고하세요.
  • 올인원 (AIO) 구성에서는 수익 창출을 사용할 수 없습니다.

설치 개요

다음 단계에서는 기존 Apigee Edge 설치에 수익 창출 서비스를 추가하는 방법을 보여줍니다.

  • apigee-setup 유틸리티를 사용하여 Apigee 관리 서버 노드를 업데이트하여 수익 창출 서비스(예: 카탈로그 관리, 한도 및 알림 구성, 결제 및 보고)를 사용 설정합니다.

    관리 서버 노드가 여러 개인 경우(예: 13노드 설치) 수익 창출을 설치하기 전에 두 개의 Edge 관리 서버 노드를 모두 설치해야 합니다.

  • apigee-setup 유틸리티로 Apigee 메시지 프로세서를 업데이트하여 수익 창출 서비스의 런타임 구성요소(예: 거래 기록 정책, 한도 시행)를 사용 설정합니다. 메시지 프로세서가 여러 개인 경우 모두에 수익 창출을 설치합니다.
  • Edge 조직에 대한 수익 창출 온보딩 프로세스를 실행합니다.
  • 수익 창출을 지원하도록 Apigee 개발자 서비스 포털 (이하 포털)을 구성합니다. 자세한 내용은 개발자 포털에서 수익 창출 구성을 참고하세요.

수익 창출을 위한 무음 구성 파일 만들기

다음은 수익 창출 설치의 무음 구성 파일 예시입니다. 구성에 따라 이 파일을 수정합니다. 이 파일을 포함하려면 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 정보가 지정되지 않은 경우 추가합니다. 수익 창출을 위해서는 SMTP 서버가 필요합니다.
  • 단일 데이터 센터 설치에서 ZooKeeper 노드의 홀수는 voters로 구성해야 합니다. ZooKeeper 노드 수가 짝수인 경우 일부 노드는 observers로 구성됩니다. 짝수 개 데이터 센터에 Edge를 설치하는 경우 일부 ZooKeeper 노드를 observers로 구성하여 투표자 노드 수를 홀수로 만들어야 합니다. 동물원키퍼 리더 선거 중에 투표자 노드 1개가 leader으로 선출됩니다. 위의 ZK_HOSTS 속성이 여러 데이터 센터 설치의 리더 노드를 지정했는지 확인하세요.
  • Cassandra 인증을 사용 설정하면 다음 속성을 사용하여 Cassandra 사용자 이름과 비밀번호를 전달할 수 있습니다.
    CASS_USERNAME
    CASS_PASSWORD

수익 창출 서비스를 모든 관리 서버와 통합

다음 절차에 따라 관리 서버 노드에서 수익 창출을 통합합니다.

  1. 13노드 설치와 같이 여러 관리 서버 노드를 사용하는 에지 토폴로지에 수익 창출을 설치하는 경우 수익 창출을 설치하기 전에 두 관리 서버 노드를 모두 설치했는지 확인하세요.
  2. 관리 서버 노드에서 설정 스크립트를 실행합니다.
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    -p mo 옵션은 수익 창출을 통합하도록 지정합니다.

    구성 파일은 'apigee' 사용자가 액세스하거나 읽을 수 있어야 합니다.

  3. 여러 관리 서버 노드에 수익 창출을 설치하는 경우 두 번째 관리 서버 노드에서 2단계를 반복합니다.

구성이 완료되면 PostgreSQL 데이터베이스에 수익 창출 서비스의 RDBMS 스키마가 생성됩니다. 수익 창출 서비스 및 관련 구성요소가 Postgres 서버와 통합되었습니다.

수익 창출 서비스를 모든 메시지 프로세서와 통합

다음 절차에 따라 모든 메시지 프로세서 노드에서 수익 창출을 통합합니다.

  1. 첫 번째 메시지 프로세서 노드의 명령 프롬프트에서 설정 스크립트를 실행합니다.
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    -p mo 옵션은 수익 창출을 통합하도록 지정합니다.

    구성 파일은 'apigee' 사용자가 액세스하거나 읽을 수 있어야 합니다.

  2. 모든 메시지 프로세서 노드에서 이 절차를 반복합니다.

구성이 완료되면 Message Processor가 수익 창출 서비스로 업데이트됩니다. 이렇게 하면 수익 창출 서비스와 관련 구성요소가 메시지 프로세서와 통합됩니다.

수익 창출 온보딩

새 조직을 만들고 수익 창출을 사용 설정하려면 다음 단계를 따르세요.

  1. 새 조직을 만들 때와 마찬가지로 조직을 만듭니다. 자세한 내용은 조직 온보딩을 참조하세요.
  2. 조직의 수익 창출 사용 설정에 설명된 대로 수익 창출 프로비저닝 API를 사용합니다. 이렇게 하려면 시스템 관리자 권한이 있어야 합니다.

다음에 Edge UI에 로그인하면 조직의 최상위 메뉴에 수익 창출 항목이 표시됩니다.

수익 창출을 지원하도록 포털을 구성하려면 개발자 포털에서 수익 창출 구성을 참고하세요.

수익 창출 설치에 관리 서버 노드 추가

기존 Edge 설치에 관리 서버를 추가하는 경우 새 관리 서버에 수익 창출 서비스를 추가하고 모든 관리 서버가 통신할 수 있도록 구성해야 합니다.

관리 서버를 추가하려면 다음 단계를 따르세요.

  1. 관리 서버를 설치합니다.
  2. 관리 서버에 수익 창출을 설치합니다.
  3. 원래 관리 서버에서 다음을 호출합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. 원본 관리 서버를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. 관리 서버에서 다음을 호출합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. 관리 서버를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

추가 구성

결제 문서를 PDF 파일로 제공

수익 창출에서는 최종 사용자에게 청구서를 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

영국의 조직 등록 번호로 세금 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

관리 UI에서 수익 창출 관련 메뉴를 표시하는 데 사용됩니다 (기본값은 'false').

ui.config.isOperator

관리 UI에서 제공업체를 운영자와 조직으로 표시하는 데 사용됩니다 (기본값은 'true').

관리 UI를 사용하여 비즈니스 조직 설정을 구성하는 방법은 Edge에서 수익 창출 액세스를 참조하세요.

수익 창출 한도

수익 창출 한도를 적용하려면 수익 창출 한도 확인 정책을 API 프록시에 연결하세요. 특히 다음 조건에서 정책이 트리거됩니다.

  • 수익 창출 API에 액세스하는 개발자가 등록되지 않았거나 요금제를 구독하지 않았습니다.
  • 개발자가 구독한 요금제의 거래량을 초과했습니다.
  • 개발자 선불 계정 잔액 또는 후불 신용 한도에 도달했습니다.

수익 창출 한도 확인 정책은 위에 나열된 것과 같은 상황에서 결함을 유발하고 API 호출을 차단합니다. 이 정책은 RaiseFault 정책을 확장하며 반환되는 메시지를 맞춤설정할 수 있습니다. 적용 가능한 조건은 비즈니스 변수에서 파생됩니다.

자세한 내용은 API 프록시에서 수익 창출 한도 적용을 참고하세요.