Windows Virtual Desktop #30 Session host が全て停止している場合の挙動

この記事のWVDは”Windows Virtual Desktop Spring 2020 Release”が対象です。

今回は Windows Virtual Desktop のSession host 、Azure 上の仮想のWindows 10、が停止している場合の挙動を確認します。 Citrix や Horizon のコネクションブローカではサインイン先となるSession host が停止している場合は自動的に仮想マシンをパワーオンします。 WVD ではどのような挙動になるか実際にやってみます。

まずは Azure Portal のHost pool 管理画面から Session host が停止していることを確認します。

”Session hosts”が2、”Unavailable” が2ですので利用可能なSession host は存在しません。

Session hosts 画面でもStatus が Unavailable であることを確認できます。

それではリモートデスクトップクライアントから接続を確認していきます。 予想される動作は2つです。 1つはWVD 側でSession host を自動的に起動しサインインに成功する、2つ目はサインイン先となるSession host が存在しないため失敗する、です。

失敗する場合はエンドユーザ視点でどのように失敗するのかも注目ポイントです。 理想はID / Password を入力する前にサービス停止状態であることをエンドユーザに案内出来ることです。

リモートデスクトップクライアントを起動します。 Spring 2020 のWorkspace は”bigriver-ws”です。 画面上は特に変化はありません。 ”SessionDesktop”のアイコンをダブルクリックします。

”接続しています”と表示されます。

3秒後位に以下のポップアップで接続できないことをエンドユーザ側に通知されることがわかりました。  

”詳細の表示”を展開します。 エラーコード等の詳細情報を確認できます。

“コピーするにはCtrl+Cを押してください”とあるとおりクリップボードに内容を取得できます。 クリップボードの中身は以下の通り。 エラーコード “0x3000046” であることがわかります。

[Window Title]
リモート デスクトップ
[Content]
現在利用可能なリソースがないため、接続できませんでした。しばらくしてからもう一度試すか、問題が解決しない場合はテクニカル サポートにお問い合わせください。
[^] 詳細の非表示(D) [OK]
[Expanded Information]
エラーコード: 0x3000046
拡張エラーコード: 0x0
タイムスタンプ (UTC): 2020-06-06T09:46:19.380Z
アクティビティ ID: 7e5fb54b-394a-4204-8f15-0fa025fa0000
コピーするには Ctrl+C を押してください。

まとめです。 WVD ではサインイン時の Session host の自動起動は現時点では行われないことを確認しました。 また、サイン先のSession host が全て停止している場合は利用者に比較的わかりやすい日本語で案内されることもわかりました。  ここまでわかっていれば利用者向けのマニュアル等の準備など進められます。

WVD は最初のリリースのFall 2019 から実運用に役立つ機能が不足していることはご存じのとおりかと思います。 Azure Portal での管理など Spring 2020 から追加、改善された機能もありますが、電源管理系の機能はまだまだ不十分です。 Citrix やHorizon では今回テストしているサインイン時の自動起動は可能です。ほかにもサインアウト時にシャットダウンすることや、利用可能なSession host 数を指定しサインインしているユーザ数に応じて自動で仮想マシンの起動数をコントロールできます。あとはスケジュールされた起動・停止など。 

Windows Virtual Desktop もCitrix やHorizon に負けないよう電源管理の改善も必要だと訴えたいところですが実はそんなことは無いのかもしれません。 Azure の仮想マシンを電源管理する目的は従量課金コストの削減です。 従量課金では次のタイミングで起動できるかどうかAzure リソースの空き状況次第です。 エンドユーザへの仮想マシン提供を保証するには常時起動が必要です。結果、従量課金よりもコスト的に有利なReserved Instance を選び常時起動することになると。  Windows 10 では アイドル状態(誰もサインインしていないなど、CPU負荷の低い状態)で実行されるタスク、それも重たい & 長時間、が多くあります。 マルウェアの定期スキャンも必要でしょう。 そう考えると電源管理の機能拡充の潜在的ニーズはそれほど高くなく結果後回し?されているのかと勝手に想像したりもします。   もちろん Reserved Instance で最低保証するべ接続数分の仮想マシンを準備し、ストレッチする仮想マシンは電源管理と従量課金で柔軟かつ低コストに提供する運用を実現しようと考えるとWVD でも電源管理機能の拡充は望ましくはあります。

今回はここまで。