HAシナリオにおけるコントローラへのエージェント接続

通常、アプリエージェントとマシンエージェントはプライマリコントローラと通信します。プライマリコントローラが使用できなくなった場合、エージェントはセカンダリコントローラと通信する必要があります。

上図に示すとおりエージェントとコントローラ間のリバースプロキシによってトラフィックルーティングを処理することを推奨します。これにより、フェールオーバーの発生時にエージェント構成を変更する必要性がなくなります。また、DNS メカニズムを使用してエージェントでトラフィックを切り替えることにより発生する遅延もなくなります。

プロキシを使用している場合は、以下の controller-info.xml ファイルの Java エージェント設定例のように、エージェント構成のコントローラホスト接続の値をプロキシコントローラの仮想 IP または仮想ホスト名に設定します。

<controller-host>controller.company.com</controller-host>
ヒント: .NET エージェントの場合は、コントローラ高可用性属性を config.xml で true に設定します。「.NET エージェントの構成プロパティ」を参照してください。

プロキシでルーティングルールの自動化を設定すると、プロキシは次のアドレスでコントローラを監視できます。

http://<controller>:<port>/controller/rest/serverstatus

アクティブなノードは、この URL への GET リクエストに対し、HTTP 200 の応答を返します。応答本文には <available>true</available> が含まれます。パッシブなノードは 503 Service Unavailable を返します。本文は <available>false</available> です。

詳細については、「リバースプロキシの使用」を参照してください。