アプリケーション プールのアンチアフィニティ ルールを構成すると、Horizon Connection Server はアプリケーションを実行するのに十分なリソースを持つ複数セッション ホストのみでアプリケーションを起動するように試みます。この機能は、大量の CPU またはメモリ リソースを使用するアプリケーションを制御するのに役立ちます。

アンチアフィニティ ルールは、アプリケーション一致パターンと最大数で構成されます。たとえば、アプリケーション一致パターンは autocad.exe で最大数は 2 の可能性があります。

Horizon Connection Server は、複数セッション ホストの Horizon Agent にアンチアフィニティ ルールを送信します。プロセス名がアプリケーション一致パターンと同じであるアプリケーションがホストで実行されている場合、Horizon Agent はこれらのアプリケーションのインスタンスの現在数を数え、その数を最大数と比較します。最大数を超えた場合、Horizon Connection Server はホストの選択時にそのホストをスキップしてアプリケーションの新規セッションを実行します。

手順

アンチアフィニティ ルールを作成する前に、アンチアフィニティ機能の制約について理解しておく必要があります。

  1. Horizon Console で、[インベントリ] > [アプリケーション] の順に選択します。
  2. 変更するプールを選択し、[編集] をクリックします。
  3. [アンチアフィニティ パターン] テキスト ボックスに、複数セッション ホストで実行されている他のアプリケーションのプロセス名に一致するパターンのカンマ区切りリストを入力します。

    パターン文字列には、アスタリスク (*) と疑問符 (?) をワイルドカード文字として含むことができます。アスタリスクは 0 文字以上に一致し、疑問符は任意の 1 文字に一致します。

    たとえば、*pad.exe,*notepad.??? は、wordpad.exenotepad.exenotepad.bat に一致しますが、wordpad.batnotepad.script には一致しません。

    注: VMware Horizon 8 は、1 つのセッションのアプリケーションについて一致する複数のパターンを 1 つの一致としてカウントします。
  4. [アンチアフィニティの数] テキスト ボックスに、ホストが新しいアプリケーション セッションについて拒否されるまでにホストで実行できる他のアプリケーションの最大数を入力します。

    最大数は 1 から 20 までの整数です。

  5. [送信] をクリックして、変更を保存します。

アンチアフィニティ機能の制約

アンチアフィニティ機能には一定の制約があります。

  • アンチアフィニティ ルールは、新規のアプリケーション セッションにのみ影響を及ぼします。ユーザーが以前にアプリケーションを実行したセッションが含まれる複数セッション ホストは、必ず同じアプリケーションで再利用されます。この動作は、レポートされるロード設定およびアンチアフィニティ ルールに優先します。
  • アンチアフィニティ ルールは、公開デスクトップ セッション内からのアプリケーションの起動には影響を及ぼしません。
  • 特定の状況では、ホストにおけるアプリケーションのインスタンスが指定した最大数に制約されない場合もあります。たとえば、他の保留中のセッションの他のアプリケーションが起動中の場合、Horizon 8 は正確なインスタンス数を判断できません。
  • アプリケーション間のアンチアフィニティ ルールはサポートされません。たとえば、Autocad や Visual Studio インスタンスなどの大規模なアプリケーション クラスは 1 つのルールではカウントできません。
  • エンドユーザーがモバイル クライアントで Horizon Client を使用する環境では、アンチアフィニティ ルールを使用しないでください。アンチアフィニティ ルールにより、エンド ユーザーの同一ファーム内で複数のセッションが開始されることがあります。モバイル クライアントで複数のセッションに再接続すると、動作が不安定になる場合があります。
  • アンチアフィニティ ルールでは、ロード バランシングのセッション接続数のみが考慮されます。ただし、複数セッション ホストのロード バランシングでは、ロード バランシングで接続中のセッション数、保留中のセッション数、切断されたセッション数の合計が考慮されます。