(2021年4月21日公開・2022年9月15日更新)
経費を削減することは常に企業の課題であり、それはテレワークが中心となった現在でも変わりません。クラウド化、仮想化が進むIT環境は集約しやすく、コストメリットが大きいことも特長ですので、各社がさまざまな工夫をしている部分であると思います。
1つの仮想マシンを複数のユーザーで共有するマルチセッションも、コスト削減に有効な手段であり、取り組んでいる企業も多いのではないでしょうか。仮想マシンはスペックを自由に設定できることが特長ですが、快適に使用しつつコストを最適化するには、どう設定すればいいのでしょう。それを検証しました。
日鉄ソリューションズには、さまざまな製品や技術の検証を行う専門の部隊があります。検証結果を基に、お客様に新たなご提案をしたり、お客様の声を伝えてベンダーに機能改善を働きかけたり、自社のサービスメニューに反映するといった取り組みをしています。また、技術トレンドを踏まえて今後2~5年先に求められる技術について検証もしています。
今回、検証したのはWindows 10のマルチセッション機能です。これは、Microsoft Azure(Azure)上で稼働する仮想デスクトップサービス「Azure Virtual Desktop(AVD)」で提供される、Windows 10 OSの1つの仮想マシンを複数のユーザーで利用するというものです。マルチセッションには、サーバーOSを複数のユーザーで利用する方法(SBC:Server Base Computing式)もありますが、この方法に対応していないWindowsアプリケーションもあるので、不便な面もあります。
SBC方式、VDI方式、マルチセッション方式の利用イメージ
Azureは仮想マシンの台数とストレージによって課金するライセンス体系ですので、マルチセッションを活用により仮想マシンの台数を減らすことでコスト削減が見込めます。Windows 10のマルチセッション環境に対応していない一部のスクラッチ開発のアプリケーションなどもありますが、SBC方式で利用できなかったWindows 10で標準整備されているアプリケーションを利用できますので、通常の業務で使用するのに困ることはあまりありません。
一方、マルチセッションでは複数のユーザーでリソースを共有するため、パフォーマンスの面でユーザー相互に影響を受けることが懸念されます。そこで検証チームでは、マルチセッション環境でのリソースの使用状況や実際の使用感などを検証しました。
マルチセッション環境上で実際の業務を想定したさまざまな操作を人力で行い、その際のパフォーマンス(性能)情報を取得し、分析しました。"さまざまな操作"は、具体的にはMicrosoft ExcelやMicrosoft PowerPointでの資料作成や、Microsoft Outlookでの予定の登録、PDFファイルの閲覧、Microsoft TeamsでのWeb会議の実施といった内容です。
業務を想定した作業実施シナリオ
取得した性能情報から、マルチセッション環境ではどのようにリソースが利用されるのか、複数ユーザーで1つの仮想マシンを使ったときのCPUやメモリーの利用状況の推移を調査する「リソース使用状況」、そしてログインするユーザーを増やしていくと負荷や操作感はどうなのか、その変化を調査する「ユーザーの集約率」の2つの観点で分析しました。
検証環境は、Microsoft Azure上に構築したAVDで実施しました。なお、企業における実際の利用を想定し、ログ収集ソフトを動かしているほか、Windows Defenderによるウイルス対策も実行しています。PCは何も操作していない時間がないようにしながら、各自ランダムで手動操作するようにしました。
最初に、リソースの使用状況について検証しました。8vCPU(仮想CPU)(20.8GHz)、32GB RAMの仮想マシンに8ユーザーが同時にログインして先に示した操作を行いました。なお、ユーザーの集約は行わず、仮想マシン全体のリソース推移を確認しています。
各自がランダムに操作しているのでCPU使用率の変動は大きく、瞬間的に100%になることもありましたが、一定の時間そこに張り付くようなことは置きませんでした。8ユーザーの平均では、1ユーザー当たりのCPU使用率が7.6%、クロック数は1.5GHzとなっています。
CPU使用率の推移グラフ
メモリーの使用量の推移を見ると、システムプロセスが使用するメモリー量は、ログインユーザー数に関わらず2GB程度で安定しています。全体で最もメモリーの使用量が大きくなった時で22GBでした。仮想マシンを1人1台で使用した場合は、1台当たりシステム2GBとユーザー1.9GBのメモリーが必要になるので、8ユーザーの場合は32GBのメモリーが必要になる計算です。従いましてマルチセッションではメモリーを効率的に利用できると言えます。
メモリー使用量の推移グラフ
続いて、ユーザーの集約率を分析しました。こちらは4vCPU(10.4GHz)、16GB RAMの仮想マシンを用意し、そこに5ユーザーがログインして、一定時間の経過後に追加で2ユーザーがログインして、各自がランダムに操作を実行しました。この際の1人当たりのリソース使用状況を確認しています。
その結果、5ユーザーで利用していた時点からCPU使用率が100%に張り付く状況が見られ、7ユーザーになってからはその頻度が増えています。CPU使用量を見ると、CPU合計では5ユーザーでは1人当たり1.65GHz、7ユーザーになると1.31GHz、ユーザーCPUでは同1.05GHzから0.74GHZへと、大きく減っていました。
ユーザー集約率の検証結果(CPU使用率グラフ)
メモリーの使用量では、5ユーザーでは1人当たり1.94GB、7ユーザーでは1.90GBへと低下していました。CPUほど大きな低下ではありませんが、アプリケーションがフリーズしたり、動作が重くなったりしました。
ユーザー集約率の検証結果(使用メモリー量グラフ)
今回の検証結果から、仮想マシンとユーザーを1対1で割り当てた場合に比べて、システムのOS領域を共有化するマルチセッションは、メモリーを効率的に利用できることが確認できました。
4vCPUの仮想マシンを、7ユーザーで休まず利用した場合には、CPU使用率が100%に張り付く、アプリの動作が重く感じるなどの現象が見られました。このことから、ユーザー全員が連続して作業することのない一般的な利用シーンを想定した場合、マルチセッションにおける集約度は、1vCPUあたり2ユーザー程度が適切であると考えられます。
ちなみに、マイクロソフトによる指標では、1vCPUあたり2ユーザーの設定は「ヘビー」のワークロードに該当します。 (参考:仮想マシンサイズ設定のガイドライン)
今回の検証によって、マルチセッションの活用は仮想マシンの効率的な利用に効果があり、その効果はコスト削減として享受できることが分かりました。ただし、ユーザーそれぞれが快適にマルチセッションを利用するためには、1vCPUあたり2ユーザーを目安にするのが良さそうです。今回の検証はユーザー全員が連続作業するというハードな使用状況を想定しているので、実際にはさらに余裕があるかもしれません。
*出典 株式会社アイ・ティ・アール 「ITR Market View:クラウド・コンピューティング市場2021」より DaaS市場:ベンダー別売上金額シェア(2013年度~2019年度実績値および2020年度予測値) M³DaaS@absonneが対象
日鉄ソリューションズ株式会社 ITインフラソリューション事業本部 デジタルプラットフォーム事業部 デジタルワークプレース部 曽家 将嗣