프라이빗 클라우드용 Edge v. 4.17.09
수익 창출 서비스는 Apigee Edge의 확장 프로그램이므로 독립형 프로세스로 실행되지 않습니다. 기존 Apigee Edge 설정 내에서 실행됩니다.
수익 창출 요건
- 13노드 설치와 같이 여러 관리 서버 노드를 사용하는 Edge 토폴로지에 수익 창출을 설치하는 경우 수익 창출을 설치하기 전에 두 Edge 관리 서버 노드를 모두 설치해야 합니다.
- Edge 설치에 여러 Postgres 노드가 있는 Edge에 수익 창출을 설치하려면 Postgres 노드를 마스터/대기 모드로 구성해야 합니다. Postgres 마스터 노드가 여러 개 있는 경우 Edge에 수익 창출을 설치할 수 없습니다. 자세한 내용은 Postgres용 마스터-대기 복제 설정을 참조하세요.
설치 개요
다음 단계에서는 기존 Apigee Edge 설치에 수익 창출 서비스를 추가하는 방법을 보여줍니다.
- apigee-setup 유틸리티를 사용하여 Apigee Management Server 노드를 업데이트하여 카탈로그 관리, 한도 및 알림 구성, 청구 및 보고와 같은 수익 창출 서비스를 사용 설정합니다.
13노드 설치와 같이 관리 서버 노드가 여러 개 있는 경우 수익 창출을 설치하기 전에 두 Edge 관리 서버 노드를 모두 설치해야 합니다. - apigee-setup 유틸리티를 사용하여 Apigee 메시지 프로세서를 업데이트하여 수익 창출 서비스의 런타임 구성요소(예: 트랜잭션 기록 정책 및 한도 적용)를 사용 설정합니다. 메시지 프로세서가 여러 개 있는 경우 모두에 수익 창출을 설치합니다.
- Edge 조직에 대해 수익 창출 온보딩 프로세스를 수행합니다.
- 수익 창출을 지원하도록 개발자 서비스 포털을 구성합니다. 자세한 내용은 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 서버가 필요합니다.
- 단일 데이터 센터 설치에서는 모든 ZooKeeper 노드가 기본적으로 리더로 구성됩니다. 여러 데이터 센터에 Edge를 설치할 때 일부 ZooKeeper 노드가 관찰자로 구성됩니다. 위의 ZK_HOSTS 속성이 여러 데이터 센터 설치에서 리더 노드를 지정하는지 확인합니다.
- Cassandra 인증을 사용 설정하는 경우 다음 속성을 사용하여 Cassandra 사용자 이름과 비밀번호를 전달할 수 있습니다.
CASS_USERNAME
CASS_PASSWORD
모든 관리 서버와 수익 창출 서비스 통합
다음 절차에 따라 관리 서버 노드에서 수익 창출을 통합합니다.
- 13노드 설치와 같이 여러 관리 서버 노드를 사용하는 Edge 토폴로지에 수익 창출을 설치하는 경우 수익 창출을 설치하기 전에 두 관리 서버 노드를 모두 설치했는지 확인합니다.
- 관리 서버 노드에서 설정 스크립트를 실행합니다.
> /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
'-p mo' 옵션은 수익 창출을 통합하도록 지정합니다.
'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 합니다. - 여러 관리 서버 노드에 수익 창출을 설치하는 경우 두 번째 관리 서버 노드에서 2단계를 반복합니다.
구성이 완료되면 수익 창출 서비스의 RDBMS 스키마가 PostgreSQL 데이터베이스에 생성됩니다. 이렇게 하면 수익 창출 서비스 및 관련 구성요소와 Postgres 서버의 통합이 완료됩니다.
모든 메시지 프로세서와 수익 창출 서비스 통합
다음 절차에 따라 모든 메시지 프로세서 노드에 수익 창출을 통합합니다.
- 첫 번째 메시지 프로세서 노드의 명령어 프롬프트에서 설정 스크립트를 실행합니다.
> /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
'-p mo' 옵션은 수익 창출을 통합하도록 지정합니다.
'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 합니다. - 모든 메시지 프로세서 노드에서 이 절차를 반복합니다.
구성이 완료되면 메시지 프로세서가 수익 창출 서비스로 업데이트됩니다. 이렇게 하면 수익 창출 서비스 및 관련 구성요소와 메시지 프로세서의 통합이 완료됩니다.
수익 창출 온보딩
수익 창출이 사용 설정된 새 조직을 만들려면 먼저 새 조직을 만들 때와 마찬가지로 조직을 만듭니다. 자세한 내용은 조직 온보딩을 참고하세요.
조직의 수익 창출을 사용 설정하기 위한 추가 온보딩
조직의 수익 창출 온보딩을 완료하려면 다음을 수행해야 합니다.
- 수익 창출 그룹 mxgroup을 만듭니다.
- 그룹에 Qpid를 추가합니다.
- 조직에 수익 창출을 사용 설정합니다.
- 조직의 알림 설정을 사용 설정합니다.
- 수익 창출을 사용 설정하려는 모든 조직에 이 프로세스를 반복합니다.
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_HOSTS 및 REGION을 수익 창출을 설치할 때 사용한 값과 동일한 값으로 설정합니다.
- 여러 데이터 센터 구성에서 수익 창출을 사용 설정하는 경우:
- 각 데이터 센터의 관리 서버에서 온보딩 프로세스를 반복해야 합니다.
- 구성 파일에는 구성 중인 데이터 센터의 Qpid 노드만 나열해야 합니다.
스크립트를 실행하려면 다음 안내를 따르세요.
- 스크립트를 호출합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile
'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 합니다.
관리 서버가 여러 개 있는 경우 그중 하나에서만 이 스크립트를 실행해야 합니다.
이 스크립트는 Cassandra 데이터베이스에서 수익 창출 PostgreSQL 데이터베이스로 조직, 제품, 개발자, 애플리케이션을 복제합니다. 수익 창출 서비스가 성공적으로 설치되면 데이터가 자동으로 동기화됩니다. - 수익 창출을 사용 설정하려는 모든 조직에 이 절차를 반복합니다.
- 여러 데이터 센터 환경에 있는 경우 다른 데이터 센터의 관리 서버에서 이 프로세스를 반복합니다. 구성 파일에 구성 중인 데이터 센터의 Qpid 노드만 나열되어 있는지 확인합니다.
다음에 Edge UI에 로그인하면 조직의 최상위 메뉴에 수익 창출 항목이 표시됩니다.

개발자 서비스 포털 구성
수익 창출을 지원하도록 개발자 서비스 포털을 구성하려면 http://apigee.com/docs/monetization/content/configure-monetization-developer-portal을 참조하세요.
수익 창출 설치에 관리 서버 노드 추가
기존 Edge 설치에 Management Server를 추가하는 경우 새 Management Server에 수익 창출 서비스를 추가하고 모든 Management Server가 통신할 수 있도록 구성해야 합니다.
관리 서버를 추가하려면 다음 안내를 따르세요.
- 새 Management Server를 설치합니다.
- 새 관리 서버에 수익 창출을 설치합니다.
- 원래 Management Server에서 다음을 호출합니다.
> /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster - 원래 관리 서버를 다시 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart - 새 관리 서버에서 다음을 호출합니다.
> /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster - 새 Management Server를 다시 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
추가 구성
결제 문서를 PDF 파일로 제공
수익 창출은 최종 사용자에게 HTML 형식으로 결제 문서를 표시합니다. 결제 문서를 PDF 파일로 제공하려면 PDF 생성을 제공하는 결제 시스템과 수익 창출을 통합하거나 지원되는 서드 파티 PDF 라이브러리에 라이선스를 부여하면 됩니다.
조직 설정 구성
백엔드 설정: 다음 표에는 Mint 조직을 구성하는 데 사용할 수 있는 조직 수준 속성이 나와 있습니다. 아래와 같이 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 |
허용되는 값은 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를 사용하여 비즈니스 조직 설정을 구성하려면 http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services를 참조하세요.
참고: 수익 창출 서비스 한도 및 알림 기능을 사용하는 경우 개발자에게 액세스 토큰 검증 정책 후 프록시 흐름에 한도 정책을 연결하도록 안내하세요.
한도 정책은 특정 한도에 도달하면 API 호출을 차단하도록 설계된 명시적 정책입니다. 정책은 비즈니스 한도를 확인하고 구성된 값을 초과하는 한도가 있으면 오류를 발생시킵니다. 이는 오류 발생 정책의 확장 버전이지만 조건은 비즈니스 변수에서 파생됩니다.
프록시 개발자를 위한 관리 UI에서 UI 템플릿을 사용할 수 있습니다. 프록시 개발자는 메시지 흐름에 민트 정책을 연결해야 합니다. 이 정책을 실행하면 정책에 따라 오류 응답과 함께 오류가 발생합니다. ContinueOnError가 true로 설정되면 오류가 발생하지 않고 흐름 변수 'mint.limitsViolated', 'mint.isDeveloperSuspended', 'mint.limitsPolicyError' 변수가 설정되며, 필요한 경우 추가 예외 처리에 사용할 수 있습니다.