Citrix DaaS

Autoscaleの制限(クラウドバースト)

デリバリーグループの特定マシンに対するAutoscaleの制限

Autoscaleには、デリバリーグループ内のマシンのサブセットのみを電源管理できる柔軟性があります。この場合、1つまたは複数のマシンにタグを適用し、タグ付きマシンのみを電源管理するようにAutoscaleを構成します。

この機能はクラウドの処理が増大した場合に有用であり、クラウドベースのリソースで追加の需要(バーストワークロード)が発生する前にオンプレミスのリソース(またはパブリッククラウドのリザーブドインスタンス)を使用してワークロードを処理できます。最初にオンプレミスのマシン(またはリザーブドインスタンス)をワークロードに対応させるには、タグ制限とゾーン優先度を使用する必要があります。

タグ制限は、Autoscaleで電源管理されるマシンを指定します。ゾーン優先度では、ユーザーの起動要求を処理する優先ゾーンのマシンを指定します。詳しくは、「タグ」および「ゾーン優先度」を参照してください。

Autoscaleを特定のマシンに制限するために、[管理]コンソールまたはPowerShellを使用できます。

[管理]コンソールを使用してAutoscaleを特定のマシンに制限する

(この機能は、従来の構成コンソールでは使用できません)。

Autoscaleを特定のマシンに制限するには、次の手順を完了します:

  1. タグを作成し、そのタグをデリバリーグループ内の該当するマシンに適用します。詳しくは、「タグとタグ制約の管理」を参照してください。

  2. デリバリーグループを選択し、Autoscaleの管理ウィザードを開きます。

  3. [Autoscaleの制限] ページで [タグ制限を有効にする] を選択し、一覧からタグを選択します。次に [適用] をクリックして変更を保存します。

    シングルセッションOSの静的およびランダムのデリバリーグループのユーザーインターフェイス:

    Autoscaleの制限

    マルチセッションOSデリバリーグループのユーザーインターフェイス:

    Autoscaleの制限

警告:

  • Autoscaleを特定のタグを持つマシンに制限すると、ヒストグラムが自動的に更新され、タグごとのマシンの数に反映される場合があります。[スケジュールとピーク時間] ページで、必要であれば手動で時間枠ごとにマシンを割り当てることができます。
  • Autoscaleを制限するために使用されているタグを削除することはできません。タグを削除するには、最初にタグ制限を削除する必要があります。

タグ制限を適用し、あとからデリバリーグループから削除することができます。そのためには、[Autoscaleの管理]>[Autoscaleの制限] ページで [タグ制限を有効にする] をオフにします。

警告:

  • [タグ制限を有効にする] をオフにしないで該当マシンからタグを削除しAutoscaleの管理ウィザードを開くと、警告を受け取ることがあります。マシンからタグを削除するとAutoscaleで指定したタグが無効になるため、Autoscaleが管理するマシンがなくなる可能性があります。警告を解決するには、[Autoscaleの制限] ページで無効なタグを削除し、[適用] をクリックして変更を保存します。

PowerShellを使用してAutoscaleを特定のマシンに制限する

PowerShell SDKを直接使用するには、次の手順を実行します:

  1. タグを作成します。New-Brokertag PowerShellコマンドを使用してタグを作成します。
  2. タグをマシンに適用します 。Get-Brokermachine PowerShellコマンドを使用して、Autoscaleで電源管理するカタログのマシンにタグを適用します。

    注:

    タグの適用後、新しいマシンをカタログに追加できます。タグはこれらの新しいマシンに自動的に適用されません

  3. Autoscaleで電源管理するデリバリーグループにタグ付きのマシンを追加します。Get-BrokerDesktopGroup PowerShellコマンドを使用して、対象のマシンが含まれるデリバリーグループにタグ制限を追加します(つまり、「Xタグでマシンの起動を制限します」)。

タグ制限を適用し、あとからデリバリーグループから削除することができます。この場合、Get-BrokerDesktopGroup PowerShellコマンドを使用します。

例:Get-BrokerDesktopGroup –Uid 1 | Set-BrokerDesktopGroup –RestrictAutoscaleTagUid $null この場合、デリバリーグループのUIDは1です。

注:

タグなしのマシンは、ユーザーが電源をオフにすると自動的に再起動します。この動作により、ワークロードをより迅速に処理できるようになります。この動作は、Set-BrokerDesktopGroupAutomaticRestartForUntaggedMachinesプロパティを使用して、デスクトップごとのグループで有効または無効にできます。詳しくは、https://citrix.github.io/delivery-controller-sdk/Broker/Set-BrokerDesktopGroup/を参照してください。

サンプルシナリオ

次のようなシナリオを想定します:

  • マシンカタログの構成。2つのマシンカタログ(C1とC2)があります。
    • カタログC1には、オンプレミス展開でローカルにある5台のマシン(M1からM5)が含まれています。
    • カタログC2には、クラウド展開でリモートにある5台のマシン(M6からM10)が含まれています。
  • タグ制限。「Cloud」という名前のタグが作成され、カタログC2のマシンM6からM10に適用されます。

  • ゾーン構成。2つのゾーン(Z1およびZ2)が作成されます。
    • カタログC1を含むゾーンZ1は、オンプレミス展開に対応しています。
    • カタログC2を含むゾーンZ2は、クラウド展開に対応しています。
  • デリバリーグループの構成
    • このデリバリーグループには、10台のマシン(M1からM10)、カタログC1からの5台のマシン(M1からM5)、およびカタログC2からの5台のマシン(M6からM10)が含まれます。
    • マシンM1からM5は手動で電源をオンにされ、スケジュール全体を通してオンのままになります。
  • Autoscaleの構成
    • 処理能力バッファは10%に設定します。
    • Autoscaleはタグ「Cloud」が付いたマシンのみ電源を管理します。この場合、AutoscaleはクラウドマシンM6からM10の電源を管理します。
  • 公開アプリケーションまたはデスクトップの構成。ゾーン優先度が、たとえば公開デスクトップ用に構成されると、ユーザーの起動要求でゾーンZ1がゾーンZ2より優先されます。
    • ゾーンZ1は、公開デスクトップの優先ゾーン(ホームゾーン)として構成されます。

このシナリオは以下の順序で実行されます:

  1. ユーザーはログオンしていません。
  2. ユーザーセッションが増加します。
  3. ユーザーセッションは、すべてのオンプレミスマシンが消費されるまで増加します。
  4. 追加のユーザーセッションが開始されます。
  5. セッションの終了により、ユーザーセッションが減少します。
  6. ユーザーセッションは、セッションの負荷がオンプレミスマシンによってのみ処理されるようになるまで減少し続けます。

上記のシナリオでAutoscaleがどのように機能するかについては、以下を参照してください。

  • ユーザー負荷なし(初期の状態)
    • オンプレミスマシンM1からM5まですべての電源がオンになっています。
    • クラウド内の1台のマシン(たとえばM6)の電源がオンになります。マシンの電源がオンになっているのは、処理能力バッファが構成されているためです。この場合、10(マシン数)×10,000(負荷インデックス)×10%(構成された処理能力バッファ)=10,000です。したがって、1台のマシンの電源がオンになります。
    • 電源がオンになっているすべてのマシン(M1からM6)の負荷インデックス値は基準の負荷(負荷インデックス=0)になっています。
  • ユーザーのログオン
    • セッションは構成されたゾーン優先度によってマシンM1〰M5でホストされ、これらのオンプレミスマシン全体で負荷が分散されます。
    • 電源がオンになっているマシン(M1からM5まで)の負荷インデックスが増加します。
    • 電源がオンになっているマシンM6の負荷インデックス値は基準の負荷になっています。
  • ユーザーが負荷を増やし、すべてのオンプレミスのリソースを消費
    • セッションは構成されたゾーン優先度によってマシンM1〰M5でホストされ、これらのオンプレミスマシン全体で負荷が分散されます。
    • 電源がオンになっているすべてのマシン(M1からM5まで)の負荷インデックスが10,000に達します。
    • 電源がオンになっているマシンM6の負荷インデックス値は基準の負荷のままです。
  • さらに1人のユーザーがログオン
    • ゾーン優先度がオーバーフローし、セッションはクラウドマシンM6でホストされます。
    • 電源がオンになっているすべてのマシン(M1からM5まで)の負荷インデックスが10,000に達します。
    • 電源がオンになっているマシンM6の負荷インデックス値が上昇し、基準の負荷を超えます。予備の合計処理能力が負荷インデックス基準で10,000未満に低下すると、処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(M7)の電源をオンにします。マシンM7の電源をオンにするまで時間がかかり、準備が整うまで遅延が生じる場合があります。
  • さらにユーザーがログオン
    • セッションは、マシンM6でホストされます。
    • 電源がオンになっているすべてのマシン(M1からM5まで)の負荷インデックスが10,000に達します。
    • 電源がオンになったマシンM6の負荷インデックス値がさらに上昇しますが、予備の合計処理能力は、負荷インデックス基準で10,000を超えています。
    • 電源がオンになっているマシンM7の負荷インデックス値は基準の負荷のままです。
  • さらに多くのユーザーがログオン
    • マシンM7の準備が整うと、セッションはマシンM6およびM7でホストされるようになり、これらのマシン間で負荷が分散されます。
    • 電源がオンになっているすべてのマシン(M1からM5まで)の負荷インデックスが10,000に達します。
    • マシンM7の負荷インデックス値は基準の負荷ではなくなります。
    • 電源がオンになっているマシン(M6とM7)の負荷インデックスが増加します。
    • 予備の合計処理能力は、まだ負荷インデックス基準で10,000を超えています。
  • セッションの終了によりユーザーセッションの負荷が減少する
    • ユーザーがセッションからログオフした後、またはアイドルセッションがタイムアウトした後、マシンM1からM7までの解放された処理能力は他のユーザーが開始したセッションのホストで再利用されます。
    • 予備の合計処理能力が負荷インデックス基準で10,000を超えるレベルに増加すると、Autoscaleはいずれかのマシン(例:M6〰M7)をドレイン状態にします。その結果、他のユーザーによって開始されたセッションは、(ユーザー負荷が再度増大する、または他のクラウドマシンの負荷が最小になるなど)新しい変更が行われない限り、そのマシン(M7など)に送信されなくなります。
  • 1つまたは複数のクラウドマシンが不要になるまで、ユーザーセッションの負荷はさらに減少します。
    • マシンM7上のすべてのセッションが終了し、指定された電源オフの遅延でタイムアウトになると、AutoscaleはマシンM7の電源をオフにします。
    • 電源がオンになっているマシン(M1からM5まで)の負荷インデックスが10,000を下回るレベルに下降します。
    • 電源がオンになっているマシン(M6)の負荷インデックスが減少します。
  • クラウドマシンが不要になるまで、ユーザーセッションの負荷はさらに減少します。
    • マシンM6にユーザーセッションがない場合でも、Autoscaleは予備の処理能力用に確保しているため電源をオフにしません。
    • 処理能力バッファが構成されているため、Autoscaleは残されたクラウドマシンM6の電源をオンにしたままにします。このマシンは、新規ユーザーにデスクトップを提供するため待機しています。
    • セッションは、オンプレミスマシンに利用できる処理能力がある限り、マシンM6でホストされません。
Autoscaleの制限(クラウドバースト)