タグ付けされたマシンのオートスケール (クラウドバースト)
注:
この機能は以前、Restrict Autoscale と呼ばれていました。
はじめに
Autoscaleは、デリバリーグループ内のマシンの一部のみを電源管理する柔軟性を提供します。これを実現するには、1つ以上のマシンにタグを適用し、その後、Autoscaleを構成してタグ付きマシンのみを電源管理します。
この機能は、クラウドベースのリソースが追加の需要 (つまり、バーストワークロード) に対応する前に、オンプレミスリソース (または予約済みのパブリッククラウドインスタンス) を使用してワークロードを処理したいクラウドバーストのユースケースで役立ちます。オンプレミスのマシン (または予約済みインスタンス) に最初にワークロードを処理させるには、タグ制限とゾーン優先度を併用する必要があります。
特定のタグ付きマシンをオートスケールするには、Manage コンソールまたは PowerShell を使用できます。
Manage コンソールを使用して特定のタグ付きマシンをオートスケールする
特定のタグ付きマシンをオートスケールするには、次の手順を実行します。
-
タグを作成し、そのタグをデリバリーグループ内の該当するマシンに適用します。詳細については、「タグとタグ制限の管理」を参照してください。
-
デリバリーグループを選択し、Manage Autoscale ウィザードを開きます。
-
タグ付きマシンのオートスケールページで、タグ付きマシンのオートスケールを有効にするを選択し、リストからタグを選択して、適用をクリックして変更を保存します。シングルセッションOSの静的およびランダムなデリバリーグループのユーザーインターフェイス:
マルチセッションOSデリバリーグループのユーザーインターフェイス:
警告:
-
特定のタグを持つマシンをオートスケールすると、ヒストグラムが自動的に更新され、タグごとのマシンの数が反映される場合があります。スケジュールとピーク時間ページで、必要に応じて、各時間帯にマシンを手動で割り当てることができます。
-
タグ付けされたマシンで使用されているタグは削除できません。タグを削除するには、まずタグの制限を解除する必要があります。
タグの制限を適用した後、後でデリバリーグループから削除したい場合があります。そのためには、Autoscaleの管理 > タグ付けされたマシンのAutoscaleページに移動し、タグ付きマシンのAutoscaleを有効にするのチェックを外します。
警告:
-
タグ付きマシンのAutoscaleを有効にするのチェックを外さずに、該当するマシンからタグを削除すると、Autoscaleの管理ウィザードを開いたときに警告が表示されることがあります。マシンからタグを削除すると、Autoscaleで指定したタグが無効になるため、Autoscaleが管理するマシンがなくなる可能性があります。この警告を解決するには、タグ付けされたマシンのAutoscaleページに移動し、無効なタグを削除してから、適用をクリックして変更を保存します。
Autoscaleがリソースの電源をオンにするタイミングを制御する
タグ付けされていないマシンの使用状況に基づいて、Autoscaleがタグ付けされたマシンの電源をオンにし始めるタイミングを制御することもできます。これにより、タグ付けされたワークロードまたはパブリッククラウドワークロードの消費をさらに最適化できます。
これを行うには、次の手順を完了します。
-
タグ付けされたマシンのAutoscaleページで、Autoscaleがタグ付けされたマシンの電源をオンにし始めるタイミングを制御するを選択します。
-
ピーク時とオフピーク時の両方で到達させたいタグ付けされていないマシンの使用率をパーセンテージで入力し、適用をクリックします。サポートされる値: 0~100。
Autoscaleがタグ付けされたマシンの電源をオンにし始めるタイミングを制御する(/en-us/citrix-virtual-apps-desktops/2607-ltsr/media/autoscale-powers-on-tagged-machines.png)
ヒント:
このパーセンテージは、Autoscaleがタグ付けされたマシンの電源をオンにし始めるタイミングを制御します。パーセンテージがしきい値(デフォルトは10%)を下回ると、Autoscaleはタグ付けされたマシンの電源をオンにし始めます。パーセンテージがしきい値を超えると、Autoscaleは電源オフモードになります。パーセンテージを入力する際は、次の2つのシナリオを考慮してください。
-
シングルセッションOSデリバリーグループの場合: この値は、アイドル状態のタグ付けされていないマシンの総数に対するパーセンテージとして定義されます。例: タグ付けされていないシングルセッションOSマシンが10台あります。セッションがないマシンが1台だけになったときに、Autoscaleはタグ付けされたマシンの電源をオンにし始めます。
-
マルチセッションOSデリバリーグループの場合: この値は、利用可能なタグ付けされていないマシンの総容量(負荷インデックスの観点から)に対するパーセンテージとして定義されます。例: タグ付けされていないマルチセッションOSマシンが10台あります。それらが90%ロードされたときに、Autoscaleはタグ付けされたマシンの電源をオンにし始めます。
PowerShellを使用して特定のタグ付けされたマシンをAutoscaleする
注:
Get-BrokerMachine PowerShellコマンドは非推奨です。代わりに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は手動で電源がオンにされ、スケジュール期間中ずっと電源がオンのままになります。
-
-
Autoscale構成
-
容量バッファは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でホストされるようには転送されません。
-