タグ付けされたマシンのオートスケール (クラウドバースト)
注:
この機能は以前、Restrict Autoscaleという名称でした。
はじめに
Autoscaleを使用すると、デリバリーグループ内のマシンの一部のみを電源管理する柔軟性が得られます。これを実現するには、1台以上のマシンにタグを適用し、Autoscaleがタグ付けされたマシンのみを電源管理するように構成します。
この機能は、クラウドベースのリソースが追加の需要(つまり、バーストワークロード)に対応する前に、オンプレミスリソース(または予約済みのパブリッククラウドインスタンス)を使用してワークロードを処理したいクラウドバーストのユースケースで役立ちます。オンプレミスのマシン(または予約済みインスタンス)に最初にワークロードを処理させるには、タグ制限とゾーン優先度を組み合わせて使用する必要があります。
タグ制限は、Autoscaleによって電源管理されるマシンを指定します。ゾーン優先度は、ユーザー起動要求を処理するための優先ゾーン内のマシンを指定します。詳細については、「タグ」および「ゾーン優先度」を参照してください。
特定のタグ付けされたマシンをオートスケールするには、ManageコンソールまたはPowerShellを使用できます。
Manageコンソールを使用して特定のタグ付けされたマシンをオートスケールする
特定のタグ付けされたマシンをオートスケールするには、次の手順を実行します。
-
タグを作成し、そのタグをデリバリーグループ内の該当するマシンに適用します。詳細については、「タグとタグ制限の管理」を参照してください。
-
デリバリーグループを選択し、Manage Autoscaleウィザードを開きます。
-
タグ付けされたマシンのオートスケールページで、タグ付けされたマシンのAutoscaleを有効にするを選択し、リストからタグを選択して、適用をクリックして変更を保存します。
シングルセッションOSの静的およびランダムなデリバリーグループのユーザーインターフェイス:

マルチセッションOSデリバリーグループのユーザーインターフェイス:
タグ付きマシンのAutoscale(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/autoscale-restrict-ss-ms.png)
警告:
- 特定のタグを持つマシンのAutoscaleにより、タグごとのマシンの数を反映するようにヒストグラムが自動的に更新される可能性があります。スケジュールとピーク時間ページで、必要に応じて、各時間帯にマシンを手動で割り当てることができます。
- タグ付きマシンで使用されているタグは削除できません。タグを削除するには、まずタグの制限を解除する必要があります。
タグの制限を適用した後、後でデリバリーグループから削除したい場合があります。そのためには、Autoscaleの管理 > タグ付きマシンのAutoscaleページに移動し、タグ付きマシンのAutoscaleを有効にするのチェックを外します。
警告:
- タグ付きマシンのAutoscaleを有効にするのチェックを外さずに、該当するマシンからタグを削除すると、Autoscaleの管理ウィザードを開いたときに警告が表示されることがあります。マシンからタグを削除すると、Autoscaleで指定したタグが無効になるため、Autoscaleが管理するマシンがなくなる可能性があります。警告を解決するには、タグ付きマシンのAutoscaleページに移動し、無効なタグを削除して、適用をクリックして変更を保存します。
Autoscaleがリソースの電源をオンにするタイミングを制御する
タグなしマシンの使用状況に基づいて、Autoscaleがタグ付きマシンの電源をオンにし始めるタイミングを制御することもできます。これにより、タグ付きまたはパブリッククラウドのワークロードの消費をさらに最適化できます。
これを行うには、次の手順を実行します。
- タグ付きマシンのAutoscaleページで、Autoscaleがタグ付きマシンの電源をオンにし始めるタイミングを制御するを選択します。
- ピーク時とオフピーク時の両方で到達したいタグなしマシンの使用率を入力し、適用をクリックします。サポートされる値: 0~100。
Autoscaleがタグ付きマシンの電源をオンにし始めるタイミングを制御する(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/autoscale-powers-on-tagged-machines.png)
ヒント:
このパーセンテージは、Autoscaleがタグ付けされたマシンの電源をいつオンにし始めるかを制御します。パーセンテージがしきい値(デフォルト10%)を下回ると、Autoscaleはタグ付けされたマシンの電源をオンにし始めます。パーセンテージがしきい値を超えると、Autoscaleは電源オフモードになります。パーセンテージを入力する際は、次の2つのシナリオを考慮してください。
- シングルセッションOSデリバリーグループの場合:この値は、アイドル状態のタグなしマシンの総数に対するパーセンテージとして定義されます。例:タグなしのシングルセッションOSマシンが10台あるとします。セッションがないマシンが1台だけになった場合、Autoscaleはタグ付きマシンの電源をオンにし始めます。
- マルチセッションOSデリバリーグループの場合:この値は、利用可能なタグなしマシンの総容量(ロードインデックスの観点から)に対するパーセンテージとして定義されます。例:タグなしのマルチセッションOSマシンが10台あるとします。それらが90%ロードされた場合、Autoscaleはタグ付きマシンの電源をオンにし始めます。
PowerShellを使用して特定のタグ付きマシンを自動スケールする
注:
Get-BrokerMachinePowerShellコマンドは非推奨です。代替としてGet-BrokerMachineV2を使用してください。
PowerShell SDKを直接使用するには、次の手順を完了します。
-
タグを作成します。 New-Brokertag PowerShellコマンドを使用してタグを作成します。
- 例:
$managed = New-BrokerTag Managed。この場合、タグは「Managed」と名付けられています。New-Brokertag PowerShellコマンドの詳細については、https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/New-BrokerTag/を参照してください。
- 例:
-
マシンにタグを適用します。 Get-Brokermachine PowerShellコマンドを使用して、Autoscaleで電源管理したいカタログ内のマシンにタグを適用します。
- 例:
Get-BrokerMachine -CatalogName "cloud" | Add-BrokerTag $managed.Name。この場合、カタログは「cloud」と名付けられています。 - Get-Brokermachine PowerShellコマンドの詳細については、https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/Get-BrokerMachine/を参照してください。
注:
タグを適用した後で、新しいマシンをカタログに追加する場合があります。その場合、タグは新しいマシンに自動的に適用されません。
- 例:
-
タグ付きマシンを、Autoscaleで電源管理したいデリバリーグループに追加します。 Get-BrokerDesktopGroup PowerShellコマンドを使用して、マシンを含むデリバリーグループにタグ制限を追加します(つまり、「タグXを持つマシンへの起動を制限する」)。
- 例えば、
Get-BrokerDesktopGroup -Uid 1 | Set-BrokerDesktopGroup -RestrictAutoscaleTagUid $managed.Uid。この場合、デリバリーグループのUIDは1です。 - Get-BrokerDesktopGroup PowerShellコマンドレットの詳細については、https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/Get-BrokerDesktopGroup/を参照してください。
- 例えば、
タグ制限を適用した後、後でデリバリーグループから削除したい場合があります。そのためには、Get-BrokerDesktopGroup PowerShellコマンドを使用します。
例: Get-BrokerDesktopGroup –Uid 1 | Set-BrokerDesktopGroup –RestrictAutoscaleTagUid $null。この場合、デリバリーグループのUIDは1です。
注:
タグ付けされていないマシンは、ユーザーが電源を切った後、自動的に再起動します。この動作により、ワークロードをより早く処理できるようになります。これは、
Set-BrokerDesktopGroupのAutomaticRestartForUntaggedMachinesプロパティを使用して、デスクトップグループごとに有効または無効にできます。詳細については、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)が含まれており、そのうち5台はカタログC1(M1~M5)から、残りの5台はカタログC2(M6~M10)からのものです。
- マシンM1~M5は手動で電源がオンにされ、スケジュール期間中ずっと電源がオンのままになります。
-
オートスケールの構成
- 容量バッファは10%に設定されています。
- Autoscaleは「Cloud」タグが付いたマシンのみを電源管理します。この場合、AutoscaleはクラウドマシンM6~M10を電源管理します。
-
公開アプリケーションまたはデスクトップの構成。公開デスクトップ(例)にはゾーン設定が構成されており、ユーザー起動要求ではゾーンZ2よりもゾーンZ1が優先されます。
- ゾーンZ1は、公開デスクトップの優先ゾーン(ホームゾーン)として構成されています。
このシナリオは次の順序で実行されます。
- ユーザーはログオンしません。
- ユーザーセッションが増加します。
- 利用可能なすべてのオンプレミス・マシンが消費されるまで、ユーザーセッションはさらに増加します。
- さらに多くのユーザーセッションが開始されます。
- セッション終了により、ユーザーセッションが減少します。
- セッション負荷がオンプレミス・マシンのみで処理されるまで、ユーザーセッションはさらに減少します。
上記のシナリオでAutoscaleがどのように機能するかについては、以下を参照してください。
- ユーザー負荷なし(初期状態)
- オンプレミス環境のマシンM1からM5はすべて電源がオンになっています。
- クラウド内のマシン1台(例: M6)の電源がオンになっています。このマシンは、構成された容量バッファのために電源がオンになっています。この場合、10(マシン数)x 10,000(負荷インデックス)x 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の電源をオンにするには時間がかかる場合があります。そのため、マシン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)の1つをドレイン状態にします。その結果、新しい変更(たとえば、ユーザー負荷が再び増加したり、他のクラウドマシンの負荷が最も低くなったりする場合など)が発生しない限り、他のユーザーによって開始されたセッションはそのマシン(たとえばM7)に転送されなくなります。
- ユーザーセッションの負荷は、1つ以上のクラウドマシンが不要になるまでさらに減少します
- マシンM7上のすべてのセッションが終了し、指定された電源オフ遅延がタイムアウトすると、AutoscaleはマシンM7の電源をオフにします。
- 電源がオンになっているすべてのマシン(M1からM5)のロードインデックス値は、10,000を下回るレベルに低下する可能性があります。
- 電源がオンになっているマシン(M6)のロードインデックス値は減少します。
- ユーザーセッションは、クラウドマシンが不要になるまでさらに減少します。
- マシンM6上にユーザーセッションがないにもかかわらず、予備容量として予約されているため、Autoscaleは電源をオフにしません。
- 設定された容量バッファのため、Autoscaleは残りのクラウドマシンM6の電源をオンのままにします。そのマシンは、受信ユーザーにデスクトップを提供するのを待機しています。
- オンプレミス環境のマシンに利用可能な容量がある限り、セッションはマシンM6でホストされるように転送されません。