GO-Globalを使用したファームマネージャー、ファームホスト、およびサードパーティ製ロードバランサーの設定
はじめに
GO-Globalのファームマネージャーとファームホストの役割により、複数のサーバーを中央管理することで大規模な展開を容易に管理できます。ファームマネージャーはファームホストのクラスターを監督し、管理者が単一ポイントからセッションの管理、設定の適用、パフォーマンスの監視を行えるようにします。 サードパーティ製ロードバランサーと連携させることで、この構成は柔軟性、拡張性、およびデバイスを跨いだユーザー向けの信頼性の高いセッション再接続を提供します。本ガイドでは、GO-Global環境を最適化するためのファームマネージャー、ファームホスト、フェイルオーバーシステムの設定方法を説明します。
農場管理者
ファームマネージャーは、ファームホストのクラスターを一元管理するために使用されるGO-Globalホストです。リレー負荷分散装置とは異なり、ファームマネージャーはファームホストへの接続を負荷分散せず、クライアントとファームホスト間のデータを中継しません。ファームマネージャーはサードパーティ製負荷分散装置を使用してファームホストへの接続を管理します。ファームホストを設定する前に、ファームマネージャーを設定する必要があります。
ファームマネージャーの設定方法
- すべてのホストのリストから目的のホストを選択してください。
- ツール | ホストオプションをクリックします。
- 設定タブをクリックしてください。
- アプリケーション ホスト マネージャーをクリックします。
- ファームマネージャーをクリックしてください。
- [OK]をクリックしてください。
- アプリケーション公開サービスを再起動してください。
参照 農場管理者向けリソース要件 を参照してください。
注:
GO-Globalクラスタ内の全システムで、ログフォルダは同一である必要があります 。 たとえば、ファームホストがファームマネージャーに接続する場合、ファームホストのログフォルダーへのパスは、ファームマネージャー上のログフォルダーへのパス(例:%PROGRAMFILES%\GraphOn\GO-Global\Log)に設定されます。ファームホストにそのパスが存在しない場合、ファームホスト上でアプリケーション公開サービスが起動に失敗します。詳細については、「ログファイル」を参照してください。
ファームホスト
ファームホストとは、ファームマネージャーに接続されたGO-Globalホストです。GO-Globalクライアントはファームホストに直接接続します。
ファームホストの設定方法
- すべてのホストのリストから目的のホストを選択してください。
- ツール | ホストオプションをクリックします。
- 設定タブ をクリックしてください。
- アプリケーションホストをクリックします。
- ファームホストをクリック
- ファーム マネージャーのアドレス フィールドに、ファーム マネージャーの IP アドレスを入力します。
- [OK]をクリックしてください。
- アプリケーション公開サービスを再起動してください。
GO-Globalユーザー/クライアントは、ファームマネージャーに直接接続することを想定していません。ファーム展開における推奨設計およびユースケースは、サードパーティ製ロードバランサーを利用し、接続を様々なファームホストに直接転送することです。この目的のために、様々な無料のオープンソースおよびプロプライエタリなハードウェア、ソフトウェア、仮想クラウドロードバランサーが利用可能です。
注:
ユーザーは、管理対象のローカルまたはリモートホストのいずれかで管理者ユーザーである必要があります。そうでない場合、ユーザー名とパスワードの入力を求められ、その後、そのホストまたはマネージャーの管理者ユーザー名とパスワードを入力できるようになります。
サードパーティ製ロードバランサーの設定
GO-Globalのファームホストおよびファームマネージャーの役割により、管理者はサードパーティ製ロードバランサー経由でアクセスされるGO-Globalアプリケーションホストのファームを容易に管理できます。これらの役割を使用することで、管理者はファーム全体で実行中のセッションを管理・監視でき、ファーム内の全ファームホストに対して一括で設定を構成できます。 また、新しいファームホストがファームに追加されると、自動的にファーム内の他のホストの設定を継承します。
さらに、これらの新機能により、サードパーティ製ロードバランサー経由でGO-Globalホストに接続するユーザーは、あるデバイスからセッションを切断した後、別のデバイスから同じセッションに再接続できるようになります。ロードバランサーがユーザーのセッションが実行されているホストへの接続に失敗した場合でも、GO-Globalは自動的にユーザーをセッションに再接続します。
例えば、ホスト A でセッションを実行中のユーザーが職場でセッションを切断し、帰宅後に自宅のコンピューターからセッションに再接続した場合、GO-Global はユーザーが自身のセッションに確実に再接続されるようにします。ロードバランサーがユーザーの接続をホスト B にルーティングした場合、ホスト B はホスト A への接続を開き、AppController とホスト A 間のデータを中継します。
これらの機能を有効にするには:
- GO-Global ファームマネージャーを作成する:
- サードパーティ製ロードバランサーに接続されていないコンピューターにGO-Globalホストをインストールしてください。
- 管理コンソールを実行し、サーバーの役割をファーム マネージャーに設定します。
- アプリケーション公開サービスを再起動してください。
- ロードバランサーからアクセス可能な各GO-Globalアプリケーションホスト上で:
- 管理コンソールを実行し、サーバーの役割をファームホストに設定します。
- ステップ1で設定したファームマネージャーのアドレスを、ファームマネージャーアドレス欄に入力してください。
- アプリケーション公開サービスを再起動してください。
フェイルオーバー ファーム マネージャーの設定
管理者は、フェールオーバー ファーム マネージャーを次のように構成することで、ファームに対して高可用性を提供できます:
- フェイルオーバー ファーム マネージャーを作成する:
- サードパーティ製ロードバランサーに接続されていない別のコンピューターにGO-Global Hostをインストールしてください。
- 管理コンソールを実行し、サーバーの役割をファーム マネージャーに設定します。
- アプリケーション公開サービスを再起動してください。
- ロードバランサーからアクセス可能な各GO-Globalアプリケーションホスト上で:
- 管理コンソールを実行し、プライマリ ファーム マネージャーのアドレスを指定するフィールドに、セミコロンとフェイルオーバー ファーム マネージャーのアドレスを追加します。
- アプリケーション公開サービスを再起動してください。
ファームマネージャーおよびファームホストサーバーの役割は、長年にわたりGO-Globalリレーサーバーおよび依存ホストの役割を支えてきたのと同じインフラストラクチャと設計によってサポートされています。ただし、リレーサーバーとは異なり、ファームマネージャーはGO-Globalクライアントとホスト間のデータを中継しないため、リレーサーバーと同じスケーラビリティの制限を受けません。
ファームマネージャーはファーム内で実行中の全セッションを追跡しますが、管理者がセッションを監視している場合を除き、セッション内で実行中のアプリケーションからのデータはファームマネージャーを経由しません。
下図は、DMZ内のサードパーティ製ロードバランサーを使用し、ファームマネージャーとファームホストを内部ネットワークに配置したGO-Global構成を示しています。

AppControllerとGO-Global Web Appの両方がAWSネットワークロードバランサーと連携しますが、AWSアプリケーションロードバランサーと連携するのはGO-Global Web Appのみです。
ロードバランサーのアフィニティ/スティッキーネスオプション
サードパーティ製ロードバランサーを使用し、そのアフィニティ/スティッキネスオプションが有効化されていない場合、ロードバランサーはAppControllerからの接続を、Webアプリケーションの接続をルーティングしたホストとは異なるホストにルーティングすることがよくあります。この場合、GO-GlobalはAppControllerの接続を受け入れたホストから、Webアプリケーションの接続を受け入れたホストへ接続を中継するよう設計されています。
例えば、ロードバランサーがWebアプリの接続をHost 1にルーティングし、useAppパラメータが 指定されていないかtrueに設定されていない場合、Host 1上のアプリケーション公開サービスはWebアプリにAppControllerを起動するようコマンドを送信します。このコマンドには、アプリケーション公開サービスがワンタイムパスワード(OTP)とHost 1のアドレスを含めます。 Web アプリケーションは AppController を起動し、これらの値をコマンドライン引数として AppController に渡します。
AppController が起動してロードバランサーに接続する際、ロードバランサーのアフィニティ/スティッキネスオプションが有効でない場合、接続は別のホスト(例: ホスト 2)にルーティングされることがよくあります。 AppControllerはその後、Host 1のアドレス(コマンドラインで指定されたもの)をHost 2に送信します。Host 2はHost 1への接続を開き、AppControllerとHost 1間のデータを中継します。その後AppControllerはOTPをHost 1に送信し、Host 1は自身が指定した値と一致するか検証します。
このシナリオでは、ホスト1はWebアプリに渡すアドレスをHostProperties.xml内のRelayConnectionAddressプロパティから取得します。アプリケーション公開サービスは初回起動時にこのプロパティの値を初期化します。ただし、プロパティの値が既に設定されている場合、アプリケーション公開サービスは変更しません。
ファームホストをオフラインにする
サードパーティ製ロードバランサーをファームマネージャーと併用する場合、管理者は以下の手順に従って、ユーザーセッションを一切失うことなくファームからホストを削除できます。
- すべてのファームホストにおいて、切断されたセッションの終了オプションを「無効」または「終了後」に設定し、「終了後」の値を少なくとも1分以上に設定してください。
- ターゲットホスト(オフライン化したいファームホスト)をロードバランサーのターゲットグループから削除します。これにより、新規接続がターゲットホストにルーティングされるのを防ぎ、ロードバランサーによっては、いずれターゲットホストへの開いている接続を閉じるはずです。ターゲットホストへの接続が閉じられると、GO-Globalクライアントは自動的に、クラスター内の他のファームホストを経由して、ターゲットホスト上で実行中のセッションに再接続します。 具体的には、クライアントがロードバランサーへ新規接続を開くと、ロードバランサーがその接続を稼働中のファームホストのいずれかにルーティングします。その後、稼働中のファームホストが、ロードバランサーのターゲットグループから削除されたホストへ接続を中継します。
- ターゲットホスト上で実行中のセッション数を監視します。セッション数がゼロに達した場合、ファームホストをシャットダウンします。
注: AWS ネットワークロードバランサーを使用する場合、ターゲットホストが未使用状態に移行した際に接続が閉じられるよう、`deregistration_delay.connection_termination.enabled` をtrue に設定してください。
結論
サードパーティ製ロードバランサーを用いたファームマネージャーとファームホストの導入により、管理者はGO-Globalファーム全体でシームレスなセッション管理、拡張性の向上、信頼性の強化を実現できます。この構成はシステム管理を簡素化するだけでなく、ユーザーに対する継続的な可用性とパフォーマンスを保証します。適切な設定とリソース配分により、GO-Globalは分散アプリケーションへのアクセスを効率的かつ安全に管理するための強力な集中型フレームワークを提供します。
クラウドベースのアプリケーション配信を検討中のISVですか?GO-Globalがお客様のエンドユーザーのソフトウェアアクセスを合理化するためにどのようなお手伝いができるかについては、当社までお問い合わせください。または、無料トライアルをダウンロードしてご自身でお試しください。
