7 ホストおよび 10 ホストの API BaaS のインストール

Edge for Private Cloud v. 4.16.05

ロードバランサの使用

API BaaS の本番環境インストールでは、API BaaS ポータル ノード間のロードバランサを使用する API BaaS Stack ノードです。ポータルを構成するときは、サービスの IP アドレスまたは DNS 名を 内部 IP アドレスを使用して通信できます

ロードバランサの代わりに、ラウンドロビン DNS を使用することもできます。このシナリオでは BaaS スタックの IP アドレスに対応する複数の A レコードを持つ DNS エントリを作成する。DNS 中 DNS サーバーはラウンドロビン方式で A レコード値を自動的に返します。

Cassandra への接続

BaaS をインストールする際、BaaS と Edge を同じ Cassandra クラスタに接続するように選択できます。 BaaS 用に別の Cassandra クラスタを作成することもできます。小規模な BaaS インストールとは、 トラフィック量が少ないアプリケーションの場合は、多くの場合、Cassandra クラスタを Edge と共有します。

高いスループットと可用性を実現するため、または Cassandra クラスタを複数の異なるクラスタに 個別の Cassandra クラスタを使用することをおすすめします。個別のクラスタ BaaS のトラフィック負荷が高い場合にパフォーマンスを最大化します。

日付の同期

すべてのサーバーの日時を同期する必要があります。まだ構成されていない場合は 「ntpdate」ユーティリティがこの目的に役立つ 同期できます。「yum install ntp」を使用するとユーティリティをインストールできます。

Tomcat のセキュリティ

API BaaS インストーラは、Apache Tomcat サーバーをすべての API BaaS Stack ノードにインストールします。 これには Tomcat 管理 UI が含まれます。インストーラのデフォルトの管理者認証情報は admin:admin から変更はありません。

必要に応じて、Tomcat の保護の一環としてこれらの認証情報を変更できます。詳細 以下をご覧ください。

インストールの概要

Edge をノードにインストールした後、apigee-setup ユーティリティを使用します。 ユーティリティを使用してノードに 1 つ以上の BaaS コンポーネントをインストールします。apigee-setup ユーティリティの形式は次のとおりです。

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

次の設定が含まれている apigee-setup ユーティリティに構成ファイルを渡します。 詳細情報を確認できます。構成ファイルに必要なリソースが apigee-setup は、 コマンドラインで名前を入力するように求められます。

唯一の要件は、構成ファイルがサービス プロバイダによってアクセス可能、または読み取り可能で 「apigee」できます。たとえば、ノード上の /tmp ディレクトリにファイルを配置します。

たとえば、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 Portal、API BaaS Stack、Tomcat をインストールします。ポータルは 軽量です。このために追加のリソースは必要ありません。

アサ

すべての API コンポーネントを単一ノード(Cassandra、Elasticsearch、API BaaS Stack、 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 をインストールする場合は、(DNS 名ではなく)Cassandra ノードの IP を指定し、 データセンターとラックを指定する「: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」修飾子を追加しました。 1 つ目の値「dc」はデータセンター番号ですデータセンター名は文字列「dc-」です。 データセンター番号が末尾に付加されています。

BAAS_CASS_REPLICATION

形式は「dataCenterName:#CassandraNodes」です。 たとえば、3 つの Cassandra ノードを持つ dc-1 の場合は、dc-1:3 です。

BAAS_USERGRID_URL

本番環境では、インスタンス内にあるロードバランサの URL とポート、 次の形式で、API BaaS スタックノードの前面に配置します。

http://myStackLoadBalancer:8443

API BaaS スタックが 1 つしかないテスト環境または開発環境 API BaaS スタックノードの URL とポート番号を次の形式で指定します。

http://stackIPorDNS:8080

API BaaS Stack サーバーのポート番号は 8080 です。

BAAS_PORTAL_URL

ロードバランサの URL とポート番号(ポータルの前にある場合)。 次の形式にします。

http://myPortalLoadBalancer:8443

ロードバランサがない場合、ポータル ノードの URL とポート番号は、 フォーム:

http://portalIPorDNS:9000

デフォルトでは、API BaaS Portal のポート番号は 9000 です。

BAAS_PORTAL_LISTEN_PORT

API BaaS Portal サーバーのポート番号は 9000 です。このポートが使用できない場合、 ポートを指定します

BAAS_PORTAL_URL を ポータル ノードの場合、ポート番号は両方のプロパティで同じである必要があります。

省略可 - Cassandra のインストール: マシン 8、9、 10 個

API BaaS を Edge で使用されているのと同じ Cassandra クラスタに接続することもできますが、Apigee 個別のクラスタを使用することをおすすめします。

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」からアクセス可能または読み取り可能である必要があります。できます。たとえば、 このファイルは、ノード上の /tmp ディレクトリにあります。

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

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

Cassandra cron ジョブを設定する

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

ElasticSearch をインストールするには:

  1. インターネットまたはインターネット以外を使用して Edge apigee-setup ユーティリティをノードにインストールします。 示されます。Edge apigee-setup のインストール ユーティリティをご覧ください。
  2. コマンド プロンプトで、セットアップ スクリプトを実行します。
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    「-p e」オプションは、ElasticSearch をインストールすることを指定します。
    構成ファイルは、「apigee」からアクセス可能または読み取り可能である必要があります。できます。たとえば、 このファイルは、ノード上の /tmp ディレクトリにあります。
  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」からアクセス可能または読み取り可能である必要があります。できます。たとえば、 このファイルは、ノード上の /tmp ディレクトリにあります。

インストーラは正しい管理者認証情報を取得すると、Tomcat をインストールして API を作成します。 BaaS キースペースを作成し、サーバー上に API BaaS スタックを設定します。また、SMTP は、 パスワードの確認メールを送信するための UI。

API BaaS ポータルのインストール: マシン 7

API BaaS ポータルをインストールするには:

  1. インターネットまたはインターネット以外を使用して Edge apigee-setup ユーティリティをノードにインストールします。 示されます。Edge apigee-setup のインストール ユーティリティをご覧ください。
  2. コマンド プロンプトで、セットアップ スクリプトを実行します。
    &gt;/opt/apigee/setup/bin/setup.sh -p p -f configFile

    「-p p」オプションは、API BaaS Portal のインストールを指定します。
    構成ファイルは、「apigee」からアクセス可能または読み取り可能である必要があります。できます。たとえば、 このファイルは、ノード上の /tmp ディレクトリにあります。

インストーラが 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 に置き換えます。 内部 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_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 は ロードバランサを介してアクセスしますTLS を使用するようにロードバランサが構成されている場合は、HTTPS プロトコルを使用します。マイページ ポートを含める必要があるのは、標準以外のポート、つまり ポート 80(HTTP 用)とポート 443(HTTPS 用)を 使用します

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

  1. Stack ノードを構成します。
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid Configure
  2. 変更を Tomcat
    にデプロイします。 &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy
  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 Configure
  5. 変更をデプロイします。
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy
  6. BaaS ポータルを再起動します。
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal restart

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

オンボーディングは、組織と組織管理者を作成するプロセスです。変更後 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.