今回はCitrix Cloud on Azure環境で、Smart Toolを用いた電源管理を紹介します。Azureは稼働時間で課金となりますので、電源稼働時間を制御することによりコストを最適化することができます。

※この記事は2017/12/5現在の情報を元に記載されています。



Citrix Cloud on Azureの構成

Citrix Cloud on Azureの構成について簡単におさらいしましょう。
従来のCitrix XenDesktopでは、すべてのコンポーネントがオンプレミスにある状態です。

コンポーネント名(略称) 役割
Delivery Controller (DDC) XenDesktop環境の管理
設定を実施します
License Server (Lic) XenDesktopライセンスの管理
利用人数を管理します
SQL Server (SQL) DDCの設定情報の保管
設定を保管します
Storefront (SF) ログオンするためのURL提供
Webサービスでログオン画面を提供します
NetScaler Gateway (NSG) 接続をセキュアにするためのProxy
独自技術で安全な接続を提供します
Virtual Delivery Agent (VDA) デスクトップ配信、アプリケーション配信用
実際にユーザが使う環境を提供します
Cloud Connector (CCT) Citrix Cloudと接続するためのProxy
443のみですべての通信を網羅します

オンプレミスだと全コンポーネントのサーバがデータセンタに配備されるので、こんな感じです。

Citrix Cloud on Azureだと、管理コンポーネントはCitrix Cloud、リソースホストやADまわりはAzureの上になります。こんな感じです。

ハードウェアをひとつも持たずにCitrixの機能をつかえてしまう時代になりました。びっくりしますわ。

簡単にまとめると
管理する側のコンポーネント:Citrix Cloud上に配置される
管理される側のコンポーネント:MS Azure上に配置される
ということですね。

Smart Toolを用いた電源制御設計

Azure環境では仮想マシンを起動している時間に対して課金されます。逆に、稼働していなければ課金対象にはならないので、不要な仮想マシンは停止しておくとコストを最適化できますね。

Citrix CloudのSmart Toolを使うと、スケジュールに従ってAzure上の仮想マシン電源を制御できます。通常OSのシャットダウンを行ってもAzureの課金対象外にならないのですが、Smart Toolの制御では課金対象外の状態にまでしてくれます。
ただし、制御対象はCitrixの設定項目「Delivery Group」のみとなります。AD/DNSやCloud Connectorなどは制御対象外となります。

具体例でお話しするとイメージしやすいと思います。
次のような環境をCitrix Cloud on Azureで運用するとしましょう。すぱっとサイジング結果が出てきますが、その手法はまた別の機会にご紹介します。

要件一覧

  • ユーザー500人がXenAppを使う
  • 1人あたりリソースは 256MHz/1GB/10GB
  • StoreFrontとNetScalerはAzure上に置いて二重化する
  • ADはAzure上に置いて二重化する
  • Cloud Connectorの耐障害性能を考慮しない

サイジング結果一覧

コンポーネント 台数 vCPU(個) RAM(GB) HDD(GB)
StoreFront 2 4 6 50
NetScaler Gateway 2 2 2 50
Active Directory 2 2 4 50
Cloud Connector 2 2 4 20
XenApp(VDA) 8 6 27 290

この中で、XenAppサーバについては平日の夜間や土日祝日は1台を残して停止してしまった方が良いでしょう。電源管理プランを考えてみましょう。

電源管理要件

パターン1

全サーバを24時間稼働

対象 曜日 0:00-06:00 06:00-22:00 22:00-24:00
全サーバ 平日 稼働 稼働 稼働
土日 稼働 稼働 稼働

パターン2

XenApp2号機~8号機は平日夜間、土日は電源停止

対象 0:00-06:00 06:00-22:00 22:00-24:00
XenApp2号機~8号機 平日 休止 稼働 休止
土日 休止 休止 休止
それ以外 平日 稼働 稼働 稼働
土日 稼働 稼働 稼働

パターン1とパターン2ともに料金計算ツールで1ヶ月分の利用料を算出し、比較してみました。

Micorosoft Azure 料金計算ツール >

うん、これは使わざるをえない。

Smart Toolの設定

具体的にどのように設定すればいいのか、実際の画面を見てみましょうか。
Citrix Cloud Portal画面から設定を行います。

Citrix Cloud Portal画面 >
※ログインにはアカウント登録が必要です。

ログオン後、「My Services」の中に「Smart Tools」が表示されます。「Manage」で中に入っていきましょう。

次の画面では「Smart Scale」を選択します。

Citrix Cloudで設定済のサイトが表示されます。「View Site」で次の画面に。

モニタリング画面が表示されます。
右上の「Configure」で設定に進みましょう。

設定画面が出ます。初期設定では、Smart Scale機能はDisableなのでEnableにしましょう。
トグルスイッチをクリックすると有効になります。

有効になるとこんな感じになります。

少し下にスクロールすると、Capacity Managementの項目が見えます。ここで詳細な電源制御情報を登録しましょう。まずは、制御の基本となる条件の設定です。次の3つから選択する形になっていますね。

  • Load-based and Schedule-based scaling
    負荷、スケジュールの両方を条件にして電源制御する
  • Schedule-based scaling only
    スケジュールを条件にして電源制御する
  • Load-based Scaling only
    負荷を条件にして電源制御する

今日はスケジュールを条件にして設定をしてみましょう。

少し下にスクロールすると、Scheduleの項目が見えます。「Create New」で新しい条件を追加していくことができます。

Create Schedule画面が表示されます。次の要領で新しいスケジュールを作成しましょう。

  • Name
    このスケジュールの名前を入力しましょう。
  • 2択:どちらか選択しましょう。
  1. Min Number of Machines On
    最低限、常に起動しておく仮想マシンの数
  2. Min % of Registered Machines On
    最低限、常に起動しておく仮想マシンの割合
  • Schedule
  • From
  • To
    自動制御スケジュールの開始時刻と終了時刻を30分単位で選択しましょう。
  • 4択:要件にあわせて選択しましょう。
  1. All Workweek days
    月曜~金曜が該当します。
  2. All Weekend days
    土曜~日曜が該当します。
  3. Entire week
    全日が該当します。
  4. Custom
    指定曜日を選択してカスタムすることができます

全部入れるとこんな感じに。間違いが無ければ「Create」で確定しましょう。

同様の設定を繰り返すことで、スケジュールをいくつも作成することができます。複雑な条件も組合せで実現することができますね。

これで、スケジュール条件通りに電源が制御できるようになりました。
土日は1台を残してXenAppサーバを課金対象外状態にすることができます。

まとめ

  • Citrix Cloud on Azure
    管理する側がCitrix Cloud上にある。
    管理される側がAzure上にある。
  • Smart Toolsについて
    Delivery Groupを構成する仮想マシンが対象(いわゆるXenAppサーバ)
    スケジュールと負荷を確認して仮想マシンの停止/起動制御を自動化
  • Smart Toolsの設定
    Citrix Cloud Portal画面から
    スケジュール条件、負荷条件、または両方の条件で仮想マシンの停止/起動台数を制御

Smart ToolでAzureのコストを簡単に最適化できますよ、というお話しでした。

今日はここまで。また次回のAzure Step by Stepシリーズでお会いしましょう。


この記事を読んだ方へのオススメコンテンツはこちら