Autoscale

Autoscaleは、Citrix Virtual Apps and Desktopsサービス専用の機能であり、プロアクティブにマシンの電源を管理するための一貫した、高性能なソリューションを提供します。その目的は、コストとユーザーエクスペリエンスのバランスを取ることです。Citrix Autoscaleにより、Smart Scaleテクノロジ(廃止)をStudioの電源管理ソリューションに組み込むことができます。

Autoscaleについて

Autoscaleによって、デリバリーグループに登録されているすべてのサーバーおよびデスクトップOSマシンの電源をプロアクティブに管理できます。

サポートされるVDAホストプラットフォーム

Autoscaleは、Virtual Apps and Desktopsサービスがサポートするすべてのプラットフォームをサポートします。これにはCitrix Hypervisor、Amazon Web Services、Google Cloud Platform、Microsoft Azure Resource Manager、VMware vSphereなど、さまざまなインフラストラクチャプラットフォームが含まれます。サポート対象のプラットフォームについて詳しくは、Virtual Apps and Desktopsサービスの「システム要件」を参照してください。

サポートされるワークロード

Autoscaleはリモートデスクトップサービス(RDS)およびVirtual Desktop Infrastructure(VDI)の両方で機能します。考慮するユーザーインターフェイスは3種類です:

  • RDSデリバリーグループ用のAutoscaleユーザーインターフェイス

  • プール型のVDIデリバリーグループ用のAutoscaleユーザーインターフェイス

  • 静的なVDIデリバリーグループ用のAutoscaleユーザーインターフェイス

さまざまなデリバリーグループのユーザーインターフェイスについて詳しくは、「3種類のAutoscaleユーザーインターフェイス」を参照してください。

長所

Autoscale機能には次の長所があります:

  • デリバリーグループ内のマシンの電源を管理するための、単一の一貫したメカニズムを提供します。

  • 負荷ベース、スケジュールベース、またはその両方を組み合わせた電源管理によって、可用性とコストの管理を可能にします。

  • コスト削減や処理能力の利用状況などのメトリックを監視し、通知を有効にするには、[監視] タブのDirectorを使用します。

ビデオツアー(2分間)

次のビデオでは、Autoscaleを簡単に紹介するクイックツアーを提供しています。

ビデオアイコン

移行

Smart ScaleからAutoscaleへの移行はサポートされています。移行には、Smart Scaleから構成データをエクスポートし、Autoscaleにインポートする手順が含まれます。詳しくは、「Smart Scale to Autoscale migration」を参照してください。

3種類のAutoscaleユーザーインターフェイス

考慮するAutoscaleユーザーインターフェイスは3種類です。詳しくは以下を参照してください。

RDSデリバリーグループ用のAutoscaleユーザーインターフェイス:

Autoscale RDS UI

プール型のVDIデリバリーグループ用のAutoscaleユーザーインターフェイス:

Autoscaleのプール型のVDI UI

静的なVDIデリバリーグループ用のAutoscaleユーザーインターフェイス:

Autoscaleの静的なVDI UI

デリバリーグループのAutoscaleの有効化または無効化

注:

デフォルトでは、デリバリーグループを作成するとAutoscaleが有効になります。

  1. [管理] タブのStudioナビゲーションペインで [デリバリーグループ] を選択します。

  2. [操作] ペインでデリバリーグループを選択して、[デリバリーグループの編集] をクリックします。

  3. [Autoscale] ページで [Autoscale] チェックボックスをオンにしてAutoscaleを有効にします。Autoscaleを有効にすると、ページ上のオプションが有効になります。

  4. Autoscaleを無効にするには、[Autoscale] チェックボックスをオフにします。ページのオプションが灰色表示になり、選択したデリバリーグループに対してAutoscaleが無効になっていることを示します。

重要:

  • Autoscaleを無効にすると、Autoscaleによって管理されているすべてのマシンは、無効になった時点の状態のままになります。
  • Autoscaleを無効にした後、ドレイン状態にあるマシンはドレイン状態が解除されます。ドレイン状態について詳しくは、「ドレイン状態」を参照してください 。

Autoscaleによるマシンの電源管理方法

Autoscaleは、選択したスケジュールに基づいてマシンの電源をオンまたはオフにします。Autoscaleでは、特定の曜日を含む複数のスケジュールを設定し、その期間中利用可能なマシンの数を調整できます。特定の日の特定の時間に特定のユーザーグループがマシンリソースを消費すると予想される場合は、その間のエクスペリエンスを最適化できます。それらのマシンで実行中のセッションがあるかどうかにかかわらず、スケジュール中にマシンの電源がオンになることに注意してください。

これはデリバリーグループのタイムゾーンに基づいたスケジュールです。タイムゾーンを変更するには、デリバリーグループのユーザー設定を変更します。詳しくは、「デリバリーグループの管理」を参照してください。

デフォルトでは、Autoscaleには平日(月曜日から金曜日まで)と週末(土曜日と日曜日)の2種類のスケジュールがあります。平日(午前7時から午後7時まで)に特定の台数のマシンの電源をオンにして、週末には電源をオンにしません。数値は、構成された処理能力バッファとデリバリーグループ内のマシンの台数によって1(最小)から50(最大)まで設定できます。電源がオンになっているマシンのデフォルトの台数について詳しくは、「処理能力バッファについて」を参照してください。

注:

Autoscaleは、サイトに登録されているマシンのみを使用可能な処理能力の一部として計算します。「登録されている」とは、そのマシンが使用可能であるか、既に使用中であることを意味します。これによって、ユーザーセッションを実行できるマシンのみがデリバリーグループの処理能力として見なされるようになります。

スケジュールベースの設定

Autoscaleスケジュール。スケジュールを追加、編集、選択、削除できます。

適用する曜日。選択したスケジュールに適用した曜日を強調表示します。残りの曜日は灰色表示されます。

編集。時間ごとにマシンを割り当てることができます。数字またはパーセンテージでマシンを割り当てることができます。

注:

  • このオプションは、RDSデリバリーグループおよびプール型のVDIデリバリーグループ用のAutoscaleユーザーインターフェイスでのみ使用可能です。
  • [編集] の横のヒストグラムは、異なる時間枠で実行中のマシンの数またはパーセンテージを表示します。
  • [ピーク時]の上の [編集] をクリックすると、時間枠ごとにマシンを割り当てることができます。[起動するマシン] ウィンドウのドロップダウンリストで選択したオプションによって、マシンを数字またはパーセンテージで割り当てることができます。
  • RDSデリバリーグループの場合、実行する最小マシン数を各日の30分ごとに個別に設定できます。プール型のVDIデリバリーグループの場合、実行する最小マシン数を各日の1時間ごとに個別に設定できます。

独自にスケジュールを定義するには、以下の手順を実行します。

  1. ドロップダウンリストで [スケジュールの編集] を選択して [スケジュールの追加] をクリックします。

  2. [Autoscaleスケジュールの編集]ウィンドウで、各スケジュールに適用する曜日を選択します。必要に応じてスケジュールを削除することもできます。

  3. [適用] をクリックしてスケジュールを保存し、Autoscaleページに戻ります。

  4. ドロップダウンリストで適切なスケジュールを選択し、そのスケジュールに適切なオプションを設定します。

重要:

  • Autoscaleでは、同じ日を異なるスケジュールで上書きすることはできません。たとえば、schedule1で月曜日を選択した後にschedule2で月曜日を選択すると、schedule1で自動的に月曜日が消去されます。
  • スケジュール名では大文字と小文字が区別されません。
  • スケジュール名は空白にしたり、スペースだけを含めることはできません。
  • Autoscaleでは、文字間にスペースを入れることができます。
  • スケジュール名に次の文字を使用することはできません: \ / ; : # . * ? = < > | [ ] ( ) { } “ ‘ `。
  • Autoscaleでは、重複したスケジュール名は使用できません。スケジュールごとに異なる名前を入力してください。
  • Autoscaleでは、空のスケジュールはサポートしていません。つまり、選択した日のないスケジュールは保存されません。

注:

[Autoscale]ページでは、選択したスケジュールに含まれている曜日が強調表示され、含まれていない曜日は灰色表示になります。

負荷ベースの設定

ピーク時。選択したスケジュールに適用した曜日のピーク時間を定義できます。このためには、横棒グラフを右クリックします。ピーク時間を定義すると、残りの未定義の時間はデフォルトでオフピーク時間に設定されます。デフォルトでは、午前7時から午後7時の時間枠が選択したスケジュールの曜日のピーク時間として定義されます。

重要:

  • RDSデリバリーグループの場合、ピーク時間の棒グラフが処理能力バッファに使用されます。
  • VDIデリバリーグループの場合、ピーク時間の棒グラフが処理能力バッファに使用され、ログオフや切断後にトリガーされるアクションを制御します。

処理能力バッファ。電源がオンになっているマシンのバッファを維持できます。値が小さいほどコストが低くなります。値を大きくするとユーザーエクスペリエンスが確実に最適化されるため、セッションを起動する時に追加のマシンの電源がオンになるまで待機する必要がありません。デフォルトでは、処理能力バッファはピーク時およびオフピーク時の10%です。処理能力バッファを0(ゼロ)に設定した場合、セッションを起動する時に追加のマシンの電源がオンになるまで待機が必要な場合もあります。Autoscaleでは、ピーク時とオフピーク時で個別に処理能力バッファを指定できます。

そのほかの設定

ヒント:

切断時。セッションが切断されてから一時停止またはシャットダウンされるまで、切断されロックされたマシンの電源をオンにしておく時間を指定できます。指定した切断時間が経過すると、構成したアクションに応じて、マシンは一時停止またはシャットダウンします。デフォルトでは、切断されたマシンにアクションは割り当てられていません。ピーク時とオフピーク時で個別にオプションを定義できます。このためには、下向き矢印をクリックして、メニューから次のいずれかのオプションを選択します:

  • 何もしない。これを選択すると、セッション切断後のマシンの電源はオンのままになり、Autoscaleは何もしません。
  • 一時停止。これを選択すると、指定された切断時間が経過した時にAutoscaleがマシンをシャットダウンせずに一時停止します。
  • シャットダウン。これを選択すると、指定された切断時間が経過した時にAutoscaleがマシンをシャットダウンします。

注:

このオプションは、プール型のVDIデリバリーグループおよび静的なVDIデリバリーグループ用のAutoscaleユーザーインターフェイスでのみ使用可能です。

ログオフ時 。セッションのログオフから一時停止またはシャットダウンされるまで、マシンの電源をオンにしておく時間を指定できます。指定したログオフ時間が経過すると、構成したアクションに応じて、マシンは一時停止またはシャットダウンします。デフォルトでは、ログオフしたマシンにアクションは割り当てられていません。ピーク時とオフピーク時で個別にオプションを定義できます。このためには、下向き矢印をクリックして、メニューから次のいずれかのオプションを選択します:

  • 何もしない。これを選択すると、セッションのログオフ後マシンの電源はオンのままになり、Autoscaleは何もしません。
  • 一時停止。これを選択すると、指定されたログオフ時間が経過した時にAutoscaleがマシンをシャットダウンせずに一時停止します。
  • シャットダウン。これを選択すると、指定されたログオフ時間が経過した時にAutoscaleがマシンをシャットダウンします。

注:

このオプションは、静的なVDIデリバリーグループ用のAutoscaleユーザーインターフェイスでのみ使用可能です。

電源オフの遅延。マシンの電源をオンにした後Autoscaleがマシンの電源をオフにするまで経過する必要がある最短の分数を指定できます。これによって、セッション需要が不安定な期間にマシンが電源オンとオフを繰り返さないようにします。デフォルトでは、電源オフの遅延は30分です。この値は、0〜60分の間で設定できます。

注:

このオプションは、RDSデリバリーグループ用のAutoscaleユーザーインターフェイスでのみ使用可能です。

1時間あたりのマシンインスタンスのコスト。選択したコストベースに一致する1時間あたりのマシンインスタンスのコストを指定できます。1時間あたりのマシンインスタンスのコストは、使用されたコンピューティング処理能力の1時間あたりのコスト(米ドル)です。この設定は、上記のAutoscale設定によるコスト削減を計算するために使用されます。削減額は、[監視]>[傾向]>[マシンの使用量] で確認します。詳しくは、「Autoscale管理対象マシンの監視」を参照してください。

注:

Autoscaleは、選択したコストベースで通貨単位の変更をサポートしていません。

処理能力バッファについて

処理能力バッファは、動的な負荷の増加を考慮し、現在の需要に応じて予備の処理能力を追加するために使用されます。次の2つのシナリオに注意する必要があります:

  • RDSデリバリーグループの場合、処理能力バッファは、負荷インデックスを基準としたデリバリーグループの合計処理能力のパーセンテージで定義されます。負荷インデックスについて詳しくは、「負荷インデックス」を参照してください。

  • VDIデリバリーグループの場合、処理能力バッファは、コンピューターの数を基準としたデリバリーグループの合計処理能力のパーセンテージで定義されます。

Autoscaleでは、ピーク時とオフピーク時で個別に処理能力バッファを指定できます。処理能力バッファフィールドの値を小さくすると、Autoscaleがオンにする予備の処理能力が少なくなるため、コストが削減されます。値を大きくするとユーザーエクスペリエンスが確実に最適化されるため、セッションを起動する時に追加のマシンの電源がオンになるまで待機する必要がありません。デフォルトでは、処理能力バッファは10%です。デリバリーグループで構成された処理能力バッファおよびマシンの数に関係なく、Autoscaleが電源をオンにするマシンは最大50台です。

重要:

処理能力バッファにより、予備の合計処理能力がデリバリーグループの合計処理能力の「X」パーセントを下回るレベルに低下すると、マシンの電源がオンになります。これによって、必要なパーセンテージの予備の処理能力が確保されます。

RDSデリバリーグループ

マシンの電源がオンになる状況

重要:

スケジュールが選択されている場合、Autoscaleはスケジュールで構成されているすべてのマシンの電源をオンにします。負荷に関係なく、このスケジュール中、指定された台数のマシンの電源をオンにしたままにします。

デリバリーグループ内の電源がオンになっているマシンの数が負荷インデックス基準で処理能力を確保するためのバッファに一致しなくなると、Autoscaleは追加のマシンの電源をオンにします。たとえば、デリバリーグループに20台のマシンがあり、スケジュールベースのスケール、20%の処理能力バッファで3台のマシンの電源がオンになる予定とします。この場合、負荷がなくなると、最終的に4台のマシンの電源がオンになります。これは、バッファとして4x10,000の負荷インデックスが必要であり、少なくとも4台のマシンの電源をオンにする必要があるためです。こうした事態は、ピーク時、マシンの負荷が増加したとき、新しいセッションの起動時、新しいマシンをデリバリーグループに追加したときに発生する可能性があります。Autoscaleは、次の基準を満たすマシンの電源のみをオンにします:

  • マシンがメンテナンスモードではない。

  • マシンが稼働しているハイパーバイザーがメンテナンスモードになっていない。

  • 現在マシンの電源がオフになっている。

  • マシンに保留中の電源操作がない。

マシンの電源がオフになる状況

重要:

  • スケジュールが選択されている場合、Autoscaleはスケジュールに従ってマシンの電源をオフにします。
  • このスケジュール中、電源がオンになるよう構成されているマシンの電源はオフにしません。

デリバリーグループの電源がオンになっているマシンの数(処理能力バッファを含める)をサポートするのに十分な数のマシンがある場合、Autoscaleは追加のマシンの電源をオフにします。こうした事態は、オフピーク時、マシンの負荷が減少した時、セッションのログオフ時、そしてマシンをデリバリーグループから削除した時に発生する可能性があります。Autoscaleは、次の基準を満たすマシンの電源のみをオフにします:

  • マシンとそのマシンが稼働しているハイパーバイザーがメンテナンスモードになっていない。

  • 現在マシンの電源がオンになっている。

  • マシンが利用可能として登録されている、または起動後、登録を待機している。

  • マシンにアクティブなセッションがない。

  • マシンに保留中の電源操作がない。

  • マシンが指定された電源オフの遅延条件を満たしている。これは、少なくとも「X」分間マシンの電源がオンになっていたことを意味します。「X」は対象のデリバリーグループで指定された電源オフの遅延です。

サンプルシナリオ

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

  • デリバリーグループの構成。Autoscaleが電源管理するデリバリーグループには10台のマシンが含まれています(M1〜M10)。

  • Autoscaleの構成

    • 処理能力バッファは10%に設定します。
    • 選択したスケジュールにマシンが含まれていません。

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

  1. ユーザーはログオンしていません。

  2. ユーザーセッションが増加します。

  3. 追加のユーザーセッションが開始されます。

  4. セッションの終了により、ユーザーセッションの負荷が減少します。

  5. ユーザーセッションの負荷は、オンプレミスリソースによってのみ処理されるようになるまで減少し続けます。

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

  • ユーザー負荷なし(初期の状態)
    • 1台のマシン(例:M1)の電源がオンになっています。マシンの電源がオンになっているのは、処理能力バッファが構成されているためです。この場合、10(マシン数)×10,000(負荷インデックス)×10%(構成された処理能力バッファ)=10,000です。したがって、1台のマシンの電源がオンになります。
    • 電源がオンになっているマシン(M1)の負荷インデックス値は基準の負荷(負荷インデックス= 0)です。
  • 最初のユーザーがログオンする
    • セッションは、マシンM1でホストされます。
    • 電源がオンになっているマシンM1の負荷インデックスが増大し、M1は基準の負荷を超えます。
    • 処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(M2)の電源をオンにします。
    • マシンM2の負荷インデックス値は基準の負荷になっています。
  • ユーザーが負荷を増やす
    • マシンM1とM2の間でセッションの負荷が分散されます。その結果、電源がオンになっているマシン(M1とM2)の負荷インデックスが増加します。
    • 予備の合計処理能力は、まだ負荷インデックス基準で10,000を超えています。
    • マシンM2の負荷インデックス値は基準の負荷ではなくなります。
  • 追加のユーザーセッションが開始される
    • マシン間(マシンM1とM2)でセッションの負荷が分散されます。その結果、電源がオンになっているマシン(M1とM2)の負荷インデックスがさらに増加します。
    • 予備の合計処理能力が負荷インデックス基準で10,000未満に低下すると、処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(M3)の電源をオンにします。
    • マシンM3の負荷インデックス値は基準の負荷になっています。
  • さらに追加のユーザーセッションが開始される
    • マシン間(マシンM1からM3まで)でセッションの負荷が分散されます。その結果、電源がオンになっているマシン(M1からM3まで)の負荷インデックスが増加します。
    • 予備の合計処理能力は、負荷インデックス基準で10,000を超えています。
    • マシンM3の負荷インデックス値は基準の負荷ではなくなります。
  • セッションの終了によりユーザーセッションの負荷が減少する
    • ユーザーがセッションからログオフした後、またはアイドルセッションがタイムアウトした後、マシンM1からM3までの解放された処理能力は他のユーザーが開始したセッションのホストで再利用されます。
    • 予備の合計処理能力が負荷インデックス基準で10,000を超えるレベルに増加すると、Autoscaleはいずれかのマシン(例:M3)をドレイン状態にします。その結果、他のユーザーによって開始されたセッションは、(エンドユーザー負荷が再度増大する、または他のマシンの負荷が最小になるなど)新しい変更が行われない限り、そのマシンに送信されなくなります。
  • ユーザーセッションの負荷が減少し続ける
    • マシンM3上のすべてのセッションが終了し、指定された電源オフの遅延でタイムアウトになると、AutoscaleはマシンM3の電源をオフにします。
    • さらにユーザーがセッションからログオフすると、電源がオンになったマシン(M1とM2)の解放された処理能力は他のユーザーが開始したセッションのホストで再利用されます。
    • 予備の合計処理能力が負荷インデックス基準で10,000を超えるレベルに増加すると、Autoscaleはいずれかのマシン(例:M2)をドレイン状態にします。その結果、他のユーザーによって開始されたセッションは、そのマシンに送信されなくなります。
  • セッションがすべて終了するまで、ユーザーセッションの負荷は減少し続けます。
    • マシンM2上のすべてのセッションが終了し、指定された電源オフの遅延でタイムアウトになると、AutoscaleはマシンM2の電源をオフにします。
    • 電源がオンになっているマシン(M1)の負荷インデックス値は基準の負荷になっています。処理能力バッファが構成されているため、AutoscaleはマシンM1をドレイン状態にしません。

注:

RDSデリバリーグループの場合、ユーザーのセッションログオフ時にデスクトップへの変更はすべて失われます。ただし、ユーザー固有の設定が構成されている場合、ユーザープロファイル設定とともにローミングされます。

プール型のVDIデリバリーグループ

処理能力バッファを使用すると、デリバリーグループ内のマシンの総数を基にして電源がオンになっているマシンのバッファを確保することで、需要の急増に対応できます。デフォルトでは、処理能力バッファは、デリバリーグループ内にあるマシンの総数の10%です。

マシン数(処理能力バッファを含む)が現在電源がオンになっているマシンの総数を上回っている場合、需要に対応して追加のマシンの電源がオンになります。マシン数(処理能力バッファを含む)が現在電源がオンになっているマシンの総数を下回っている場合、構成されたアクションに従って余分なマシンはシャットダウンするか一時停止します。

サンプルシナリオ

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

  • デリバリーグループの構成。Autoscaleが電源管理するデリバリーグループには10台のマシンが含まれています(M1〜M10)。
  • Autoscaleの構成
    • 処理能力バッファは10%に設定します。
    • 選択したスケジュールにマシンが含まれていません。

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

  1. ユーザーはログオンしていません。

  2. ユーザーセッションが増加します。

  3. 追加のユーザーセッションが開始されます。

  4. セッションの終了により、ユーザーセッションの負荷が減少します。

  5. ユーザーセッションの負荷は、オンプレミスリソースによってのみ処理されるようになるまで減少し続けます。

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

  • ユーザー負荷なし(初期の状態)
    • 1台のマシン(M1)の電源がオンになっています。マシンの電源がオンになっているのは、処理能力バッファが構成されているためです。この場合、10(マシン数)×10%(構成された処理能力バッファ)=1です。したがって、1台のマシンの電源がオンになります。
  • 最初のユーザーがログオンする
    • デスクトップを使用するためにユーザーが初めてログオンした時に、電源がオンになったマシンでホストされたデスクトッププールからデスクトップが割り当てられます。この場合、ユーザーにはマシンM1からデスクトップが割り当てられます。
    • 処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(M2)の電源をオンにします。
  • 2人目のユーザーがログオンする
    • ユーザーにはマシンM2からデスクトップが割り当てられます。
    • 処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(M3)の電源をオンにします。
  • 3人目のユーザーがログオンする
    • ユーザーにはマシンM3からデスクトップが割り当てられます。
    • 処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(M4)の電源をオンにします。
  • ユーザーのログオフ
    • ユーザーがログオフした後、またはユーザーのデスクトップがタイムアウトした後、解放された処理能力(M3など)をバッファとして利用できます。その結果、処理能力バッファが10%で構成されているためAutoscaleはマシンM4の電源をオフにします。
  • ユーザーがいなくなるまで、ユーザーのログオフは続きます。
    • さらにユーザーがログオフすると、Autoscaleはマシンの電源(M2またはM3など)をオフにします。
    • ユーザーが残っていなくても、Autoscaleは予備の処理能力用に確保された最後の1台のマシン(M1など)の電源はオフにしません。

注:

プール型のVDIデリバリーグループの場合、ユーザーのセッションログオフ時にデスクトップへの変更はすべて失われます。ただし、ユーザー固有の設定が構成されている場合、ユーザープロファイル設定とともにローミングされます。

静的なVDIデリバリーグループ

処理能力バッファを使用すると、デリバリーグループ内の未割り当てのマシンの総数を基に電源がオンになっている未割り当てのマシンのバッファを確保することで、需要の急増に対応できます。デフォルトでは、処理能力バッファは、デリバリーグループ内にある未割り当てのマシンの総数の10%です。

重要:

デリバリーグループ内のすべてのマシンが割り当てられた後は、処理能力バッファがマシンの電源のオンオフに関与することはなくなります。

マシン数(処理能力バッファを含む)が現在電源がオンになっているマシンの総数を上回っている場合、需要に対応して未割り当てのマシンの電源が追加でオンになります。マシン数(処理能力バッファを含む)が現在電源がオンになっているマシンの総数を下回っている場合、構成されたアクションに従って余分なマシンは電源がオフになるか一時停止します。

静的なVDIデリバリーグループのAutoscale:

  • 該当するVDIデリバリーグループのAutomaticPowerOnForAssignedプロパティがtrueに設定されているときにのみ、割り当てられたマシンの電源をピーク時にオンにし、オフピーク時にオフにします。
  • AutomaticPowerOnForAssignedDuringPeakプロパティがtrueに設定されているデリバリーグループに所属するマシンの電源がピーク時にオフになっている場合、自動的にオンにします。

割り当てられたマシンで処理能力バッファがどのように機能するかを理解するには、次のことを考慮してください:

  • 処理能力バッファは、デリバリーグループに未割り当てのマシンが1つまたは複数ある場合にのみ機能します。
  • デリバリーグループ内に未割り当てのマシンがない(すべてのマシンが割り当てられている)場合、処理能力バッファがマシンの電源のオンオフに関与することはなくなります。
  • AutomaticPowerOnForAssignedDuringPeakプロパティは割り当てられたマシンの電源がピーク時にオンになるかを決定します。trueに設定されている場合、Autoscaleはピーク時にマシンの電源をオンにしたままにします。電源がオフの場合はオンにします。

サンプルシナリオ

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

  • デリバリーグループの構成。Autoscaleが電源管理するデリバリーグループには10台のマシンが含まれています(M1〜M10)。
  • Autoscaleの構成
    • マシンM1からM3までが割り当てられ、マシンM4からM10までは未割り当てです。
    • 処理能力バッファはピーク時およびオフピーク時の10%に設定します。
    • 選択されたスケジュールに従って、Autoscaleは午前9:00から午後6:00までマシンの電源を管理します。

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

  • スケジュールの開始 - 午前09:00
    • Autoscaleは、マシンM1からM3までの電源をオンにします。
    • 処理能力バッファが構成されているため、Autoscaleが追加のマシン(例:M4)の電源をオンにします。マシンM4は未割り当てです。
  • 最初のユーザーがログオンする
    • デスクトップを使用するためにユーザーが初めてログオンした時に、電源がオンになった未割り当てのマシンでホストされたデスクトッププールからデスクトップが割り当てられます。この場合、ユーザーにはマシンM4からデスクトップが割り当てられます。そのユーザーによる以降のログオンでは、最初の使用時に割り当てられたデスクトップに接続します。
    • 処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(例:M5)の電源をオンにします。
  • 2人目のユーザーがログオンする
    • ユーザーには電源がオンになっている未割り当てのマシンからデスクトップが割り当てられます。この場合、ユーザーにはマシンM5からデスクトップが割り当てられます。そのユーザーによる以降のログオンでは、最初の使用時に割り当てられたデスクトップに接続します。
    • 処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(例:M6)の電源をオンにします。
  • ユーザーのログオフ
    • ユーザーがデスクトップからログオフしたり、デスクトップがタイムアウトになると、Autoscaleは午前09:00から午後06:00までマシンM1からM5までの電源をオンにしたままにします。これらのユーザーが次回ログオンすると、最初の使用時に割り当てられたものと同じデスクトップに接続されます。
    • 未割り当てのマシンM6は、未割り当ての新規ユーザーにデスクトップを提供するため待機します。
  • スケジュールの終了 - 午後06:00
    • Autoscaleは午後06:00にマシンM1からM5までの電源をオフにします。
    • 処理能力バッファが構成されているため、Autoscaleは未割り当てのマシンM6の電源をオンにしたままにします。このマシンは、未割り当ての新規ユーザーにデスクトップを提供するため待機しています。
    • このデリバリーグループ内では、マシンM6からM10までは未割り当てのマシンです。

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

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

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

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

デリバリーグループのマシンに対するAutoscaleを制限する方法

デリバリーグループのマシンに対するAutoscaleを制限するには、2つの方法があります:

  • PowerShell SDKを直接使用する
  • StudioでPowerShell SDKを使用する

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

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

    注:

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

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

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

  1. タグを作成します。Studioを使用してタグを手動で作成し、そのタグを該当するマシンに適用します。Studioでタグを使用する方法については、「タグ」を参照してください。

  2. タグを取得します。PowerShellを開き、Get-BrokerTag PowerShellコマンドを入力します。例:$tag = Get-BrokerTag managed。この場合、Autoscaleで制限するタグの名前は「managed」です。

  3. Autoscaleで電源管理するデリバリーグループにタグ付きのマシンを追加します。PowerShellコンソールウィンドウでGet-BrokerDesktopGroup PowerShellコマンドを入力します。例:Get-BrokerDesktopGroup –Uid 1 | Set-BrokerDesktopGroup –RestrictAutoscaleTagUid $tag.Uid。この場合、デリバリーグループのUIDは1です。

デリバリーグループのタグ制限を削除する方法

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

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

サンプルシナリオ

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

  • マシンカタログの構成。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を超えています。
  • さらにユーザーがログオン
    • セッションは、マシンM6でホストされます。
    • 電源がオンになっているすべてのマシン(M1からM5まで)の負荷インデックスが10,000に達します。
    • 電源がオンになっているマシンM6の負荷インデックスが増加します。予備の合計処理能力が負荷インデックス基準で10,000未満に低下すると、処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(M7)の電源をオンにします。マシンM7の電源をオンにするまで時間がかかり、準備が整うまで遅延が生じる場合があります。
    • 電源がオンになっているマシン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管理対象のマシンの以下のメトリックを監視できます。

  • マシンの使用量

  • 見積もり削減額

  • マシンとセッションのアラート通知

  • マシンの状態

  • 負荷評価傾向

メトリックについて詳しくは、「Autoscale管理対象マシンの監視」を参照してください。

Broker PowerShell SDKコマンド

Broker PowerShell SDKを使用してデリバリーグループのAutoscaleを構成できます。PowerShellコマンドを使用してAutoscaleを構成するには、Remote PowerShell SDKバージョン7.21.0.12以降を使用する必要があります。Remote PowerShell SDKについて詳しくは、「SDKおよびAPI」を参照してください。

Set-BrokerDesktopGroup

既存のBrokerDesktopGroupの有効化と無効化を切り替えるか、またはグループの設定を変更します。このコマンドレットについて詳しくは、https://citrix.github.io/delivery-controller-sdk/Broker/Set-BrokerDesktopGroup/を参照してください。

New-BrokerPowerTimeScheme

デリバリーグループ用に新しいBrokerPowerTimeSchemeを作成します。このコマンドレットについて詳しくは、https://citrix.github.io/delivery-controller-sdk/Broker/New-BrokerPowerTimeScheme/を参照してください。

PowerShellコマンドレットの使用方法について詳しくは、以下の例を参照してください:

Autoscaleの有効化

  • 「MyDesktop」という名前のデリバリーグループに対してAutoscaleを有効にする場合、Set-BrokerDesktopGroup PowerShellコマンドを使用します。次に例を示します:
    • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -AutoscalingEnabled $true

ピーク時とオフピーク時で個別に処理能力バッファを構成する

  • 「MyDesktop」という名前のデリバリーグループに対して、ピーク時には処理能力バッファを20%に、オフピーク時には10%に設定する場合、Set-BrokerDesktopGroup PowerShellコマンドを使用します。次に例を示します:
    • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -PeakBufferSizePercent 20 -OffPeakBufferSizePercent 10

切断時のタイムアウトの構成

  • 「MyDesktop」という名前のデリバリーグループに対して、ピーク時には切断時のタイムアウトを60 分に、オフピーク時には30 分に設定する場合、Set-BrokerDesktopGroup PowerShellコマンドを使用します。次に例を示します:
    • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -PeakDisconnectTimeout 60 -OffPeakDisconnectTimeout 30

ログオフ時のタイムアウトの構成

  • 「MyDesktop」という名前のデリバリーグループに対して、ピーク時にはログオフ時のタイムアウトを60 分に、オフピーク時には30 分に設定する場合、Set-BrokerDesktopGroup PowerShellコマンドを使用します。次に例を示します:
    • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -PeakLogOffTimeout 60 -OffPeakLogOffTimeout 30

電源オフの遅延の構成

  • 「MyDesktop」という名前のデリバリーグループに対して、電源オフの遅延を15分に設定する場合、Set-BrokerDesktopGroup PowerShellコマンドを使用します。次に例を示します:
    • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -PowerOffDelay 15

マシンインスタンスコストを構成する

  • 「MyDesktop」という名前のデリバリーグループに対して、1時間あたりのマシンインスタンスコストを0.2ドルに設定する場合、Set-BrokerDesktopGroup PowerShellコマンドを使用します。次に例を示します:
    • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -MachineCost 0.2

電源時間スキームを作成する

  • UID値が3のデリバリーグループに対して、新しい電源時間スキームを作成することを想定します。新しいスキームで週末、月曜日、火曜日を指定します。これらの曜日で、午前8:00から午後6:30の時間枠をピーク時間として定義します。ピーク時のプールサイズ(電源をオンにしたままにするマシンの数)は20で、オフピーク時は5です。Set-BrokerDesktopGroup PowerShellコマンドを使用できます。次に例を示します:
    • C:\PS> $ps48=(0..47 | %{ if ($_ -lt 16 -or $_ -gt 37) { 5 } else { 20 } } )
    • C:\PS> $pt48=(0..47 | %{ if ($_ -lt 16 -or $_ -gt 37) { $false } else { $true } } )
    • C:\PS> New-BrokerPowerTimeScheme -Name 'First Half Week' -DaysOfWeek Weekend,Monday,Tuesday -DesktopGroupUid 3 -PeakHalfHours $pt48 -PoolSize $ps48

Autoscale API

Autoscale APIは、Autoscaleの構成に使用できるREST APIのセットを提供します。使用可能なすべてのAutoscale APIについて詳しくは、Citrix Cloud APIを参照してください。

ヒント

Autoscaleはデリバリーグループレベルで機能します。そのため、デリバリーグループごとに構成され、選択したデリバリーグループ内のマシンのみを電源管理します。

ドレイン状態

Autoscaleは、常にデリバリーグループ内の電源がオンになっているマシンの数を、構成されたプールサイズおよび処理能力バッファにまでスケールダウンしようとします。このため、セッションの数が最小である余分なマシンを「ドレイン状態」にして、すべてのセッションがログオフされた時にそれらの電源をオフにします。これは、セッション需要が減少し、スケジュールに必要なマシンの数が電源がオンになったマシンよりも少なくなると発生します。

Autoscaleは、余分なマシンを1台ずつ「ドレイン状態」にします。2台以上のマシンに同数のアクティブなセッションがある場合、Autoscaleは指定された電源オフの遅延期間中電源がオンになっているマシンをドレイン状態にします。これによって、最近電源がオンになった、セッション数が少ない可能性が高いマシンをドレイン状態にすることを回避します。指定された電源オフの遅延期間中複数のマシンの電源がオンになっている場合、Autoscaleはそれらのマシンを1台ずつランダムにドレイン状態にします。

ドレイン状態のマシンは、新しいセッションの開始をホストしなくなり、既存のセッションがログオフされるまで待機します。すべてのセッションがログオフされた場合にのみ、マシンはシャットダウンの候補になります。ただし、セッション起動時にすぐに使用できるマシンがない場合、Autoscaleは、新しくマシンの電源をオンにするのではなく、ドレイン状態のマシンでセッションを起動することを優先します。

次のいずれかの条件が満たされると、マシンの状態がドレイン状態以外に変更されます:

  • マシンの電源がオフになる。
  • マシンが属するデリバリーグループのAutoscaleが無効化される。
  • Autoscaleにより、必要なスケジュールまたは負荷の需要を満たすためにマシンが使用される。これは、スケジュール(スケジュールベースのスケール)または現在の需要(負荷ベースのスケール)で、この時点で電源がオンになっているマシンより多くのマシンが必要な場合に発生します。

重要:

セッション起動用にすぐに使用できるマシンがない場合、Autoscaleは、新しくマシンの電源をオンにするのではなく、ドレイン状態のマシンでセッションを起動することを優先します。セッション起動をホストするドレイン状態のマシンは、ドレイン状態を維持します。

どのマシンがドレイン状態にあるかを調べるには、Get-BrokerMachine PowerShellコマンドを使用します。例:Get-BrokerMachine -DrainingUntilShutdown $true

負荷インデックス

重要:

負荷インデックスはVDIデリバリーグループには適用されません。RDSデリバリーグループにのみ適用されます。

負荷インデックス値の範囲は0〜10,000です。この値は、同時のログオン、セッション、CPU、ディスク、メモリの使用が構成されたCitrix負荷管理ポリシー設定で算出されます。値が「0」であれば、マシンは完全に負荷から解放されています。負荷インデックス値が「0」のマシンは基準の負荷状態です。値が「10,000」であれば、これ以上セッションを実行できない、負荷が最大状態のマシンです。負荷インデックスのメトリックで、マシンが接続を受け入れる可能性を判断します。デフォルトでは、マシンは250のセッションをホストしている時に負荷限界であると見なされます。

処理能力とマシン登録

マシンがセッション要求を受け入れることができるかを正確に把握するために、Autoscaleは特定のデリバリーグループの処理能力を判断する場合、サイトに登録されたマシンのみを対象にします。電源がオンになった未登録のマシンは、セッション要求を受け入れることができません。結果として、これらのマシンはデリバリーグループの総合的な処理能力に含まれません。

複数のマシンカタログにわたるスケーリング

一部のサイトでは、複数のマシンカタログが単一のデリバリーグループに関連付けられている場合があります。Autoscaleは、スケジュールまたはセッション需要の要件を満たすために、各カタログからランダムにマシンの電源をオンにします。

たとえば、デリバリーグループに2つのマシンカタログがあるとします。カタログAには電源がオンになった3台のマシンがあり、カタログBには電源がオンになった1台のマシンがあります。Autoscaleが追加のマシンの電源をオンにする必要がある場合は、カタログAまたはカタログBのいずれかからマシンの電源をオンにします。

マシンのプロビジョニングとセッション需要

デリバリーグループに関連付けられているマシンカタログには、需要の増減に応じて電源をオンまたはオフするために十分な数のマシンが必要です。セッション需要がデリバリーグループ内の登録済みマシンの総数を超えても、Autoscaleはすべての登録済みマシンの電源がオンになっていることを確認するだけです。Autoscaleが追加のマシンをプロビジョニングすることはありません

監視データの可用性

デリバリーグループのAutoscaleが有効になっている場合は、監視データを使用できます。デリバリーグループのAutoscaleが有効から無効になっても、監視データは引き続き利用できます。Autoscaleは、5分間隔で監視データを収集します。

注:

最初にデリバリーグループのAutoscaleを有効にすると、そのデリバリーグループの監視データを表示するのに数分かかることがあります。

インスタンスサイズの考慮事項

パブリッククラウドでインスタンスのサイズを適切に設定することで、コストを最適化できます。小さいインスタンスは、大きいインスタンスよりも少ないユーザーセッションをホストします。そのため、最後のユーザーセッションがログオフされるまでの時間が小さいインスタンスほど短縮されるため、Autoscaleはマシンをいち早くドレイン状態にします。つまり、Autoscaleは小さいインスタンスの電源をすぐにオフにするので、コストを削減できます。ワークロードのパフォーマンスと処理能力に関する要件を満たす限り、小さいインスタンスをプロビジョニングすることをお勧めします。