API BaaS 설치

Private Cloud용 Edge v. 4.16.09

부하 분산기 사용

API BaaS의 프로덕션 설치는 API BaaS 포털 노드 간 부하 분산기를 사용합니다. API BaaS 스택 노드를 사용할 수 있습니다 포털을 구성할 때 포트 8의 IP 주소 또는 DNS 이름을 부하 분산기를 구성해야 합니다

부하 분산기 대신 라운드 로빈 DNS를 사용할 수 있습니다. 이 시나리오에서는 BaaS 스택 IP 주소에 해당하는 여러 A 레코드가 있는 DNS 항목을 만듭니다. DNS가 조회하면 DNS 서버는 자동으로 라운드 로빈 방식으로 A 레코드 값을 반환합니다.

Cassandra에 연결

BaaS를 설치할 때 BaaS와 Edge를 동일한 Cassandra 클러스터에 연결하도록 선택할 수 있습니다. BaaS용 별도의 Cassandra 클러스터를 만들 수 있습니다 더 작은 BaaS 설치, 즉 트래픽이 적고 종종 Cassandra 클러스터를 Edge와 공유합니다.

높은 처리량과 가용성을 위해 또는 Cassandra 클러스터를 Apigee에서는 별도의 Cassandra 클러스터를 사용하는 것이 좋습니다. 별도의 클러스터 BaaS에서 높은 트래픽 부하가 발생하는 경우 실적을 극대화할 수 있습니다.

날짜 동기화

모든 서버의 날짜/시간을 동기화해야 합니다. 아직 구성되지 않은 경우 ‘ntpdate’ 유틸리티가 이 용도로 사용할 수 있으며, 이는 서버가 있습니다. “yum install ntp”를 사용하여 유틸리티를 설치할 수 있습니다.

Tomcat 보안

또한 API BaaS 설치 프로그램은 모든 API BaaS 스택 노드에 Apache Tomcat 서버를 설치합니다. 다양한 기능을 제공합니다 설치 프로그램에서 기본 관리자 인증 정보는 그대로 유지됩니다. admin:admin에서 변경되지 않습니다.

필요한 경우 Tomcat을 보호하는 과정에서 이러한 사용자 인증 정보를 변경할 수 있습니다. 자세한 내용은 자세한 내용은 다음을 참조하세요.

설치 개요

Edge의 apigee-setup 유틸리티를 노드에 설치한 후 이를 사용합니다. 노드에 하나 이상의 BaaS 구성요소를 설치하는 유틸리티입니다. Apigee-setup 유틸리티의 형식은 다음과 같습니다.

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

구성 파일을 apigee-setup 유틸리티에 전달합니다. 설치에 대한 정보를 제공합니다. 구성 파일에 필수 항목이 누락된 경우 정보, apigee-setup 유틸리티가 명령줄에 이를 입력하라는 메시지를 표시합니다.

유일한 요구사항은 'Apigee' 있습니다.

예를 들어 다음 명령어를 사용하여 API BaaS 스택을 설치합니다.

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

Apigee setup.sh 유틸리티 API BaaS 구성요소 설치 옵션을 지원합니다. 아래 안내에서는 독립형 옵션 (c, e, b, p)이지만 노드에 따라 다른 옵션을 사용할 수 있습니다. 구성:

옵션

설명

e

ElasticSearch만 설치합니다.

b

API BaaS 스택만 설치합니다. 그러면 Tomcat도 설치됩니다.

p

API BaaS 포털만 설치합니다. 웹으로 사용할 Nginx 라우터도 설치됩니다. 있습니다.

c

Cassandra만 설치합니다.

eb

노드에 ElasticSearch, API BaaS 스택, Tomcat을 설치합니다.

ebp

ElasticSearch, API BaaS 포털, API BaaS 스택, Tomcat을 설치합니다. 포털은 이 작업에 추가 리소스가 필요하지 않은 가볍습니다.

ASA

단일 노드에 모든 API 구성요소 설치 (Cassandra, Elasticsearch, API BaaS 스택, API BaaS 포털)을 제공합니다. 이 옵션은 개발 및 테스트용으로만 사용하세요. 있습니다

자동 구성 만들기 파일

다음은 10노드 API BaaS 설치를 위한 자동 구성 파일의 예입니다. 수정 이 파일을 필요에 따라 변경할 수 있습니다. 이 파일을 포함하려면 setup.sh에 -f 옵션을 사용합니다.

# Specify IP address or DNS name of node.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWrod

# Only if you are installing Cassandra.
# Specify Cassandra configuration information.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# ElasticSearch IPs or DNS names, separated by spaces.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y

다음 표에는 이러한 속성에 대한 추가 정보가 포함되어 있습니다.

속성

참고

CASS_HOSTS

Cassandra를 설치하는 경우 Cassandra 노드 IP (DNS 이름 아님)를 지정하고 클러스터의 데이터 센터와 랙을 지정하는 ':dc,ra' 수정자를 포함합니다. Cassandra 노드

예를 들어 '192.168.124.201:1,1 = 데이터 센터 1 및 랙/가용성 영역 1, 그리고 '192.168.124.204:2,1 = 데이터 센터 2 및 랙/가용성 영역 1입니다.

CASS_USERNAME
CASS_PASSWORD

Cassandra 사용자 이름 및 비밀번호

Cassandra 인증이 사용 중지된 경우에도 이 값을 전달해야 합니다. 하지만 값은 무시됩니다.

BAAS_CASS_LOCALDC

지역 이름은 dc-# 형식이어야 하며, 여기서 # 은 정수 값에 해당합니다.

예: dc-1, dc-2 등. 설치된 Cassandra 클러스터에 연결하는 경우 를 사용하는 경우 Edge 시스템 관리자에게 이 값을 요청할 수 있습니다. Edge 싱글 기본값은 dc-1입니다.

API BaaS를 설치하는 과정에서 Cassandra를 설치한 경우 Cassandra를 실행하는 동안 Cassandra IP 주소에 ':dc,ra' 한정자를 추가했습니다. 첫 번째 값 'dc' 데이터 센터 번호입니다. 데이터 센터 이름은 'dc-' 문자열입니다. 데이터 센터 번호를 서픽스로 붙입니다.

BAAS_CASS_REPLICATION

형식은 'dataCenterName:#CassandraNodes'입니다. 예를 들어 Cassandra 노드가 세 개 있는 dc-1의 경우 dc-1:3입니다.

BAAS_USERGRID_URL

프로덕션 환경에서 이는 부하 분산기의 URL 및 포트입니다. API BaaS 스택 노드 앞에 다음과 같은 형식으로 표시됩니다.

http://myStackLoadBalancer:8443

단일 API BaaS 스택만 있는 테스트 또는 개발 환경 노드인 경우 API BaaS 스택 노드의 URL 및 포트 번호일 수 있습니다.

http://stackIPorDNS:8080

API BaaS 스택 서버의 포트 번호는 8080입니다.

BAAS_PORTAL_URL

부하 분산기의 URL 및 포트 번호(포털 앞에 있는 경우) 형식:

http://myPortalLoadBalancer:8443

부하 분산기가 없는 경우 양식:

http://portalIPorDNS:9000

기본적으로 API BaaS 포털의 포트 번호는 9000입니다.

BAAS_PORTAL_LISTEN_PORT

API BaaS 포털 서버의 포트 번호는 9000입니다. 이 포트를 사용할 수 없는 경우 다른 포트를 지정할 수 있습니다

BAAS_PORTAL_URL을 포털 노드의 경우 포트 번호가 두 속성의 포트 번호가 동일해야 합니다.

선택사항 - Cassandra 설치: 머신 8, 9, 10명

Edge, Apigee에서 사용하는 것과 동일한 Cassandra 클러스터에 API BaaS를 연결할 수 있습니다. 별도의 클러스터를 사용하는 것이 좋습니다.

Cassandra 클러스터가 인증을 사용하거나 Cassandra 인증을 사용 중지할 수 있습니다. 자세한 내용은 Cassandra 인증 사용 설정 자세히 알아보세요.

  1. 다음을 사용하여 Edge apigee-setup 유틸리티를 노드에 설치합니다. 비인터넷 절차입니다. 자세한 내용은 Edge Apigee-setup 유틸리티 설치를 참조하세요. 자세히 알아보세요.
  2. 명령어 프롬프트에서 설정 스크립트를 실행합니다.
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    '-p c' 옵션은 Cassandra를 설치하도록 지정합니다.
    구성 파일은 'Apigee'에서 액세스하거나 읽을 수 있어야 합니다. 있습니다.

구성이 노드에서 데이터 스토어 설정을 성공적으로 완료합니다.

JMX는 Cassandra에서 기본적으로 사용 설정됩니다. Cassandra에 대한 JMX 원격 액세스는 비밀번호를 입력해야 합니다. JMX에 인증을 사용하도록 Cassandra를 구성할 수 있습니다. 자세한 내용은 다음을 참고하세요. 모니터링 방법.

Cassandra 크론 작업 설정

nodetool을 사용하여 매시간 실행되도록 잠금을 플러시하는 크론 작업 설정 일 수 있습니다

Cassandra 노드가 여러 개 있는 경우 각 서버의 크론 작업을 5분씩 오프셋하여 모든 노드가 동시에 플러시되지 않습니다.

크론 작업은 다음 명령어를 실행해야 합니다.

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

여기서 IP_address는 Cassandra 노드의 IP 주소입니다.

ElasticSearch: 머신 1, 2, 3 설치

ElasticSearch를 설치하려면 다음 안내를 따르세요.

  1. 인터넷 또는 비인터넷을 사용하여 노드에 Edge Apigee-setup 유틸리티를 설치하세요. 있습니다. 자세한 내용은 Edge Apigee-setup 설치 유틸리티를 참고하세요.
  2. 명령어 프롬프트에서 설정 스크립트를 실행합니다.
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    '-p e' 옵션은 ElasticSearch를 설치하도록 지정합니다.
    구성 파일은 'Apigee'에서 액세스하거나 읽을 수 있어야 합니다. 있습니다.
  3. (선택사항) 독립형 노드에 ElasticSearch를 설치하는 경우(즉, 설치되지 않음) 기본 메모리 옵션을 조정하여 메모리에 할당된 메모리를 늘릴 수 있도록 ElasticSearch: 4GB에서 6GB 사이: <ph type="x-smartling-placeholder">
      </ph>
    1. /opt/apigee/customer/application/elasticsearch.properties를 엽니다. 생성하는 방법을 알아보겠습니다 이 파일이 없으면 새로 만듭니다.
    2. setenv_elasticsearch_max_mem_size 설정 속성을 6g (기본값은 4g)로 변경합니다.
      setenv_elasticsearch_max_mem_size=6g
    3. 파일을 저장합니다.
    4. 다음 명령어를 실행합니다.
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch 다시 시작

구성이 노드에서 설정을 완료합니다.

API BaaS 스택 설치: 머신 4, 5, 6

API BaaS 스택을 설치하려면 다음 안내를 따르세요.

  1. 인터넷 또는 비인터넷을 사용하여 노드에 Edge Apigee-setup 유틸리티를 설치하세요. 있습니다. 자세한 내용은 Edge Apigee-setup 설치 유틸리티를 참고하세요.
  2. 명령어 프롬프트에서 설정 스크립트를 실행합니다.
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    '-p b' 옵션은 API BaaS 스택을 설치하도록 지정합니다.
    구성 파일은 'Apigee'에서 액세스하거나 읽을 수 있어야 합니다. 있습니다.

설치 프로그램이 올바른 관리자 사용자 인증 정보를 가져온 후 Tomcat을 설치하고 API를 만듭니다. 서버에 API BaaS 스택을 설정합니다. 또한 SMTP는 외부 IP 주소를 사용하여 UI를 사용하여 비밀번호 확인 이메일을 보냅니다.

API BaaS 포털 설치: 머신 7

API BaaS 포털을 설치하려면 다음 안내를 따르세요.

  1. 인터넷 또는 비인터넷을 사용하여 노드에 Edge Apigee-setup 유틸리티를 설치하세요. 있습니다. 자세한 내용은 Edge Apigee-setup 설치 유틸리티를 참고하세요.
  2. 명령어 프롬프트에서 설정 스크립트를 실행합니다.
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    '-p p' 옵션은 API BaaS 포털을 설치하도록 지정합니다.
    구성 파일은 'Apigee'에서 액세스하거나 읽을 수 있어야 합니다. 있습니다.

설치 프로그램이 Nginx 웹 서버를 시작한 후 API BaaS 포털을 완료합니다. 구성할 수 있습니다

API BaaS 포털 URL을 기록해 둡니다. 이 URL은 API BaaS 포털 사용자 인터페이스

스택용 API BaaS 노드 구성 또는 포털 부하 분산기

스택 또는 포털 노드 앞에 부하 분산기를 포함하는 경우 올바른 URL로 노드를 선택합니다 예를 들어 스택 노드에는 다음과 같은 경우에 정보를 제공합니다.

  • BaaS API 요청의 응답에 URL 포함
  • 비밀번호 재설정 또는 기타 이메일 전송 시 이메일 템플릿에 링크 추가 있습니다.
  • 사용자를 특정 포털 페이지로 리디렉션합니다.

스택 노드 앞에서 부하 분산기를 사용하는 경우 /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_swagger.basepath=http://localhost:8080
usergrid-deployment_usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate
usergrid-deployment_usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate
usergrid-deployment_usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw
usergrid-deployment_usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm
usergrid-deployment_usergrid.user.activation.url=http://localhost:8080/%s/%s/users/%s/activate
usergrid-deployment_usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm
usergrid-deployment_usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw

http://localhost:8080을 로드 URL로 바꿉니다. 배급합니다 부하 분산기가 TLS를 사용하도록 구성된 경우 HTTPS 프로토콜을 사용합니다. 나만 비표준 포트를 사용하는 경우 포트를 포함해야 합니다. 즉, 포트가 아닌 다른 포트를 의미합니다. HTTP의 경우 80, HTTPS의 경우 포트 443입니다.

또한 다음과 같은 경우 /opt/apigee/customer/application/portal.properties 에서 다음 속성을 설정해야 합니다. 스택 노드 앞에서 부하 분산기를 사용합니다.

baas.portal.config.overrideUrl=http://localhost:8080

http://localhost:8080을 부하 분산기를 구성해야 합니다

포털 노드 앞에서 부하 분산기를 사용하는 경우 다음 속성을 설정합니다. usergrid.properties:

usergrid-deployment_usergrid.view.management.organizations.organization.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.organizations.organization.confirm=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.confirm=http://localhost:9000

http://localhost:9000을 Cloud Load Balancing입니다 부하 분산기가 TLS를 사용하도록 구성된 경우 HTTPS 프로토콜을 사용합니다. 나 표준 포트가 아닌 다른 포트를 사용하는 경우 비표준 포트만 포함하면 됩니다. 포트 80(HTTP) 및 포트 443(HTTPS)을 사용합니다.

usergrid.properties portal.properties를 수정한 후:

  1. 스택 노드를 구성합니다.
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid 구성
  2. Tomcat에 변경사항을 배포합니다.
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid 배포
  3. BaaS 스택을 다시 시작합니다.
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid 다시 시작
  4. portal.properties를 수정한 경우, 포털 노드:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal 구성
  5. 변경사항을 배포합니다.
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal 배포
  6. BaaS 포털을 다시 시작합니다.
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal 재시작

새 조직 온보딩

온보딩은 조직 및 조직 관리자를 만드는 프로세스입니다. 후(After) 조직 및 조직 관리자를 만들면 API BaaS 포털에 로그인할 수 있습니다 API BaaS REST API에 요청합니다.

조직을 만들 때 조직 관리자의 이메일 주소는 다음과 같습니다.

  • 시스템 관리자의 이메일 주소와 달라야 합니다.
  • 다른 모든 조직에서 고유해야 합니다. 즉, 두 개의 조직을 만들 수 없습니다. 조직 관리자와 동일한 이메일 주소로 계정을 만들 수 있습니다. 그러나 여러 관리자에게 중복될 수 있는 관리자를 추가할 수 있습니다. 액세스할 수 있습니다

온보딩을 수행하려면 create_org_and_user.py Python 스크립트를 사용합니다. 명령줄 인수 없이 이 스크립트를 호출하면 있습니다.

> python create_org_and_user.py

또는 일부 또는 모든 옵션을 명령줄 인수로 전달할 수 있습니다. 다음을 수행하라는 메시지가 표시됩니다. 명령줄에서 생략한 모든 정보를 삭제합니다.

> python create_org_and_user.py -o '<org name>'
> python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

조직을 만들려면 다음 단계를 따르세요.

  1. 디렉터리를 /opt/apigee/baas-usergrid/bin으로 변경합니다.
  2. create_org_and_user.py Python 스크립트를 호출합니다.
    BaaS 시스템 관리자의 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되면 시스템 관리자가 실행할 수 있습니다
  3. API BaaS 포털 URL 설치 포털에 액세스하려면 양식:
    http://{portalExternalIP}:9000/

    참고: IP는 포털 머신의 외부 IP 주소/호스트 이름입니다. 확인할 수 있습니다
  4. 포털 로그인 화면이 나타나면 다음 중 하나를 수행할 수 있습니다. <ph type="x-smartling-placeholder">
      </ph>
    • 조직 관리자의 사용자 이름과 비밀번호를 사용하여 로그인합니다.
    • 시스템 관리자 관리자의 사용자 이름과 비밀번호를 사용하여 로그인합니다.

API BaaS REST API 액세스

API BaaS REST API에 액세스하려면 다음 형식의 URL을 사용하세요.

https://{loadBalancerIP}:8080/{your-org}/{your-app}

개발 환경에서는 모든 API BaaS 구성요소를 단일 노드에 설치할 수 있으며 즉, 단일 API BaaS 스택이 있습니다. 또는 단일 IP 주소를 사용하는 소규모 환경이 있거나 API BaaS 스택 노드이고 부하 분산기가 없습니다. 이러한 유형의 환경에서는 API를 호출하여 API BaaS 스택 노드에 직접 연결합니다.

curl -v "http://portalExternalIP:8080/status"

API BaaS 포털을 시작하는 방법에 대한 자세한 내용은 다음 페이지에서 Apigee 문서를 참조하세요. http://apigee.com/docs/content/build-apps-home.