Azure Virtual Desktop でのホスト プール負荷分散アルゴリズム

Azure Virtual Desktop では、プールされたホスト プールに対して 2 つの負荷分散アルゴリズムがサポートされています。 それぞれのアルゴリズムにより、ユーザーがリモート セッションを開始するときに使われるセッション ホストが決まります。 個人用ホスト プールの場合は、ユーザーとホスト プール内のセッション ホストが常に 1 対 1 でマッピングされるため、負荷分散は適用されません。

プールされたホスト プールでは、次の負荷分散アルゴリズムを使用できます。

  • 幅優先では、ホスト プール内のセッション ホスト間に新しいユーザー セッションができるだけ均等に分散されます。 セッション数の最大セッション制限を指定する必要はありません。

  • 深さ優先では、セッション数の上限に達するまで、1 つのセッション ホストで新しいユーザー セッションの開始が続けられます。 セッション数の上限に達すると、新しいユーザー接続はホスト プール内の次のセッション ホストに、それが上限に達するまで送られるようになり、それが繰り返されます。

1 つのプールされたホスト プールで一度に構成できるのは 1 つの負荷分散のみですが、ホスト プールの作成後に使用する負荷分散を変更できます。 ただし、次の動作については、どちらの負荷分散アルゴリズムも同じです。

  • ユーザーが既にホスト プール内にアクティブまたは切断済みのセッションを持っていて、再度サインインすると、ロード バランサーは、既存のセッションがあるセッション ホストにユーザーを正常にリダイレクトします。 この動作は、そのセッション ホストでドレイン モードが有効になっている場合でも適用されます。

  • ホスト プール内のセッション ホストにユーザーのセッションがまだない場合、ロード バランサーはドレイン モードが有効になっているセッション ホストを考慮しません。

  • アクティブなユーザー セッションがある間にセッション ホストでセッション数の上限を小さくした場合、既存のユーザー セッションにその変更は影響しません。

幅優先の負荷分散アルゴリズム

幅優先の負荷分散アルゴリズムでは、セッションのパフォーマンスが最適になるように、セッション ホスト間にユーザー セッションが分散されます。 CPU、メモリ、ディスクなどのセッション ホスト リソースは一般に競合が少ないため、幅優先はリモート リソースに接続するユーザーに最適なエクスペリエンスを提供したい組織に最適です。

幅優先のアルゴリズムでは、最初に、ホスト プール内で新しい接続を許可するセッション ホストのクエリが実行されます。 アルゴリズムは、次に、利用可能なセッション ホストのセットのうち、セッションの数が最も少ない半数の中から、セッション ホストをランダムに選びます。 たとえば、セッション数が 11、12、13、14、15、16、17、18、19 である 9 つのセッション ホストがある場合、新しいセッションは、セッション数が最少のセッション ホストに自動的に割り当てられるのではありません。 そうではなく、セッションが少ない方から 5 つのセッション ホストのいずれかに、ランダムに割り当てられます。 ランダム化のため、一部のセッションがすべてのセッション ホストに均等に分散されない場合があります。

深さ優先の負荷分散アルゴリズム

深さ優先の負荷分散アルゴリズムでは、一度に 1 つのセッション ホストが限界まで使われます。 このアルゴリズムは、ホスト プールで使用できるセッション ホストの数をよりきめ細かく制御したいコスト重視の組織に最適であり、ユーザーが少ない場合にいっそう簡単にスケールダウンできます。

深さ優先のアルゴリズムでは、最初に、新しい接続が許可されていてセッション数の上限に達していないセッション ホストのクエリが実行されます。 アルゴリズムは、次に、セッション数が最も多いセッション ホストを選びます。 同数のものがある場合、アルゴリズムはクエリから最初のセッション ホストを選びます。

深さ優先のアルゴリズムを使うときは、セッション数の上限を設定する必要があります。 Azure Virtual Desktop の分析情報を使って、各セッション ホストのセッション数セッション ホストのパフォーマンスを監視し、環境に最適なセッション数の上限を決定できます。

重要

すべてのセッション ホストがセッション数の上限に達したら、制限を引き上げるか、より多くのセッション ホストをホスト プールに追加する必要があります。

次のステップ