オートスケール™ の概要

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台のマシンがオンになっている必要があります。小数値を処理するためのルールは次のとおりです。

  • 最も近い整数に丸める: たとえば、値が6.4の場合、6台のマシンがオンになります。値が6.7の場合、7台のマシンがオンになります。
  • 1未満の非ゼロ値はすべて1に丸める: たとえば、値が0.2または0.9の場合、1台のマシンがオンになります。

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

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

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

スケジュール

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

スケジュールには、ピーク時間とオフピーク時間が定義されており、各時間帯のアクティブなマシンの数が含まれます。

スケジュール設定は、デリバリーグループの種類によって異なります。詳細については、以下を参照してください。

ピーク時間とオフピーク時間

ピーク時間とオフピーク時間は、1日の特定の期間に使用するキャパシティバッファ値を示すために使用されます。ピーク時間を定義し、残りの未定義の時間をオフピーク時間として残すことができます。

電源オフ遅延

電源オフ遅延とは、Autoscaleがマシンを電源オフにする前に、マシンが電源オンになってから経過しなければならない最小分数です。これにより、セッション需要が不安定なときにマシンが頻繁にオン/オフを繰り返すのを防ぎます。デフォルトでは、電源オフ遅延は30分です。0~60分の範囲で設定できます。

プールサイズ

プールサイズとは、1日の特定の期間に電源オン状態を維持する必要があるマシンの数です。

キャパシティバッファ

キャパシティバッファは、動的な負荷増加に対応するために、現在の需要に予備のキャパシティを追加するために使用されます。考慮すべき2つのシナリオがあります。

  • マルチセッションOSデリバリーグループの場合、キャパシティバッファは、ロードインデックスの観点からデリバリーグループの総キャパシティの割合として定義されます。
  • シングルセッションOSデリバリーグループの場合、キャパシティバッファは、デリバリーグループ内のマシンの総数の割合として定義されます。

キャパシティバッファはローリングバッファであり、設定されたプールサイズに加えて計算および適用されるのではなく、現在の使用状況に基づいて計算および適用されます。

たとえば、10台のマシンを持つデリバリーグループ、現在の期間のプールサイズが1台のマシン、キャパシティバッファが10%であるとします。スケジュールで定義された1台の電源オンマシンが、10%のキャパシティバッファが満たされなくなるまで負荷がかかると、追加のマシンが電源オンになります。2台目のマシンを電源オンにした後で負荷が減少し、10%のキャパシティバッファを満たすのに十分な空き負荷キャパシティがある場合、Autoscaleは1台のマシンの電源オフを準備します。

ロードインデックス

重要:

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

ロードインデックスメトリックは、マシンがユーザーログオン要求を受信する可能性を決定します。これは、同時ログオン、セッション、CPU、ディスク、およびメモリ使用量に対して構成されたCitrix Load Management policy設定を使用して計算されます。

ロードインデックスは0から10,000の範囲です。デフォルトでは、マシンが250セッションをホストしている場合、フルロードと見なされます。

  • 「0」はアンロードされたマシンを示します。ロードインデックス値が0のマシンは、ベースライン負荷の状態です。

  • 「10,000」は、これ以上セッションを実行できない完全にロードされたマシンを示します。

Autoscaleとメンテナンスモード

メンテナンスモードのマシンは、その可用性ステータスに関わらず、全体のプールサイズの計算の一部として考慮されます。したがって、プール内のすべてのマシンがメンテナンスモードになる可能性があります。ただし、これらのマシンは容量バッファの計算から除外され、即座に利用可能であることが保証されます。ユーザー接続のために特定の割合のマシンがアクセス可能であることを保証するには、プールサイズとバッファ値を適切に調整してください。

マシンコスト

マシンインスタンスの時間あたりのコストは、使用されているコンピューティング容量の時間あたりのコスト(米ドル)です。この設定は、Autoscale設定のコスト削減を計算するために使用されます。削減額を表示するには、Monitor > Trends > Machine usageに移動します。

デリバリーグループのスケールアップ

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は、指定された電源オフ遅延時間の間電源がオンになっていたマシンをドレインします。

    そうすることで、最近電源がオンになったマシンがドレイン状態になるのを防ぎます。それらのマシンはセッション数が最も少ない可能性が高いためです。

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

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

マシンは、次のいずれかの条件が満たされた場合にドレイン状態から解除されます。

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

重要:

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

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

ドレイン状態のマシンを表示する

注:

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

Studioでは、ドレイン状態のマシンを表示して、どのマシンがシャットダウンされようとしているかを知ることができます。次の手順を完了します。

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

ドレイン状態列には、次の情報が表示されます。

  • シャットダウンまでドレイン中。 マシンがシャットダウンされるまでドレイン状態にある場合に表示されます。
  • ドレインしていません。 マシンがまだドレイン状態にない場合に表示されます。

ドレイン状態

デリバリーグループのAutoscaleを有効にする

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

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

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

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

    クラウドUI

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

    クラウドUI

  4. 組織のニーズに基づいてデフォルト設定を変更するには、次の設定を完了します。

Autoscaleを無効にするには、「Autoscale」チェックボックスをオフにします。ページ上のオプションがグレー表示され、選択したデリバリーグループでAutoscaleが無効になっていることを示します。

重要:

  • Autoscaleを無効にすると、Autoscaleによって管理されているすべてのマシンは、無効化された時点の状態を維持します。
  • Autoscaleを無効にすると、ドレイン状態のマシンはドレイン状態から解除されます。ドレイン状態の詳細については、ドレイン状態を参照してください。
  • 負荷ベースの設定」ページにあるシングルセッションOS静的デリバリーグループおよびシングルセッションOSランダムデリバリーグループの「電源ポリシー」アクションは、Autoscaleの設定(有効または無効)とは独立しています。

ドレイン中のマシンをAutoscaleの計算から除外する

この機能を使用すると、再起動スケジュールによりドレイン中のマシンがAutoscaleの容量ターゲットにカウントされるのを防ぐことができます。これらのマシンを除外することで、リソースのプロビジョニングを最適化し、過剰なプロビジョニングを回避できます。 たとえば、Autoscaleと定期的な再起動スケジュールで構成されたマルチセッションOSマシンのデリバリーグループがあるとします。マシンが再起動のためにドレイン状態に入ると、通常、Autoscaleはそれらを利用可能な容量としてカウントします。これにより、不必要に追加のマシンがプロビジョニングされる可能性があります。この機能を有効にすると、Autoscaleは容量を計算する際にこれらのドレイン中のマシンを無視するように指示されます。これにより、アクティブに利用可能なマシンのみがターゲットに貢献し、リソース利用の効率化と運用コストの削減につながります。

適用範囲: この機能は、マルチセッションOSマシン(RDS)を含むデリバリーグループに適用されます。 制限事項:

  • この機能はシングルセッションOSマシンには適用されません。
  • 「マシンの数」(「パーセンテージ」ではなく)に基づいてAutoscaleを構成する場合、システムはドレイン状態のマシンをAutoscaleの計算から除外しません。

重要な考慮事項:

  • プロパティExcludeNaturalRebootDrainingFromAutoscaleはデリバリーグループで構成されます。
  • プロパティExcludeNaturalRebootDrainingFromAutoscaleのデフォルト値はFalseです。これは、ドレイン状態のマシンがデフォルトでAutoscaleの計算に含まれることを意味します。

前提条件:

  • マルチセッションOSデリバリーグループを構成する必要があります。
  • ターゲットデリバリーグループに対してAutoscaleを有効にして構成する必要があります。スケーリングには「マシンのパーセンテージ」を使用することをお勧めします。
  • マシンをドレイン状態にするには、デリバリーグループの再起動スケジュールを構成する必要があります。 構成方法:

この機能は、PowerShellコマンドを使用してデリバリーグループレベルで構成します。

  1. 機能トグルExcludeNaturalRebootDrainingFromAutoscaleが有効になっていることを確認してください。これは、PowerShellでGet-ConfigEnabledFeatureを実行し、出力リストでトグルを確認することで検証できます。

    注:

    トグルが無効になっている場合、デリバリーグループのプロパティを変更することはできません。

  2. ドレイン状態のマシンを除外するようにデリバリーグループのプロパティを設定します**。
    1. 管理者権限でPowerShellを開きます
    2. マルチセッションOSデリバリーグループを特定します
    3. デリバリーグループに対して、Set-BrokerDesktopGroupコマンドレットを使用して、ExcludeNaturalRebootDrainingFromAutoscaleプロパティを$Trueに設定します

      Set-BrokerDesktopGroup -Name "<YourDeliveryGroupName>" -ExcludeNaturalRebootDrainingFromAutoscale $True
      <!--NeedCopy-->
      

      <YourDeliveryGroupName>をデリバリーグループの実際の名前で置き換えてください。

    4. 以下を実行して、プロパティがTrueに設定されていることを確認します

      Get-BrokerDesktopGroup -Name "<YourDeliveryGroupName>" | Select Name, ExcludeNaturalRebootDrainingFromAutoscale
      <!--NeedCopy-->
      

      出力にはExcludeNaturalRebootDrainingFromAutoscale : Trueが表示されるはずです。

  3. Autoscaleと再起動スケジュールを構成します(まだ構成されていない場合)** デリバリーグループでAutoscaleが有効になっており、マシンがドレイン状態になるように再起動スケジュールが構成されていることを確認してください。

    1. Citrix Studioで、デリバリーグループを編集します。
    2. Autoscaleの管理に移動し、ピーク/オフピークスケジュールを構成して、Autoscaleが有効になっていることを確認します。ドレイン中のマシンを除外する場合は、「マシンの割合」に基づいてスケジュールを設定します。
    3. 再起動スケジュールに移動し、マシンがドレイン状態になるようにスケジュールを作成または編集します(例:Cloudの場合は「Graceful restart」、オンプレミス展開の場合は「Re-start all machines after draining session」を使用します)。

監視とトラブルシューティング: 問題: この機能を有効にしても、セッションがドレイン中のマシンで起動することがあります。 原因: これは予期される動作です。ドレイン状態のマシンは、他の適切なドレイン状態ではないマシンが利用できない場合の「最終手段」として、セッション起動に引き続き利用できます。この機能は主にプロビジョニング/デプロビジョニングのAutoscale計算に影響を与えます。ブローカーのセッション起動ロジック自体には影響しません。 解決策: これは問題ではなく、意図された設計です。ドレイン中のマシンにセッションが移行するのを最小限に抑えるには、需要を満たすのに十分なドレイン状態ではないマシンを維持できるよう、Autoscaleのバッファと容量が十分であることを確認してください。

ユーザーセッションを持つVMのAutoscaleオプション

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

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

注:

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

割り当てられたマシンについて

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

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

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

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

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

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

プールされたマシンについて

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

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

メトリックの監視

デリバリーグループでAutoscaleを有効にすると、DirectorからAutoscaleで管理されているマシンの次のメトリックを監視できます。

  • マシンの使用状況

  • 推定節約額

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

  • マシンの状態

  • 負荷評価の傾向

注:

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

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

休止状態の仮想マシンにおけるAutoscale

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

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

休止状態にできないVMはシャットダウンされます。

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

Autoscaleは、ピーク時にセッションがない休止状態のマルチセッションRemote Desktop Services (RDS) および共有シングルセッションVMの電源をオンにすることもできます。VMはMCSおよび非MCSマシンカタログのいずれでもかまいません。

詳細情報

オートスケールに関する詳細については、Tech ZoneのCitrix Autoscaleを参照してください。

オートスケール™ の概要