WVDを業務時間中のみ起動させる(スケジュール自動起動・シャットダウン)

Windows Virtual DesktopはAzure VMで稼働しているため、使用していない時間はシャットダウンしていれば、その分コストを抑えることができます。仮に1日8時間起動であれば、コストは3分の1になります。

Azure VMではスケジュールで自動起動・自動シャットダウンする機能がありますので、設定してみたいと思います。

ここでは、平日の午前8時に自動起動し、午後8時に使用していなければシャットダウン、午前0時にも使用していなければシャットダウンをします。
D4s V3タイプの場合、常時稼働で月額15,698円のところが、上記稼働の場合は月額5,604円に抑えることができます。

“使用していなければ”とは、CPU稼働率5%をしきい値としています。CPUが5%以上動いていればシャットダウンしません。(使っている人がいるのに突然シャットダウンしたら嫌ですからね)

更に、VMがシャットダウン中に急に使わなくてはいけなくなった場合のために、スマホアプリからリモート起動できるようにします。

Automationアカウントの作成

Marketplaceから「オートメーション」を開きます。

アカウント名や場所を設定して「作成」をクリックします。

VMの開始/停止ソリューションの設定

Automationアカウントを開きます。

作成したAutomationアカウント名をクリックします。

関連リソースの「VMの開始/停止」画面を開き、「詳細を表示して、ソリューションを有効にします」リンクをクリックします。

「作成」をクリックします。

ワークスペースを選択します。

パラメータを設定します。

追加設定

上記の設定で不足している設定を行います。
まず、起動スケジュール設定のタイムゾーンを日本にして、月~金のみ起動するように設定します。

共有リソースの「スケジュール」を開き、「Scheduled-StartVM」をクリックします。

タイムゾーンを「日本」、週のうち月~金にチェックを入れます。

デフォルトで有効になっているシャットダウンスケジュール設定「Scheduled-StopVM」は、CPUの稼働率を考慮しないので、CPU稼働率に応じてシャットダウンする「Schedule_AutoStop_CreateAlert_Parent」を設定します。

まず、「共有リソース」>「スケジュール」から「Scheduled-StopVM」を開いて、スケジュールを無効に設定します。

次に、「Schedule_AutoStop_CreateAlart_Parent」を開きます。

「有効」にして、シャットダウン時間等を設定します。

2つ目のシャットダウンスケジュールを追加します。

プロセスオートメーションの「Runbook」から「AutoStop_CreateAlert_Parent」を開き、リソースの「スケジュール」を開きます。

0時に動作する追加のスケジュールを設定します。

アクションパラメータを設定します。

20時と0時の2つのシャットダウンスケジュールができました。

シャットダウン条件は「変数」画面でパラメータを設定します。
ここでは、「External_AutoStop_TimeWindow」(条件の分析時間)をデフォルトの6時間から15分に変更しています。