分散環境におけるContrastの構成
Contrastを分散環境で構成するには、データベースとアプリケーションサーバを別々のサーバに配置します。分散構成は、次のような場合に使用します。
接続するエージェント数が100以上になる予定がある
このような場合に分散構成を使用しないと、パフォーマンスの問題が発生する可能性があります。
パフォーマンスとスケーラビリティの向上のためロードバランシングを利用したい
追加の管理や運用が必要
分散構成の例
ここでは、Linux環境でContrastを/usr/local/contrastにインストールする場合の設定を例として使用します。ご利用の組織で異なる環境を使用する場合や、サードパーティ製ソフトウェアのインストール先に関するガイドラインが異なる場合があります。
本項では、以下のように各サーバを使用する構成を例とします。
1台のロードバランサー
1台のデータベースサーバ
Contrastアプリケーションを実行する2台のアプリケーションサーバ
必要に応じて、さらにサーバを増やすことができます。
開始する前に
Contrastを分散環境で構成するには、ご利用の環境およびその環境で問題なく処理できる負荷等について理解している必要があります。
分散環境の導入が適しているか、もしくはお客様専用のContrastのSaaSインスタンスを使用するのが最適かを判断するために、まずは弊社サポートまでお問い合わせください。
既にContrastを使用している場合は、既存のインスタンスをアプリケーションサーバ1(Contrast Node 1)に使用し、分散データベース構成を使用していることを確認してください。続行する前に、次の操作を行う必要があります。
MySQLの分散環境をまだ構築していない場合は、分散型MySQLを作成します。
VERSION
ファイル(/usr/local/contrast/VERSION
)を参照して、Contrastアプリケーションのバージョン番号を取得します。次のコマンドで、Contrastのデータベースバージョンを取得します。select `version` from schema_version ORDER BY `installed_on` DESC LIMIT 1;
上記のバージョン番号は、タスクの順序を決めるために必要です。
例えば、アプリケーションのバージョンが3.3.2で、データベースのバージョンが3.3.2.012の場合、データベースのバージョン番号から.012を除いても問題ないため、バージョンは同じと言えます。そのため、既存のアプリケーションサーバAは、バージョン3.3.2の別のデータベースBで実行できます。新しいアプリケーションサーバCにアプリケーションバージョン3.4.2をインストールして、データベースBに接続したい場合は、サーバCにバージョン3.4.2をインストールする前に、サーバAを停止するか更新する必要があります。
Contrastを新規にインストールする場合は、次の操作が必要です。
Contrastのシステム要件に従い、データベースサーバにMySQLをインストールして構成します。リモート接続の権限を持つMySQLユーザを作成します。Contrastへの接続には、この認証情報を使用します。
アプリケーションサーバ1(Contrast Node 1)に、分散データベース構成でContrastをインストールします。
分散MySQLインスタンス(Distributed [2])のオプションを選択します。データベースの作成をデータベースサーバに指定します。以下は、その例です。
Choose a MySQL database configuration. Default [1, Enter], Distributed [2]2 Host [localhost] <enter hostname of Mysql server> Port [13306] 3306 Credentials Username contrast Password <enter mysql password for contrast account>
各分散サーバの設定
アプリケーションサーバ1(Contrast Node 1)以下の設定ファイルをアーカイブして、TARファイルを作成します。
data/conf/
data/esapi/
data/contrast
data/initialized
data/contrast/lic
webapp/Contrast.war
VERSION
以下の例のようなコマンドを使用します。
$ cd /usr/local/contrast $ tar -czvf ~/ctdc.tar.gz data/agents data/conf data/contrast.lic data/esapi/ data/.initialized data/.contrast webapp/Contrast.war/.contrast VERSION
アプリケーションサーバ2(Contrast Node 2)にContrastをインストールします。
インストールの処理は、特権ユーザとして実行してください。
Windowsの場合、インストーラを右クリックして、管理者として実行を選択します。
Linuxの場合、
sudo
コマンドを使用してインストーラを起動します。
重要
Full or Application Only Install Choose the desired installation type: Full install [1, Enter], Application Server Only [2] 2
Application Server Onlyを選択し、前の手順で作成したTARファイルを使用します。分散構成に追加する他のアプリケーションサーバについても同じ手順を実行します。
Contrastで作成されたデフォルトユーザでテストして、 Contrastの両方のアプリケーションサーバ (Node 1およびNode 2)が機能することを確認してください。
4台目のサーバにロードバランサ(NGINXなど)を設定します。NGINXを選択した場合は、基本的なインストール手順を使用してください。
注記
Contrastでは、パフォーマンスを向上させるためにパーシステンスまたはスティッキーセッションが必要です。例えば、NGINXロードバランサでは、IPハッシュ方式を使用して、同じアドレスからのリクエストが使用可能な場合に、同じサーバに届くことを保証します。
サーバをセットアップしたら、ロードバランサを指定するようにContrastを設定する必要があります。この設定を行うには、各ノードの/data/conf/general.propertiesファイルを編集します。YAML設定ファイルのteamserver.urlの値をロードバランサの値に変更し、Contrastアプリケーションサーバを再起動します。
ロードバランサのヘルスチェックを行う場合は、以下のURLを使用します。
<CONTRAST_SERVER>/Contrast/api/public/ng/information
ここで、
<CONTRAST_SERVER>
はContrastアプリケーションのサーバのホスト名になります。重要
エージェントは、Contrast URLを使用してアプリケーションと通信します。Contrastはホスト名を判断することで、この値をあらかじめ設定します。ネットワーク上のクライアントが指定されたホスト名を解決できない場合、クライアントはサーバと通信できなくなります。この値には、エージェントが到達可能なContrastのホストかロードバランサを設定してください。
インストールが完了すると、Contrastの初期設定が始まります。完全に起動するまでに2〜3分かかることがあります。
設定の進行状況を確認するには、
server.log
とcontrast.log
をチェックしてください。サーバが正常に起動すると、server.log
に次のようなメッセージが表示されます。260916 20.18.25,837 {} {} {} INFO (Server.java:303) Contrast TeamServer Ready -