Citrix DaaS

Autoscaleの利用開始

Autoscaleは、構成されたスケジュールや負荷の需要に基づいてデリバリーグループを予防的にスケーリングするための、一貫性のある高性能電源管理ソリューションを提供する機能です。

Autoscaleはすべての種類のデリバリーグループに適用されます:

  • シングルセッションの静的OS
  • シングルセッションランダムOS
  • マルチセッションランダムOS

この記事では、Autoscale関連の基本的な概念について説明し、デリバリーグループのAutoscaleを有効にして構成する方法について説明します。

基本的な概念

始める前に、以下のAutoscaleの基本的な概念について説明します:

処理能力とマシン登録

Autoscaleでは、容量(処理能力)の決定時に、サイトに登録されているマシンのみを扱います。 電源がオンになった未登録のマシンは、セッション要求を受け入れることができません。 結果として、これらのマシンはデリバリーグループの総合的な処理能力に含まれません。

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

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

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

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

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

デリバリーグループに63台のマシンがあり、バッファ容量が営業時間外に10%に設定されている場合、Autoscaleの計算によると、営業時間外に6.3台のマシンをオンにする必要があります。 10進数値を処理する場合の規則は次のとおりです:

  • 最も近い値に丸める:たとえば、値が6.4の場合、6台のマシンの電源がオンになります。 値が6.7の場合、7台のマシンの電源がオンになります。
  • 1未満の0以外の値の場合は1に丸めます。 たとえば、値が0.2または0.9の場合、1台のマシンの電源がオンになります。

このボトルネックを解消するために、PowerShellスクリプトを使用してマシンを作成し動的にそれらを削除できます。 詳しくは、「マシンの動的プロビジョニング」を参照してください。

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

パブリッククラウドでインスタンスのサイズを適切に設定することで、コストを最適化できます。 ワークロードのパフォーマンスと処理能力に関する要件を満たす限り、小さいインスタンスをプロビジョニングすることをお勧めします。

小さいインスタンスは、大きいインスタンスよりも少ないユーザーセッションをホストします。 そのため、最後のユーザーセッションがログオフされるまでの時間が短いので、Autoscaleはマシンをいち早くドレイン状態にします。 つまり、Autoscaleは小さいインスタンスの電源をすぐにオフにするので、コストを削減できます。

スケジュール

Autoscaleは、設定したスケジュールに基づいて、デリバリーグループのマシンの電源をオンまたはオフにします。

スケジュールには、ピーク時とオフピーク時の動作が定義された、時間枠ごとのアクティブなマシンの数などの情報が含まれます。

スケジュール設定は、デリバリーグループの種類によって異なります。 詳しくは、次のトピックを参照してください:

ピーク時とオフピーク時

ピーク時とオフピーク時を使用して、1日の特定の時間帯にどの処理能力バッファ値を使用するかを示します。 ピーク時を定義すると、残りの未定義の時間はデフォルトでオフピーク時に設定できます。

電源オフの遅延

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

プールサイズ

プールサイズは、1日の特定の時間だけ電源をオンにしておく必要があるマシンの数です。

処理能力バッファ

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

  • マルチセッションOSのデリバリーグループの場合、処理能力バッファは、負荷インデックスを基準としたデリバリーグループの合計処理能力のパーセンテージで定義されます。
  • シングルセッションOSのデリバリーグループの場合、処理能力バッファは、デリバリーグループ内のマシンの総数に対するパーセンテージで定義されます。

処理能力バッファは、構成されたプールサイズで計算されて適用されるのではなく、現在の使用量に基づいて計算および適用されるため、ローリングバッファです。

たとえば、10台のマシンを含むデリバリーグループで、現在の期間のプールサイズは1マシンで、処理能力バッファは10%であるとします。 スケジュールで定義されているように、電源がオンになった1台のマシンがロードされ、10%の処理能力バッファに達すると、追加のマシンの電源がオンになります。 2台目のマシンの電源投入後に負荷が軽減され、10%の処理能力バッファ内の空き負荷容量がある場合、Autoscaleは1台のマシンを電源オフ用に準備します。

負荷インデックス

重要:

負荷インデックスは、マルチセッションのデリバリーグループにのみ適用されます。

負荷インデックスのメトリックで、マシンがユーザーのログオン要求を受け入れる可能性を判断します。 負荷インデックスの値は、同時ログオン、セッション、CPU、ディスク、メモリの使用が構成されたCitrix負荷管理ポリシー設定で算出されます。

負荷インデックスの範囲は、0~10,000です。 デフォルトでは、マシンは250のセッションをホストしている時に負荷限界であると見なされます:

  • 値が「0」であれば、マシンは負荷から解放されています。 負荷インデックス値が「0」のマシンは基準の負荷状態です。

  • 値が「10,000」であれば、これ以上セッションを実行できない、負荷が最大状態のマシンです。

Autoscaleとメンテナンスモード

メンテナンスモードのマシンは、可用性の状態に関係なく、プールサイズ全体の計算の一部として考慮されます。 そのため、プール内のすべてのマシンをメンテナンスモードにすることができます。 ただし、これらのマシンは処理能力バッファの計算から除外されるため、すぐに利用できるようになります。 特定の割合のマシンにユーザー接続でアクセスできるようにするには、それに応じてプールサイズとバッファ値を調整します。

マシン コスト

1時間あたりのマシンインスタンスのコストは、使用されたコンピューティング処理能力の1時間あたりのコスト(米ドル)です。 この設定は、上記のAutoscale設定によるコスト削減を計算するために使用されます。 削減額は、[Monitor]>[傾向]>[マシンの使用量]で確認します。

デリバリーグループをスケールアップする

Autoscaleは、次の場合にAutoscaleが有効なデリバリーグループ内で追加のマシンの電源をオンにします:

  1. デリバリーグループのAutoscaleスケジュールが、現在の期間にさらに多くのマシンの電源をオンにする必要があることを示しています。
  2. デリバリーグループの現在の負荷が処理能力バッファを超えています。

マシンの電源をオンにする条件:

  1. 保守モードではありません.
  2. ハイパーバイザーはメンテナンスモードではない。
  3. 電源がオフになり、登録が解除されました。
  4. スケールアップが必要なデリバリーグループに属しています
  5. 保留中の電源操作はありません。

デリバリーグループをスケールダウンする

Autoscaleは、次の場合にAutoscaleが有効なデリバリーグループ内でマシンの電源をオフにします:

  1. Autoscaleスケジュールでは、現在の期間に構成されたマシン数を満たすためにマシンの電源をオフにする必要があると指定されています。
  2. デリバリーグループの現在の負荷が減少したため、プールサイズと処理能力バッファを満たすのに必要以上の数のマシンの電源がオンになりました。

Autoscaleは、プールサイズと処理能力バッファを満たすのに必要な数を超える余分なマシンの電源をオフにすることで、デリバリーグループをスケールダウンします。

スケールダウンプロセスには次の2つのステップがあります:

  1. 必要な数のマシンをドレイン状態にします。
  2. ドレイン状態のマシンをすべて選択して電源をオフにします。

電源オフの対象となるマシンは、次の基準を満たす必要があります:

  1. 保守モードではありません
  2. ハイパーバイザーはメンテナンスモードではありません
  3. 現在電源がオンになっています
  4. 利用可能として登録済み、または起動後に登録待ちの状態です
  5. ドレイン状態で、アクティブなセッションはありません
  6. 保留中の電源操作はありません
  7. 電源オフの遅延を満たしています

ドレイン状態

Autoscaleは、デリバリーグループ内の電源がオンになっているマシンの数を、構成されたプールサイズおよび処理能力バッファにまでスケールダウンしようとします。

この目標を達成するために、Autoscaleは、セッションの数が最も少ない余分なマシンを「ドレイン状態」にし、すべてのセッションがログオフしたときにそれらの電源をオフにします。 この動作は、セッション需要が減少し、スケジュールに必要なマシンの数が電源オンになったマシンよりも少なくなる場合に発生します。

マシンがドレイン状態になる条件:

  1. 電源投入済み
  2. メンテナンスモードではない
  3. ハイパーバイザーはメンテナンスモードではありません
  4. スケールダウンが必要なデリバリーグループに属している
  5. 現在のアクティブセッションの最小数

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

Autoscaleは、余分なマシンを1台ずつ「ドレイン状態」にします:

  • 2台以上のマシンに同数のアクティブなセッションがある場合、Autoscaleは指定された電源オフの遅延期間中電源がオンになっているマシンをドレイン状態にします。

    これによって、最近電源がオンになった、セッション数が少ない可能性が高いマシンをドレイン状態にすることを回避します。

  • 指定された電源オフの遅延期間中複数のマシンの電源がオンになっている場合、Autoscaleはそれらのマシンを1台ずつランダムにドレイン状態にします。

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

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

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

重要:

セッションをすぐに起動できるマシンがない場合、Autoscaleは、マシンの電源をオンにするよりも、ドレイン状態のマシンにセッション起動を指示することを優先します。 セッション起動をホストするドレイン状態のマシンは、ドレイン状態のままになります。

ドレイン状態にあるマシンを確認するには、Get-BrokerMachine PowerShellコマンドを使用します。 たとえば、Get-BrokerMachine -DrainingUntilShutdown $trueです。 または、Studioを使用することもできます。 「ドレイン状態のマシンの表示」を参照してください。

ドレイン状態のマシンの表示

この機能は、マルチセッションマシンのみに適用されます。

Studioでは、ドレイン状態のマシンを表示して、まもなくシャットダウンされるマシンを確認できます。 次の手順を実行します:

  1. [検索] ノードに移動し、[表示する列] をクリックします。
  2. [表示する列]ウィンドウで、[ドレイン状態]の横にあるチェックボックスをオンにします。
  3. [保存] をクリックして、[表示する列] ウィンドウを閉じます。

[ドレイン状態] 列には、次の情報を表示できます:

  • シャットダウンまでドレインを実行中。 マシンがシャットダウンされるまでドレイン状態のときに表示されます。
  • ドレインは実行されていません。 マシンがまだドレイン状態でないときに表示されます。

ドレイン状態

デリバリーグループのAutoscaleの有効化

デリバリーグループを作成すると、デフォルトではAutoscaleが無効になります。 Studioを使用してデリバリーグループのAutoscaleを有効にして構成するには、次の手順に従います:

PowerShellコマンドを使用して、デリバリーグループのAutoscaleを有効にして構成することもできます。 詳しくは、「Broker PowerShell SDKコマンド」を参照してください。

  1. Studioの左ペインで[デリバリーグループ]を選択します。

  2. 管理するデリバリーグループを選択し、[Autoscaleの管理] をクリックします。

    Cloud UI

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

    Cloud UI

  4. 組織のニーズに合わせてデフォルト設定を変更するには、次のように設定します:

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

重要:

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

PowerShellスクリプトを使用して、グループのマシンを動的にプロビジョニングできます。 詳しくは、「マシンの動的なプロビジョニング」を参照してください。

ユーザーセッションがある仮想マシンのAutoscaleオプション

Autoscaleは、割り当てられたマシンとプールされたマシンの両方を管理し、それらのパワーと可用性を最適化できます。 次のコンテンツでは、割り当てられたマシンとプールされたマシンのピーク時間とオフピーク時間、およびユーザーセッションに基づいてマシンの電源状態を制御するための PowerShellコマンドとUI設定について説明します。

割り当てられたマシンは単一のユーザー専用ですが、プールされたマシンは複数のユーザー間で共有されます。

Citrix Studioのセッション制限ポリシー、特に切断セッションタイマーセッションアイドルタイマーは、Citrix Autoscaleが有効になっていない場合でもユーザーセッションを管理するために重要です。 これらのポリシーは、セッションが終了する前に切断またはアイドル状態を維持できる時間を定義し、リソースの使用率を確保してセッションのロックアウトを防止します。 ポリシー設定は、割り当てられたマシンとプールされたマシンの両方、特にマルチセッションVDAを実行しているマシンに使用できます。 詳しくは、「セッションの制限のポリシー設定」を参照してください。

割り当てられたマシンの場合

  • 静的デリバリーグループ内の割り当てられたシングルセッションマシンをピーク時間の開始時に自動的に電源オンにするには、次のPowerShellコマンドを使用します:

       Set-BrokerDesktopGroup "Desktop Group Name" -AutomaticPowerOnForAssigned $True
     <!--NeedCopy-->
    
  • ピーク時にオフになっていることが判明した割り当て済みマシンが再起動されるようにするには、AutomaticPowerOnForAssignedDuringPeakも有効にします。

       Set-BrokerDesktopGroup "Desktop Group Name" -AutomaticPowerOnForAssigned $True -AutomaticPowerOnForAssignedDuringPeak $True
     <!--NeedCopy-->
    
  • ユーザーがセッションを起動したときにのみ仮想マシンをオンにする場合は、次のいずれかを実行します:

    • AutomaticPowerOnForAssignedおよびAutomaticPowerOnForAssignedDuringPeakFalseに設定します。
    • UIインターフェイスを使用して、ピーク時間をまったく設定せずに、すべての時間をオフピークとして定義します。 「スケジュールベースの設定」を参照してください。 オフピーク時には、Autoscaleによって管理される割り当てマシンは、ユーザーセッションがない場合にはシャットダウンされます。

      ピーク時間のないオフピーク

  • ピーク時にすべてのマシンがAutoscaleによってオンにされる場合は、UIインターフェイスを使用して、待機時間(分)と、マシンがAutoscaleによってオンにされた後にユーザーがログオンしない場合のアクション(なにもしない、一時停止、シャットダウンなど)を設定します。 「電源ポリシー」を参照してください。

プールされたマシンの場合

セッションのログオフ後にプールされたマシンを自動的にシャットダウンするには、デリバリーグループでPowerShellコマンドShutdownAfterUseTrueに設定します。 次に例を示します:

  Set-BrokerDesktopGroup -Name “DesktopGroupName” -ShutdownDesktopsAfterUse $true
<!--NeedCopy-->

メトリックの監視

デリバリーグループのAutoscaleを有効にすると、[Monitor]コンソールでAutoscale管理対象マシンの以下のメトリックを監視できます。

  • マシンの使用量

  • 見積もり削減額

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

  • マシンの状態

  • 負荷評価傾向

最初にデリバリーグループのAutoscaleを有効にすると、そのデリバリーグループの監視データを表示するのに数分かかることがあります。 デリバリーグループのAutoscaleが有効から無効になっても、監視データは引き続き利用できます。 Autoscaleは、5分間隔で監視データを収集します。

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

休止状態の仮想マシンでのAutoscale

構成可能なAutoscale設定を通じて仮想マシンを休止状態にすることができます。 PowerShellコマンドGet-BrokerDesktopGroupsNew-BrokerDesktopGroups、またはSet-BrokerDesktopGroupsを使用して、パラメーターAutoscaleScaleDownActionDuringPeak(ピーク時)またはAutoscaleScaleDownActionDuringOffPeak(オフピーク時)に次の正の値を設定し、電源アクションを定義します:

  • 0:スケールダウン時に仮想マシンをシャットダウンする
  • 1:スケールダウン時に仮想マシンを一時停止(休止状態)する

休止状態に対応していない仮想マシンはシャットダウンされます。

デリバリーグループが休止状態になっている場合は、休止状態の仮想マシンの再起動スケジュールを構成できます。 再起動サイクルでは、仮想マシンが再開されてからシャットダウンされます。 再起動スケジュールは、毎週、毎日、毎月、および1回が設定できます。 複数のスケジュールを構成できます。 ただし、休止状態から仮想マシンが再開するには数分かかる場合があります。

Autoscaleは、ピーク時にセッションがない状態で、休止状態のマルチセッションリモートデスクトップサービス(RDS)仮想マシンおよび共有シングルセッション仮想マシンの電源をオンにすることもできます。 仮想マシンはMCSマシンカタログでもMCS以外のマシンカタログでもかまいません。

追加情報

Autoscaleについて詳しくは、Tech Zoneの「Citrix Autoscale」を参照してください。

Autoscaleの利用開始