API BaaS のインストール

Edge for Private Cloud v. 4.17.01

インストールの概要

Edge をノードにインストールした後、apigee-setup ユーティリティを使用します。 ユーティリティを使用してノードに 1 つ以上の 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 Stack のみをインストールします。Tomcat もインストールされます。

p

API BaaS ポータルのみをインストールします。これにより、ウェブとして使用される Nginx ルーターもインストールされます あります。

c

Cassandra のみをインストールします。

eb

ElasticSearch、API BaaS Stack、Tomcat をノードにインストールします。

ebp

ElasticSearch、API BaaS ポータル、API BaaS Stack、Tomcat はインストールしますが、Cassandra はインストールしません。 ポータルは非常に軽量なので、追加のリソースは必要ありません。

アサ

すべての API BaaS コンポーネントを単一ノード(Cassandra、Elasticsearch、API BaaS)にインストールする Stack、API BaaS ポータル、Tomcat)このオプションは開発とテストの場合にのみ使用してください。 おすすめします

構成ファイルの作成

構成ファイルには、API BaaS のインストールに必要なすべての情報が含まれています。Google Chat では 多くの場合、同じ構成ファイルを使用して、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 Stack、API BaaS Portal、Tomcat)。
    構成ファイルは、「apigee」からアクセス可能または読み取り可能である必要があります。できます。
  3. ElasticSearch をスタンドアロン ノードにインストールしたため、デフォルトのメモリを調整します ElasticSearch に割り当てられたメモリを 4 GB から 6 GB に増やすオプションがあります。 <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 コンポーネントと 3 つの API をインストールします。 BaaS Stack コンポーネントを別々のノードに配置し、合計で 6 つのノードを使用します。この パフォーマンスを最大化するために推奨される構成です これは、ElasticSearch が大量のディスク I/O とメモリを必要とするためです。
  • 7 ノード インストールの場合、3 つの ElasticSearch コンポーネントと 3 つの API BaaS をインストールします。 同じノード上のスタック コンポーネント(合計 3 つ) 説明します。

7 ノード バージョンと 10 ノード バージョンの API BaaS では、Cassandra クラスタに接続する必要があります。条件 Edge がすでにインストールされている場合は、その Cassandra クラスタに接続できます。つまり、 API BaaS のインストールの一環として Cassandra をインストールする必要があります。

以下に、10 ノードの API BaaS インストールのサイレント構成ファイルの例を示します。条件 同じ 3 つのノードに ElasticSearch と API BaaS Stack コンポーネントをインストールし、 ファイルを次のように編集します。

  • 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 クラスタに接続できます。Google Chat を 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」からアクセス可能または読み取り可能である必要があります。できます。

この構成により、ノードでのデータストア設定が正常に完了しました。

Cassandra では JMX がデフォルトで有効になっています。Cassandra への JMX リモート アクセスでは、 パスワードが必要です。JMX で認証を使用するように Cassandra を構成できます。詳細については、次をご覧ください。 モニタリング方法

Cassandra cron ジョブを設定する

Cassandra をインストールする必要がある場合は、nodetool を使用して、1 時間ごとにロックがフラッシュされるようにフラッシュする cron ジョブを設定します。 すべての Cassandra ノードに作成されます。

Cassandra ノードが複数ある場合は、各サーバーの cron ジョブを 5 分オフセットするようにします。 すべてのノードが同時にフラッシュされないようにします

cron ジョブは、次のコマンドを実行する必要があります。

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

ここで、IP_addressIP_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 で 4 GB から 6 GB へ: <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 Stack をインストールします。 マシン 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 Stack をインストールすることを指定します。
    構成ファイルは、「apigee」からアクセス可能または読み取り可能である必要があります。できます。

インストーラは正しい管理者認証情報を取得すると、Tomcat をインストールして API を作成します。 BaaS キースペースを作成し、サーバー上に API BaaS スタックを設定します。また、SMTP は、 パスワードの確認メールを送信するための 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 Portal のインストールを指定します。
    構成ファイルは、「apigee」からアクセス可能または読み取り可能である必要があります。できます。

    インストーラが Nginx ウェブサーバーを起動してから、API BaaS ポータルを終了します。 できます。
  3. 次のステップは、インストール環境によって異なります。
    1. Portalor スタックのノードの前にロードバランサがある場合、次のセクションでは、 ロードバランサ用に 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 に置き換えます。 内部 IP アドレスを使用しますTLS を使用するようにロードバランサが構成されている場合は、HTTPS プロトコルを使用します。自分だけ 標準以外のポート、つまりポートまたはポート ポート以外のポートを HTTP の場合は 80、HTTPS の場合はポート 443 です。

また、次の場合は、/opt/apigee/customer/application/portal.properties で次のプロパティを設定する必要があります。 Stack ノードの前にロードバランサを使用します

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

http://localhost:8080 は 使用します。

ポータル ノードの前面でロードバランサを使用する場合は、次のプロパティを設定します。 usergrid.properties で次のように記述します。

usergrid-deployment_portal.url=http://localhost:9000

http://localhost:9000 は ロードバランサを介してアクセスしますTLS を使用するようにロードバランサが構成されている場合は、HTTPS プロトコルを使用します。マイページ ポートを含める必要があるのは、標準以外のポート、つまり ポート 80(HTTP 用)とポート 443(HTTPS 用)を 使用します

usergrid.propertiesportal.properties を編集したら、次の手順を行います。

  1. Stack ノードを構成します。
    &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid 構成
  2. BaaS スタックを再起動します。
    &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid の再起動

    注: BaaS Stack ノードを再起動する場合は、同じ順序で再起動してください。 BAAS_CLUSTER_SEEDS にリストされていることを示します。BAAS_CLUSTER_SEEDS には最大で 2 つの スタックノードです。2 つのノードを順番に再起動した後、残りの 順序は問いません。

  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 再起動

新しい組織のオンボーディング

オンボーディングは、組織と組織管理者を作成するプロセスです。変更後 API BaaS のポータルにログインすると、 API BaaS REST API に対するリクエストを発行します。

組織を作成すると、組織管理者のメールアドレスは次のようになります。

  • システム管理者のメールアドレスとは異なる必要があります。
  • 他のどの組織とも一意でなければなりません。つまり、組織を 2 つ作成することはできません。 組織管理者用の同じメールアドレスを使用します。ただし、 管理者を追加すれば、組織内の複数の管理者に複製 組織に提供します。

オンボーディングを行うには、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. ページの最後でメモした URL を使用して、ウェブブラウザで API BaaS ポータルにログインします。 API BaaS ポータル URL のインストール。ポータルにアクセスするには、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 スタックを使用あるいは、1 つのサーバーと 1 台の API BaaS スタックノード、ロードバランサなし。このような環境では、API 呼び出しを行って、 API BaaS Stack ノードに直接接続します。

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

API BaaS Portal の開始方法の詳細については、次の Apigee のドキュメントをご覧ください。 http://apigee.com/docs/content/build-apps-home.