수익 창출 서비스 설치

Private Cloud용 Edge v. 4.17.09

수익 창출 서비스는 Apigee Edge의 확장 프로그램이므로 독립형 프로세스로 실행되지 않습니다. 기존 Apigee Edge 설정 내에서 실행됩니다.

수익 창출 요건

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

설치 개요

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

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

    13노드 설치와 같이 관리 서버 노드가 여러 개 있는 경우 수익 창출을 설치하기 전에 두 에지 관리 서버 노드를 모두 설치해야 합니다.
  • apigee-setup 유틸리티를 사용해 Apigee 메시지 프로세서를 업데이트하여 수익 창출 서비스의 런타임 구성요소(예: 거래 기록 정책과 적용 제한)를 사용 설정합니다. 여러 메시지 프로세서가 있는 경우 모든 메시지 프로세서에 수익 창출을 설치하세요.
  • 에지 조직을 위한 수익 창출 온보딩 프로세스를 수행합니다.
  • 수익 창출을 지원하도록 개발자 서비스 포털을 구성합니다. 자세한 내용은 http://apigee.com/docs/monetization/content/configure-monetization-developer-portal을 참고하세요.

수익 창출을 위한 자동 구성 파일 만들기

다음은 수익 창출 설치를 위한 자동 구성 파일의 예시입니다. 구성에 맞게 이 파일을 수정하세요. 이 파일을 포함하려면 setup.sh에 -f 옵션을 사용합니다.

참고: 일반적으로 노드에 Edge 구성요소 설치에 설명된 대로 Edge를 설치하는 데 사용한 구성 파일에 이러한 속성을 추가합니다.

# 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 정보가 지정되지 않은 경우 추가합니다. 수익을 창출하려면 SMTP 서버가 필요합니다.
  • 단일 데이터 센터 설치에서 모든 주Keeper 노드는 기본적으로 리더로 구성됩니다. 여러 데이터 센터에 Edge를 설치하면 일부 주Keeper 노드가 관찰자로 구성됩니다. 위의 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단계를 반복합니다.

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

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

모든 메시지 프로세서 노드에서 수익 창출을 통합하려면 다음 절차를 따르세요.

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

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

    'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 합니다.
  2. 모든 메시지 프로세서 노드에서 이 절차를 반복합니다.

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

수익 창출 온보딩

수익 창출이 사용 설정된 새 조직을 만들려면 먼저 새 조직과 마찬가지로 조직을 만듭니다. 자세한 내용은 조직 온보딩을 참고하세요.

조직의 수익 창출을 사용 설정하기 위한 추가 온보딩

조직의 수익 창출 온보딩을 완료하려면 다음 요건을 충족해야 합니다.

  1. 수익 창출 그룹(mxgroup)을 만듭니다.
  2. Qpid를 그룹에 추가합니다.
  3. 조직에 수익 창출을 사용 설정합니다.
  4. 조직에 알림 설정을 사용 설정합니다.
  5. 수익 창출을 사용 설정하려는 모든 조직에 대해 이 절차를 반복합니다.

enable-monetization 명령어를 사용하여 이 모든 작업을 수행합니다. 이 스크립트는 다음 속성이 포함된 구성 파일을 사용합니다.

MSIP=IPorDNSofManagementServer
APIGEE_PORT_HTTP_MS=8080    # Default is 8080.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
# Space-separated list IP/DNS names of all Qpid nodes in the data center being configured.
QPID_HOST="$IP6 $IP7"    
QPID_PORT=8083     # Default is 8083.
REGION=dc-1
ORG_NAME=myorg    # The Edge org where you want to enable monetization. 
MX_GROUP=mxgroup    # Default Monetization group.

참고:

  • CASS_HOSTSREGION을 수익 창출을 설치할 때 사용한 값과 동일한 값으로 설정합니다.
  • 여러 데이터 센터 구성에서 수익 창출을 사용 설정하는 경우:
    • 각 데이터 센터의 관리 서버에서 온보딩 프로세스를 반복해야 합니다.
    • 구성 파일에는 구성 중인 데이터 센터의 Qpid 노드만 나열되어야 합니다.

스크립트를 실행하려면 다음 안내를 따르세요.

  1. 스크립트를 호출합니다.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile


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

    관리 서버가 여러 개인 경우 그중 하나만 이 스크립트를 실행하면 됩니다.

    이 스크립트는 조직, 제품, 개발자, 애플리케이션을 Cassandra 데이터베이스에서 수익 창출 PostgreSQL 데이터베이스로 복제합니다. 수익 창출 서비스를 성공적으로 설치하면 데이터가 자동으로 동기화됩니다.
  2. 수익 창출을 사용 설정하려는 모든 조직에 대해 이 절차를 반복합니다.
  3. 여러 데이터 센터 환경에 있는 경우 다른 데이터 센터의 관리 서버에서 이 프로세스를 반복합니다. 구성 파일에 구성 중인 데이터 센터의 Qpid 노드만 나열됩니다.

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

개발자 서비스 포털 구성

수익 창출을 지원하도록 개발자 서비스 포털을 구성하려면 http://apigee.com/docs/monetization/content/configure-monetization-developer-portal을 참고하세요.

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

기존 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-serviceedge-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 ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT

예를 들어, 위의 CURL 명령의 출력은 다음과 같습니다.

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

허용되는 값은 공개되며,

UNDISCLOSED, 하이브리드 (기본값은 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

선불/후불/둘 다 (기본값: 선불)

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를 사용하여 비즈니스 조직 설정을 구성하는 방법은 http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services를 참고하세요.

참고: 수익 창출 서비스 제한 및 알림 기능을 사용하는 경우 개발자에게 액세스 토큰 검증 정책 다음에 프록시 흐름에 제한 정책을 첨부하도록 안내하세요.

제한 정책은 특정 제한에 도달한 경우 API 호출을 차단하도록 설계된 명시적인 정책입니다. 이 정책은 비즈니스 한도를 확인하고 구성된 값을 초과하는 한도가 있으면 오류를 일으킵니다. 이는 오류 발생 정책의 확장이지만 조건은 비즈니스 변수에서 파생됩니다.

UI 템플릿은 프록시 개발자용 관리 UI에서 제공됩니다. 프록시 개발자는 메시지 흐름에 발행 정책을 연결해야 합니다. 이 정책을 실행하면 정책에 따라 오류 응답과 함께 오류가 발생합니다. ContinueOnError를 true로 설정하면 오류가 발생하지 않으며 흐름 변수 'mint.limitsViolated', 'mint.isDeveloperSuspend', 'mint.limitsPolicyError' 변수가 설정됩니다. 필요한 경우 추가 예외 처리에 사용할 수 있습니다.