タグ付けされたマシンのAutoscale(クラウドバースト)
注:
この機能は、以前はAutoscaleの制限と呼ばれていました。
はじめに
Autoscaleには、デリバリーグループ内のマシンのサブセットのみを電源管理できる柔軟性があります。この場合、1つまたは複数のマシンにタグを適用し、タグ付きマシンのみを電源管理するようにAutoscaleを構成します。
この機能はクラウドの処理が増大した場合に有用であり、クラウドベースのリソースで追加の需要(バーストワークロード)が発生する前にオンプレミスのリソース(またはパブリッククラウドのリザーブドインスタンス)を使用してワークロードを処理できます。最初にオンプレミスのマシン(またはリザーブドインスタンス)をワークロードに対応させるには、タグ制限とゾーン優先度を使用する必要があります。
タグ制限は、Autoscaleで電源管理されるマシンを指定します。ゾーン優先度では、ユーザーの起動要求を処理する優先ゾーンのマシンを指定します。詳しくは、「タグ」および「ゾーン優先度」を参照してください。
特定のタグ付きマシンをオートスケールするために、[管理]コンソールまたはPowerShellを使用できます。
[管理]コンソールを使用して特定のタグ付きマシンにAutoscaleを使用する
特定のタグ付きマシンにAutoscaleを使用には、次の手順を実行します:
-
タグを作成し、そのタグをデリバリーグループ内の該当するマシンに適用します。詳しくは、「タグとタグ制約の管理」を参照してください。
-
デリバリーグループを選択し、Autoscaleの管理ウィザードを開きます。
-
[タグ付けされたマシンのAutoscale] ページで [タグ付けされたマシンのAutoscaleを有効にする] を選択し、一覧からタグを選択します。次に [適用] をクリックして変更を保存します。
シングルセッションOSの静的およびランダムのデリバリーグループのユーザーインターフェイス:
マルチセッションOSデリバリーグループのユーザーインターフェイス:
警告:
- 特定のタグを持つマシンのAutoscaleでは、ヒストグラムが自動的に更新され、タグごとのマシンの数に反映される場合があります。[スケジュールとピーク時間] ページで、必要であれば手動で時間枠ごとにマシンを割り当てることができます。
- タグ付きマシンで使用されているタグを削除することはできません。タグを削除するには、最初にタグ制限を削除する必要があります。
タグ制限を適用し、あとからデリバリーグループから削除することができます。これを行うには、[Autoscaleの管理]>[タグ付けされたマシンのAutoscale] ページに移動してから、[タグ付けされたマシンのAutoscaleを有効にする] をオフにします。
警告:
- [タグ付きマシンのAutoscaleを有効にする] をオフにしないで該当マシンからタグを削除し、[Autoscaleの管理] ウィザードを開くと、警告を受け取ることがあります。マシンからタグを削除するとAutoscaleで指定したタグが無効になるため、Autoscaleが管理するマシンがなくなる可能性があります。警告を解決するには、[タグ付けされたマシンのAutoscale] ページで無効なタグを削除し、[適用] をクリックして変更を保存します。
Autoscaleがリソースを電源オンするタイミングを制御する
Autoscaleは、タグ付けされていないマシンの使用状況に基づいて、タグ付けされたマシンの電源投入を開始するタイミングを制御することもできます。これにより、タグ付きまたはパブリッククラウドのワークロードの消費をさらに最適化できます。
このためには、次の手順を実行します:
- [タグ付けされたマシンのAutoscale] ページで、[Autoscaleがタグ付けされたマシンの電源投入を開始するタイミングを制御する] を選択します。
- ピーク時およびオフピーク時のタグなしマシン使用量のパーセンテージを入力し、[適用] をクリックします。使用できる値:0〜100。
ヒント:
このパーセンテージは、Autoscaleによるタグ付けされたマシンの電源投入を開始するタイミングを制御します。パーセンテージがしきい値を下回った場合(デフォルトは10%)、Autoscaleがタグ付けされたマシンの電源投入を開始します。パーセンテージがしきい値を超えると、Autoscaleは電源オフモードになります。パーセンテージを入力するときは、次の2つのシナリオを考慮してください。
- シングルセッションOSデリバリーグループの場合:この値は、アイドル状態にあるタグなしマシンの総数のパーセンテージで定義されます。例:タグなしのシングルセッションOSマシンが10台あるとします。セッションのないマシンが1台だけ残っている場合、Autoscaleはタグ付けされたマシンの電源を投入し始めます。
- マルチセッションOSのデリバリーグループの場合:この値は、負荷インデックスを基準とした使用可能なタグなしマシンの合計処理能力のパーセンテージで定義されます。例:タグなしのマルチセッションOSマシンが10台あるとします。負荷が90%になると、Autoscaleはタグ付けされたマシンの電源を投入し始めます。
PowerShellを使用して特定のタグ付きマシンをAutoscaleする
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)、カタログC1からの5台のマシン(M1からM5)、およびカタログC2からの5台のマシン(M6からM10)が含まれます。
- マシンM1からM5は手動で電源をオンにされ、スケジュール全体を通してオンのままになります。
-
Autoscaleの構成
- 処理能力バッファは10%に設定します。
- Autoscaleはタグ「Cloud」が付いたマシンのみ電源を管理します。この場合、AutoscaleはクラウドマシンM6からM10の電源を管理します。
-
公開アプリケーションまたはデスクトップの構成。ゾーン優先度が、たとえば公開デスクトップ用に構成されると、ユーザーの起動要求でゾーンZ1がゾーンZ2より優先されます。
- ゾーンZ1は、公開デスクトップの優先ゾーン(ホームゾーン)として構成されます。
このシナリオは以下の順序で実行されます:
- ユーザーはログオンしていません。
- ユーザーセッションが増加します。
- ユーザーセッションは、すべてのオンプレミスマシンが消費されるまで増加します。
- 追加のユーザーセッションが開始されます。
- セッションの終了により、ユーザーセッションが減少します。
- ユーザーセッションは、セッションの負荷がオンプレミスマシンによってのみ処理されるようになるまで減少し続けます。
上記のシナリオで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未満に低下すると、処理能力バッファが構成されているため、需要の増大に応じてAutoscaleが追加のマシン(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)をドレイン状態にします。その結果、他のユーザーによって開始されたセッションは、(ユーザー負荷が再度増大する、または他のクラウドマシンの負荷が最小になるなど)新しい変更が行われない限り、そのマシン(M7など)に送信されなくなります。
- 1つまたは複数のクラウドマシンが不要になるまで、ユーザーセッションの負荷はさらに減少します。
- マシンM7上のすべてのセッションが終了し、指定された電源オフの遅延でタイムアウトになると、AutoscaleはマシンM7の電源をオフにします。
- 電源がオンになっているマシン(M1からM5まで)の負荷インデックスが10,000を下回るレベルに下降します。
- 電源がオンになっているマシン(M6)の負荷インデックスが減少します。
- クラウドマシンが不要になるまで、ユーザーセッションの負荷はさらに減少します。
- マシンM6にユーザーセッションがない場合でも、Autoscaleは予備の処理能力用に確保しているため電源をオフにしません。
- 処理能力バッファが構成されているため、Autoscaleは残されたクラウドマシンM6の電源をオンにしたままにします。このマシンは、新規ユーザーにデスクトップを提供するため待機しています。
- セッションは、オンプレミスマシンに利用できる処理能力がある限り、マシンM6でホストされません。