Azure Virtual Desktop でホスト プールの負荷分散を構成する
Azure Virtual Desktop では、プールされたホスト プールに対して 2 つの負荷分散アルゴリズムがサポートされています。 それぞれのアルゴリズムにより、ユーザーがリモート セッションを開始するときに使われるセッション ホストが決まります。 個人用ホスト プールの場合は、ユーザーとホスト プール内のセッション ホストが常に 1 対 1 でマッピングされるため、負荷分散は適用されません。
プールされたホスト プールでは、次の負荷分散アルゴリズムを使用できます。
幅優先では、ホスト プール内のセッション ホスト間に新しいユーザー セッションができるだけ均等に分散されます。 セッション数の最大セッション制限を指定する必要はありません。
深さ優先では、セッション数の上限に達するまで、1 つのセッション ホストで新しいユーザー セッションの開始が続けられます。 セッション数の上限に達すると、新しいユーザー接続はホスト プール内の次のセッション ホストに、それが上限に達するまで送られるようになり、それが繰り返されます。
プールされたホスト プールごとに一度に構成できる負荷分散アルゴリズムは 1 つだけですが、どのものを使用するかはいつでも変更できます。 次の動作については、どちらの負荷分散アルゴリズムも同じです。
ユーザーが既にホスト プール内にアクティブまたは切断済みのセッションを持っていて、再度サインインすると、ロード バランサーは、既存のセッションがあるセッション ホストにユーザーを正常にリダイレクトします。 この動作は、そのセッション ホストでドレイン モードが有効になっている場合でも適用されます。
ホスト プール内のセッション ホストにユーザーのセッションがまだない場合、ロード バランサーはドレイン モードが有効になっているセッション ホストを考慮しません。
アクティブなユーザー セッションがある間にセッション ホストでセッション数の上限を小さくした場合、既存のユーザー セッションにその変更は影響しません。
幅優先の負荷分散アルゴリズム
幅優先の負荷分散アルゴリズムでは、セッションのパフォーマンスが最適になるように、セッション ホスト間にユーザー セッションが分散されます。 CPU、メモリ、ディスクなどのセッション ホスト リソースは一般に競合が少ないため、幅優先はリモート リソースに接続するユーザーに最適なエクスペリエンスを提供したい組織に最適です。
幅優先のアルゴリズムでは、最初に、ホスト プール内で新しい接続を許可するセッション ホストのクエリが実行されます。 アルゴリズムは、次に、利用可能なセッション ホストのセットのうち、セッションの数が最も少ない半数の中から、セッション ホストをランダムに選びます。 たとえば、セッション数が 11、12、13、14、15、16、17、18、19 である 9 つのセッション ホストがある場合、新しいセッションは、セッション数が最少のセッション ホストに自動的に割り当てられるのではありません。 そうではなく、セッションが少ない方から 5 つのセッション ホストのいずれかに、ランダムに割り当てられます。 ランダム化のため、一部のセッションがすべてのセッション ホストに均等に分散されない場合があります。
深さ優先の負荷分散アルゴリズム
深さ優先の負荷分散アルゴリズムでは、一度に 1 つのセッション ホストが限界まで使われます。 このアルゴリズムは、ホスト プールで使用できるセッション ホストの数をより詳細に制御したいコスト重視の組織に最適で、ユーザーが少ないときに電源がオンになっているセッション ホストの数をより簡単にスケールダウンできます。
深さ優先のアルゴリズムでは、最初に、新しい接続が許可されていてセッション数の上限に達していないセッション ホストのクエリが実行されます。 アルゴリズムは、次に、セッション数が最も多いセッション ホストを選びます。 同数のものがある場合、アルゴリズムはクエリから最初のセッション ホストを選びます。
深さ優先のアルゴリズムを使うときは、セッション数の上限を設定する必要があります。 Azure Virtual Desktop の分析情報を使って、各セッション ホストのセッション数を監視し、セッション ホストのパフォーマンスを確認して、環境に最適なセッション数の上限を決定できます。
重要
すべてのセッション ホストがセッション数の上限に達したら、制限を引き上げるか、より多くのセッション ホストをホスト プールに追加する必要があります。
前提条件
プールされたホスト プールの負荷分散を構成するには、次のものが必要です。
既存のプールされたホスト プール。
デスクトップ仮想化ホスト プール共同作成者ロールが割り当てられた Azure アカウント。
Azure CLI または Azure PowerShell をローカルで使用する場合は、「Azure Virtual Desktop で Azure CLI と Azure PowerShell を使用する」を参照して、desktopvirtualization Azure CLI 拡張機能または Az.DesktopVirtualization PowerShell モジュールがインストールされていることを確認してください。 別の方法として、Azure Cloud Shell を使用します。
負荷分散を構成する
お使いのシナリオに関連するタブを選択します。
Azure portal で負荷分散を構成する方法は次のとおりです。
Azure portal にサインインします。
検索バーに「Azure Virtual Desktop」と入力し、一致するサービス エントリを選びます
[ホスト プール] を選び、構成するホスト プールの名前を選びます。
プロパティを選択します。
[負荷分散アルゴリズム] で、このホスト プールに使用する種類をドロップダウン メニューから選んでから、[最大セッション制限] に値を入力します。
[保存] を選び、新しい負荷分散設定を適用します。
Note
深さ優先の負荷分散アルゴリズムにより、セッションの上限までセッションがセッション ホストに分散されます。 最初にホスト プールを作成するときに幅優先を使用すると、セッションの上限の既定値は 999999
に設定されます。これは、このパラメーターに設定できる最大値でもあります。 深さ優先の負荷分散を使用するときに、可能な限り最適なユーザー エクスペリエンスを実現するには、セッションの上限パラメーターを、要件に最適な数値に変更します。
関連するコンテンツ
- 自動スケーリングによってホスト プールで使用可能なセッション ホストの数が自動的にスケーリングされる方法を理解します。