Edge for Private Cloud v4.18.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 スタックのみをインストールします。これにより Tomcat もインストールされます。 |
p |
API BaaS ポータルのみをインストールします。これにより、ウェブサーバーとして使用される Nginx ルーターもインストールされます。 |
c |
Cassandra のみをインストールします。 |
eb |
ElasticSearch、API BaaS Stack、Tomcat をノードにインストールします。 |
ebp |
ElasticSearch、API BaaS Portal、API BaaS Stack、Tomcat をインストールします(Cassandra はインストールしません)。ポータルは非常に軽量なので、追加のリソースは必要ありません。 |
asa |
すべての API BaaS コンポーネントを単一ノード(Cassandra、Elasticsearch、API BaaS Stack、API BaaS Portal、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 SMTPMAILFROM="My Company <myco@company.com>"
API BaaS を専用のノードにインストールするには:
- インターネットまたはインターネット以外の手順で、Edge apigee-setup ユーティリティをノードにインストールします。詳細については、Edge apigee-setup ユーティリティをインストールするをご覧ください。
- コマンド プロンプトで、設定スクリプトを実行します。
> /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile
「-p asa」オプションは、すべての API BaaS コンポーネントを単一ノード(Cassandra、Elasticsearch、API BaaS スタック、API BaaS ポータル、Tomcat)にインストールするように指定します。
構成ファイルは「apigee」ユーザーがアクセス可能または読み取り可能である必要があります。 - ElasticSearch をスタンドアロン ノードにインストールしたため、デフォルトのメモリ オプションを調整して、ElasticSearch に割り当てられるメモリを 4 GB から 6 GB に増やします。
- エディタで /opt/apigee/customer/application/elasticsearch.properties を開きます。このファイルが存在しない場合は作成します。
- setenv_elasticsearch_max_mem_size プロパティを 6g に設定します(デフォルトは 4g)。
setenv_elasticsearch_max_mem_size=6g - ファイルを保存します。
- 次のコマンドを実行します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
- 新しい組織のオンボーディングで説明されているように、組織をオンボーディングします。
構成により、ノード上のセットアップが正常に完了します。
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 Stack コンポーネントを同じノードにインストールします。合計 3 ノードになります。
7 ノード バージョンと 10 ノード バージョンの API BaaS では、Cassandra クラスタに接続する必要があります。Edge がすでにインストールされている場合は、その Cassandra クラスタに接続できます。つまり、API BaaS のインストールの一環として Cassandra をインストールする必要はありません。
次の例は、10 ノード API BaaS インストール用のサイレント構成ファイルの例を示しています。ElasticSearch と API BaaS Stack コンポーネントを同じ 3 つのノードにインストールする場合は、ファイルを編集して次のようにします。
- 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 SMTPMAILFROM="My Company <myco@company.com>"
省略可 - Cassandra をインストールする: マシン 8、9、10
API BaaS は、Edge で使用されているのと同じ Cassandra クラスタに接続できます。Edge をまだインストールしていない場合は、必要に応じて API BaaS で使用する Cassandra をインストールできます。
Cassandra クラスタで認証を使用することも、Cassandra 認証を無効にすることもできます。詳細については、Cassandra 認証を有効にするをご覧ください。
- インターネットまたはインターネットを使用しない手順で、ノードに Edge apigee-setup ユーティリティをインストールします。詳細については、Edge apigee-setup ユーティリティのインストールをご覧ください。
- コマンド プロンプトでセットアップ スクリプトを実行します。
> /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 を使用してロックをフラッシュし、すべての Cassandra ノードで 1 時間ごとに実行する cron ジョブを設定します。
複数の Cassandra ノードがある場合は、各サーバーの cron ジョブを 5 分ずつずらして、すべてのノードが同時にフラッシュされないようにします。
cron ジョブは次のコマンドを実行する必要があります。
/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks
ここで、IP_address は Cassandra ノードの IP アドレスです。
ElasticSearch のインストール: マシン 1、2、3
ElasticSearch を独自のノードにインストールするには:
- インターネットまたはインターネット以外の手順で、Edge apigee-setup ユーティリティをノードにインストールします。詳細については、Edge apigee-setup ユーティリティをインストールするをご覧ください。
- コマンド プロンプトでセットアップ スクリプトを実行します。
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
「-p e」オプションは、ElasticSearch のインストールを指定します。
構成ファイルは「apigee」ユーザーがアクセス可能または読み取り可能である必要があります。 - (省略可)ElasticSearch をスタンドアロン ノードにインストールする場合、つまり、API BaaS Stack とともにインストールされていない場合は、デフォルトのメモリ オプションを調整して、ElasticSearch に割り当てられたメモリを 4 GB から 6 GB に増やします。
- エディタで /opt/apigee/customer/application/elasticsearch.properties を開きます。このファイルが存在しない場合は作成します。
- setenv_elasticsearch_max_mem_size プロパティを 6g に設定します(デフォルトは 4g)。
setenv_elasticsearch_max_mem_size=6g - ファイルを保存します。
- 次のコマンドを実行します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
構成により、ノード上のセットアップが正常に完了します。
API BaaS Stack のインストール: マシン 4、5、6
API BaaS Stack を独自のノードにインストールするには:
- インターネット接続ありまたはインターネット接続なしの手順に従って、Edge apigee-setup ユーティリティをノードにインストールします。詳細については、Edge apigee-setup ユーティリティをインストールするをご覧ください。
- コマンド プロンプトでセットアップ スクリプトを実行します。
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
「-p b」オプションは、API BaaS スタックをインストールすることを指定します。
構成ファイルは「apigee」ユーザーがアクセス可能または読み取り可能である必要があります。
インストーラは、正しい管理者認証情報を取得した後、Tomcat をインストールし、API BaaS キースペースを作成し、サーバーに API BaaS スタックを設定します。また、UI でパスワード確認メールを送信できるように SMTP も構成されています。
API BaaS Portal をインストールする: マシン 7
API BaaS Portal をインストールするには:
- インターネット接続ありまたはインターネット接続なしの手順に従って、Edge apigee-setup ユーティリティをノードにインストールします。詳細については、Edge apigee-setup ユーティリティをインストールするをご覧ください。
- コマンド プロンプトで、セットアップ スクリプトを実行します。
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
「-p p」オプションは、API BaaS ポータルのインストールを指定します。
構成ファイルは「apigee」ユーザーがアクセス可能または読み取り可能である必要があります。
インストーラは Nginx ウェブサーバーを起動してから、API BaaS Portal の構成を完了します。 - 次のステップは、インストール方法によって異なります。
- Portalor Stack ノードの前にロードバランサがある場合は、次のセクションでロードバランサに API BaaS を構成する方法について説明します。
- Portalor Stack ノードの前にロードバランサがない場合は、後述の新しい組織のオンボーディングの説明に沿って、組織をオンボーディングします。
API BaaS ポータル URL をメモします。これは、API BaaS ポータルのユーザー インターフェースにアクセスするためにブラウザに入力する URL です。
スタックまたはポータル ロードバランサの API BaaS ノードを構成する
Stack ノードまたは Portal ノードの前にロードバランサを含める場合は、ロードバランサの正しい 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 以外)を使用している場合のみです。
Stack ノードの前にロードバランサを使用する場合は、/opt/apigee/customer/application/portal.properties で次のプロパティも設定する必要があります。
baas.portal.config.overrideUrl=http://localhost:8080
http://localhost:8080 を、Stack のロードバランサの URL に置き換えます。
Portal ノードの前にロードバランサを使用する場合は、usergrid.properties で次のプロパティを設定します。
usergrid-deployment_portal.url=http://localhost:9000
http://localhost:9000 は、ロードバランサの URL に置き換えます。ロードバランサが TLS を使用するように構成されている場合は、HTTPS プロトコルを使用します。ポートを含める必要があるのは、標準以外のポート(HTTP の場合はポート 80、HTTPS の場合はポート 443 以外)を使用している場合のみです。
usergrid.propertiesと portal.properties を編集したら、次の手順を行います。
- Stack ノードを構成します。
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure - BaaS スタックを再起動します。
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
注: BaaS Stack ノードを再起動する場合は、BAAS_CLUSTER_SEEDS にリストされている順序で再起動します。BAAS_CLUSTER_SEEDS には、最大 2 つの Stack ノードを一覧表示します。2 つのノードを順番に再起動した後、残りのノードを任意の順序で再起動できます。
- portal.properties を変更した場合は、Portal ノードを構成します。
> /opt/apigee/apigee-service/bin/apigee-service baas-portal configure - BaaS ポータルを再起動します。
> /opt/apigee/apigee-service/bin/apigee-service baas-portal restart
新しい組織のオンボーディング
オンボーディングとは、組織と組織管理者を作成するプロセスです。組織と組織管理者を作成したら、API BaaS ポータル UI にログインして、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>'
組織を作成するには:
- ディレクトリを /opt/apigee/baas-usergrid/bin に変更します。
- create_org_and_user.py Python スクリプトを呼び出します。
sys 管理者のみが実行できるように、BaaS システム管理者のユーザー名とパスワードを入力するよう求められます。 - API BaaS ポータル URL のインストール終了時にメモした URL を使用して、ウェブブラウザで API BaaS ポータルにログインします。ポータルにアクセスするには、API BaaS Portal の URL を次の形式で入力します。
http://{portalExternalIP}:9000/
注: IP は、ポータル マシンの外部 IP アドレスまたはホスト名です。ポートが開いていることを確認します。 - ポータルのログイン画面が表示されたら、次のいずれかを行います。
- 組織管理者のユーザー名とパスワードを使用してログインします。
- システム管理者のユーザー名とパスワードを使用してログインします。
API BaaS REST API へのアクセス
API BaaS REST API にアクセスするには、次の形式の URL を使用します。
https://{loadBalancerIP}:8080/{your-org}/{your-app}
開発環境では、すべての API BaaS コンポーネントを単一のノードにインストールできます。つまり、単一の API BaaS スタックを使用できます。または、API BaaS Stack ノードが 1 つあり、ロードバランサがない小規模な環境もあります。このような環境では、API BaaS Stack ノードに対して直接 API 呼び出しを行うことができます。
curl -v "http://portalExternalIP:8080/status"
API BaaS ポータルの使用を開始する方法について詳しくは、Apigee のドキュメント(http://apigee.com/docs/content/build-apps-home)をご覧ください。