API BaaS 설치

Private Cloud용 Edge v. 4.17.01

설치 개요

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은 설치하되 Cassandra는 설치하지 않습니다. 포털은 가벼워서 추가 리소스가 필요하지 않습니다.

ASA

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

구성 파일 만들기

구성 파일에는 API BaaS를 설치하는 데 필요한 모든 정보가 포함되어 있습니다. 다음과 같은 작업을 할 수 있습니다. 동일한 구성 파일을 사용하여 BaaS 설치에 모든 구성요소를 설치하는 경우가 많습니다.

아래에 설명된 각 설치 토폴로지는 해당 토폴로지의 예시 구성 파일을 보여줍니다. 대상 구성 파일에 대한 전체 참조는 BaaS 구성 파일 참조를 확인하세요.

단일 노드에 API BaaS 설치

다음은 단일 노드에 API BaaS를 설치하기 위한 구성 파일입니다. 이 파일을 다음으로 편집 변경할 수 있습니다 구성 파일에 대한 전체 참조는 다음을 확인하세요. BaaS 구성 파일 참조

IP1=192.168.56.101   # IP address of single node

# 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=stackAdminPWord

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# 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 Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster. 
# For a single node install, specify the IP address of the node. 
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

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

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.  
BAAS_PORTAL_URL="http://$IP1: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

자체 노드에 API BaaS를 설치하려면 다음 안내를 따르세요.

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

    '-p asa' 옵션은 단일 노드에 모든 API BaaS 구성요소를 설치하도록 지정합니다. (Cassandra, Elasticsearch, API BaaS 스택, API BaaS 포털, Tomcat)
    구성 파일은 '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 다시 시작
  4. 아래 새 조직 온보딩에 설명된 대로 조직 온보딩

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

노드 7개 또는 10개에 API BaaS 설치

7노드 또는 10노드 버전의 API BaaS를 설치하는 절차는 매우 유사합니다. 유일한 차이점은 다음과 같습니다.

  • 10 노드 설치, 3개의 ElasticSearch 구성요소와 세 개의 API를 설치합니다. 별도의 노드에 BaaS 스택 구성요소가 있어 총 6개의 노드가 가능합니다. 이 최적의 성능을 위해 권장되는 구성입니다 ElasticSearch에는 많은 양의 디스크 I/O와 메모리가 필요하기 때문입니다.
  • 7노드를 설치하면 ElasticSearch 구성요소 3개와 API BaaS 3개 설치 동일한 노드에 구성요소 스택(총 3개) 노드라는 두 가지 리소스가 있습니다

API BaaS의 7 및 10 노드 버전 모두 Cassandra 클러스터에 연결해야 합니다. 만약 Cassandra 클러스터에 연결할 수 있으므로 API BaaS 설치의 일부로 Cassandra를 설치해야 합니다

다음은 10노드 API BaaS 설치를 위한 자동 구성 파일의 예입니다. 만약 동일한 3개의 노드에 ElasticSearch 및 API BaaS 스택 구성요소를 설치합니다. 다음과 같이 수정합니다.

  • IP1 및 IP4가 동일한 IP 주소로 설정됨
  • IP2 및 IP5가 동일한 IP 주소로 설정됨
  • IP3 및 IP6이 동일한 IP 주소로 설정됨

구성에 필요한 경우 이 파일을 수정합니다. 다음을 참조하세요. 구성 파일에 대한 자세한 내용은 BaaS를 참조하세요. 구성 파일 참조를 참조하세요.

# 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=stackAdminPWord

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# 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"

# Specify the Cassandra region.
REGION=dc-1

# 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.

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=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

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# 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

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

API BaaS를 Edge에서 사용하는 것과 동일한 Cassandra 클러스터에 연결할 수 있습니다. 아직 필요한 경우 API BaaS에서 사용하도록 Cassandra를 선택적으로 설치할 수 있습니다.

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

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

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

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

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

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

<ph type="x-smartling-placeholder">

자체 노드에 ElasticSearch를 설치하려면 다음 안내를 따르세요.

  1. 인터넷 또는 비인터넷을 사용하여 노드에 Edge Apigee-setup 유틸리티를 설치하세요. 있습니다. 자세한 내용은 Edge Apigee-setup 설치 유틸리티를 참고하세요.
  2. 명령어 프롬프트에서 설정 스크립트를 실행합니다.
    &gt; /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 포털을 완료합니다. 구성할 수 있습니다
  3. 다음 단계는 설치에 따라 다릅니다.
    1. Portalor Stack 노드 앞에 부하 분산기가 있는 경우 다음 섹션을 참조하세요. 부하 분산기에 API BaaS를 구성하는 방법을 설명합니다.
    2. Portalor Stack 노드 앞에 부하 분산기가 없는 경우 온보딩합니다. 아래 온보딩 새 조직을 만들 수 있습니다.

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

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

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

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

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

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

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_portal.url=http://localhost:9000

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

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

  1. 스택 노드를 구성합니다.
    &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid 구성
  2. BaaS 스택을 다시 시작합니다.
    &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid 다시 시작

    참고: BaaS 스택 노드를 다시 시작할 때는 동일한 순서로 다시 시작하세요. BAAS_CLUSTER_SEEDS에 나열되어 있는지 확인합니다. BAAS_CLUSTER_SEEDS는 사용할 수 있습니다 두 노드를 순서대로 다시 시작하면 나머지 노드를 지정할 수 있습니다

  3. portal.properties를 수정한 경우, 포털 노드:
    &gt; /opt/apigee/apigee-service/bin/apigee-service baas-portal 구성
  4. BaaS 포털을 다시 시작합니다.
    &gt; /opt/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.