Autoscale
Autoscaleは、Citrix DaaS(旧称Citrix Virtual Apps and Desktopsサービス)専用の機能であり、プロアクティブにマシンの電源を管理するための一貫した、高性能なソリューションを提供します。その目的は、コストとユーザーエクスペリエンスのバランスを取ることです。Autoscaleにより、Smart Scaleテクノロジ(廃止)が [管理] コンソールの電源管理ソリューションに組み込まれます。
Autoscaleによって、デリバリーグループに登録されているすべてのシングルセッションおよびマルチセッションOSマシンの電源をプロアクティブに管理できます。
サポートされるVDAホストプラットフォーム
Autoscaleは、Citrix DaaSがサポートするすべてのプラットフォームをサポートします。これにはCitrix Hypervisor、Amazon Web Services、Google Cloud Platform、Microsoft Azure Resource Manager、VMware vSphereなど、さまざまなインフラストラクチャプラットフォームが含まれます。サポート対象のプラットフォームの一覧については、Citrix DaaSの「システム要件」を参照してください。
サポートされるワークロード
Autoscaleは、マルチセッションOSとシングルセッションOSの両方のデリバリーグループをサポートしています。考慮するユーザーインターフェイスは3種類です:
-
マルチセッションOSのデリバリーグループ(旧RDSデリバリーグループ)のAutoscaleユーザーインターフェイス
-
シングルセッションOSのランダム(プールされた)デリバリーグループ(旧プールされたVDIデリバリーグループ)のAutoscaleユーザーインターフェイス
-
シングルセッションOSの静的デリバリーグループ(旧静的VDIデリバリーグループ)のAutoscaleユーザーインターフェイス
さまざまなデリバリーグループのユーザーインターフェイスについて詳しくは、「Autoscaleユーザーインターフェイス」を参照してください。
長所
Autoscale機能には次の長所があります:
-
デリバリーグループ内のマシンの電源を管理するための、単一の一貫したメカニズムを提供します。
-
負荷ベース、スケジュールベース、またはその両方を組み合わせた電源管理によって、可用性とコストの管理を可能にします。
-
コスト削減や処理能力の利用状況などのメトリックを監視し、通知を有効にするには、[監視] タブの [Director] を使用します。
ビデオツアー(2分間)
次のビデオでは、Autoscaleを簡単に紹介するクイックツアーを提供しています。
Autoscale機能
Autoscale機能には、次が含まれます:
Autoscaleユーザーインターフェイス
考慮するAutoscaleユーザーインターフェイスは3種類です。
シングルセッションOSの静的デリバリーグループのAutoscaleユーザーインターフェイス:
シングルセッションOSのランダムデリバリーグループのAutoscaleユーザーインターフェイス:
マルチセッションOSデリバリーグループのAutoscaleユーザーインターフェイス:
デリバリーグループのAutoscaleの有効化または無効化
注:
デリバリーグループを作成すると、デフォルトではAutoscaleが無効になります。
-
[管理]>[完全な構成] の左側ペインで [デリバリーグループ] を選択します。
-
管理するデリバリーグループを選択し、[Autoscaleの管理] をクリックします。
-
[Autoscaleの管理] ページで [Autoscaleを有効にする] チェックボックスをオンにしてAutoscaleを有効にします。Autoscaleを有効にすると、ページ上のオプションが有効になります。
-
Autoscaleを無効にするには、[Autoscale] チェックボックスをオフにします。ページのオプションが灰色表示になり、選択したデリバリーグループに対してAutoscaleが無効になっていることを示します。
重要:
- Autoscaleを無効にすると、Autoscaleによって管理されているすべてのマシンは、無効になった時点の状態のままになります。
- Autoscaleを無効にした後、ドレイン状態にあるマシンはドレイン状態が解除されます。ドレイン状態について詳しくは、「ドレイン状態」を参照してください。
メトリックの監視
[監視] タブで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を有効にする場合、PowerShellコマンド
Set-BrokerDesktopGroup
を使用します。例:PS C:\> Set-BrokerDesktopGroup "MyDesktop" -AutoscalingEnabled $true
ピーク時とオフピーク時で個別に処理能力バッファを構成する
- 「MyDesktop」という名前のデリバリーグループに対して、ピーク時には処理能力バッファを20%に、オフピーク時には10%に設定する場合、PowerShellコマンド
Set-BrokerDesktopGroup
を使用します。例:PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakBufferSizePercent 20 -OffPeakBufferSizePercent 10
切断時のタイムアウトの構成
- 「MyDesktop」という名前のデリバリーグループに対して、ピーク時には切断時のタイムアウトを60分に、オフピーク時には30分に設定する場合、PowerShellコマンド
Set-BrokerDesktopGroup
を使用します。例:PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakDisconnectTimeout 60 -OffPeakDisconnectTimeout 30
ログオフ時のタイムアウトの構成
- 「MyDesktop」という名前のデリバリーグループに対して、ピーク時にはログオフ時のタイムアウトを60分に、オフピーク時には30分に設定する場合、PowerShellコマンド
Set-BrokerDesktopGroup
を使用します。例:PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakLogOffTimeout 60 -OffPeakLogOffTimeout 30
電源オフの遅延の構成
- 「MyDesktop」という名前のデリバリーグループに対して、電源オフの遅延を15分に設定する場合、PowerShellコマンド
Set-BrokerDesktopGroup
を使用します。例:PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PowerOffDelay 15
電源オフの遅延が有効にならない期間の構成
- 「MyDesktop」という名前のデリバリーグループに対して、電源オフの遅延を30分が経過してから有効に設定する場合、PowerShellコマンド
Set-BrokerDesktopGroup
を使用します。例:-
C:\PS> Set-BrokerDesktopGroup "MyDesktop" -SettlementPeriodBeforeAutoShutdown 30
。
-
マシンインスタンスコストを構成する
- 「MyDesktop」という名前のデリバリーグループに対して、1時間あたりのマシンインスタンスコストを0.2ドルに設定する場合、PowerShellコマンド
Set-BrokerDesktopGroup
を使用します。例:PS C:\> Set-BrokerDesktopGroup "MyDesktop" -MachineCost 0.2
電源時間スキームを作成する
- UID値が3のデリバリーグループに対して、電源時間スキームを作成する場合、新しいスキームで週末、月曜日、火曜日を指定します。これらの曜日で、午前8:00から午後6:30の時間枠をピーク時間として定義します。ピーク時のプールサイズ(電源をオンにしたままにするマシンの数)は20で、オフピーク時は5です。PowerShellコマンドの
Set-BrokerDesktopGroup
を使用できます。例:PS C:\> $ps48=(0..47 | %{ if ($_ -lt 16 -or $_ -gt 37) { 5 } else { 20 } } )
PS C:\> $pt48=(0..47 | %{ if ($_ -lt 16 -or $_ -gt 37) { $false } else { $true } } )
PS C:\> New-BrokerPowerTimeScheme -Name 'First Half Week' -DaysOfWeek Weekend,Monday,Tuesday -DesktopGroupUid 3 -PeakHalfHours $pt48 -PoolSize $ps48
ドレイン状態
Autoscaleは、常にデリバリーグループ内の電源がオンになっているマシンの数を、構成されたプールサイズおよび処理能力バッファにまでスケールダウンしようとします。このため、セッションの数が最小である余分なマシンを「ドレイン状態」にして、すべてのセッションがログオフされた時にそれらの電源をオフにします。これは、セッション需要が減少し、スケジュールに必要なマシンの数が電源がオンになったマシンよりも少なくなると発生します。
Autoscaleは、余分なマシンを1台ずつ「ドレイン状態」にします。2台以上のマシンに同数のアクティブなセッションがある場合、Autoscaleは指定された電源オフの遅延期間中電源がオンになっているマシンをドレイン状態にします。これによって、最近電源がオンになった、セッション数が少ない可能性が高いマシンをドレイン状態にすることを回避します。指定された電源オフの遅延期間中複数のマシンの電源がオンになっている場合、Autoscaleはそれらのマシンを1台ずつランダムにドレイン状態にします。
ドレイン状態のマシンは、新しいセッションの開始をホストしなくなり、既存のセッションがログオフされるまで待機します。すべてのセッションがログオフされた場合にのみ、マシンはシャットダウンの候補になります。ただし、セッション起動時にすぐに使用できるマシンがない場合、Autoscaleは、新しくマシンの電源をオンにするのではなく、ドレイン状態のマシンでセッションを起動することを優先します。
次のいずれかの条件が満たされると、マシンの状態がドレイン状態以外に変更されます:
- マシンの電源がオフになる。
- マシンが属するデリバリーグループのAutoscaleが無効化される。
- Autoscaleにより、必要なスケジュールまたは負荷の需要の要件を満たすためにマシンが使用される。これは、スケジュール(スケジュールベースのスケール)または現在の需要(負荷ベースのスケール)で、この時点で電源がオンになっているマシンより多くのマシンが必要な場合に発生します。
重要:
セッション起動用にすぐに使用できるマシンがない場合、Autoscaleは、新しくマシンの電源をオンにするのではなく、ドレイン状態のマシンでセッションを起動することを優先します。セッション起動をホストするドレイン状態のマシンは、ドレイン状態を維持します。
どのマシンがドレイン状態にあるかを調べるには、PowerShellコマンドのGet-BrokerMachine
を使用します。例:Get-BrokerMachine -DrainingUntilShutdown $true
。または、[管理]コンソールを使用できます。「ドレイン状態のマシンの表示」を参照してください。
ドレイン状態のマシンの表示
注:
この機能は、マルチセッションマシンのみに適用されます。
[管理]>[完全な構成] では、ドレイン状態のマシンを表示して、まもなくシャットダウンされるマシンを確認できます。次の手順を実行します:
- [検索] ノードに移動し、[表示する列] をクリックします。
- [表示する列] ウィンドウで、[ドレイン状態] の横にあるチェックボックスをオンにします。
- [保存]をクリックして、[表示する列] ウィンドウを閉じます。
[ドレイン状態] 列には、次の情報を表示できます:
- シャットダウンまでドレインを実行中。マシンがシャットダウンされるまでドレイン状態のときに表示されます。
- ドレインは実行されていません。マシンがまだドレイン状態でないときに表示されます。
負荷インデックス
重要:
負荷インデックスは、マルチセッションのデリバリーグループにのみ適用されます。
負荷インデックス値の範囲は0〜10,000です。この値は、同時のログオン、セッション、CPU、ディスク、メモリの使用が構成されたCitrix負荷管理ポリシー設定で算出されます。値が「0」であれば、マシンは負荷から解放されています。負荷インデックス値が「0」のマシンは基準の負荷状態です。値が「10,000」であれば、これ以上セッションを実行できない、負荷が最大状態のマシンです。負荷インデックスのメトリックで、マシンが接続を受け入れる可能性を判断します。デフォルトでは、マシンは250のセッションをホストしている時に負荷限界であると見なされます。
ヒント
Autoscaleはデリバリーグループレベルで機能します。そのため、デリバリーグループごとに構成され、選択したデリバリーグループ内のマシンのみを電源管理します。
処理能力とマシン登録
マシンがセッション要求を受け入れることができるかを正確に把握するために、Autoscaleは特定のデリバリーグループの処理能力を判断する場合、サイトに登録されたマシンのみを対象にします。電源がオンになった未登録のマシンは、セッション要求を受け入れることができません。結果として、これらのマシンはデリバリーグループの総合的な処理能力に含まれません。
複数のマシンカタログにわたるスケーリング
一部のサイトでは、複数のマシンカタログが単一のデリバリーグループに関連付けられている場合があります。Autoscaleは、スケジュールまたはセッション需要の要件を満たすために、各カタログからランダムにマシンの電源をオンにします。
たとえば、デリバリーグループに2つのマシンカタログがあるとします。カタログAには電源がオンになった3台のマシンがあり、カタログBには電源がオンになった1台のマシンがあります。Autoscaleが追加のマシンの電源をオンにする必要がある場合は、カタログAまたはカタログBのいずれかからマシンの電源をオンにします。
マシンのプロビジョニングとセッション需要
デリバリーグループに関連付けられているマシンカタログには、需要の増減に応じて電源をオンまたはオフするために十分な数のマシンが必要です。セッション需要がデリバリーグループ内の登録済みマシンの総数を超えても、Autoscaleはすべての登録済みマシンの電源がオンになっていることを確認します。Autoscaleが追加のマシンをプロビジョニングすることはありません。このボトルネックを解消するために、PowerShellスクリプトを使用してマシンを作成し動的にそれらを削除できます。
監視データの可用性
デリバリーグループのAutoscaleが有効になっている場合は、監視データを使用できます。デリバリーグループのAutoscaleが有効から無効になっても、監視データは引き続き利用できます。Autoscaleは、5分間隔で監視データを収集します。
注:
最初にデリバリーグループのAutoscaleを有効にすると、そのデリバリーグループの監視データを表示するのに数分かかることがあります。
インスタンスサイズの考慮事項
パブリッククラウドでインスタンスのサイズを適切に設定することで、コストを最適化できます。小さいインスタンスは、大きいインスタンスよりも少ないユーザーセッションをホストします。そのため、最後のユーザーセッションがログオフされるまでの時間が小さいインスタンスほど短縮されるため、Autoscaleはマシンをいち早くドレイン状態にします。つまり、Autoscaleは小さいインスタンスの電源をすぐにオフにするので、コストを削減できます。ワークロードのパフォーマンスと処理能力に関する要件を満たす限り、小さいインスタンスをプロビジョニングすることをお勧めします。
詳細情報
Autoscaleについて詳しくは、Tech Zoneの「Citrix Autoscale」を参照してください。