セキュリティの強化やテレワークのための基盤として導入されることが増えてきたVDI(仮想デスクトップ基盤)ですが、メリットが多い反面、導入する際に注意すべきポイントがあるのも事実です。特に慎重な検討が求められるのがハードウェアのサイジングです。VDIはもともと各ユーザーがPCで利用している環境をすべてサーバー側に吸い上げるようなものです。そのため、単純に考えれば100人いればPC 100台分、1,000人いればPC 1,000台分のリソースを集めてくるイメージになります。そのため、VDI環境を構築するには設計の中でもサーバーやストレージなどのリソースのサイジングが非常に重要になってきます。

今回はVDIの基礎を整理し、サイジングのポイントについてご紹介します。

VDIは何のために導入される?

従来はシンクライアント端末の利用と組み合わせ、金融機関や官公庁、自治体などを中心に情報漏洩対策のソリューションとして導入が進んでいました。昨今はこのようなセキュリティ対策に加え、働き方改革の一環としてのテレワークの推進や、2020年に迫ったWindows 7のサポート終了を控え、Windows 10への移行の基盤にするなど、その特性を生かして業種や規模を問わず様々な企業や組織で導入が進んでいます。

このように、ユーザーのデスクトップ環境をサーバー側で一元管理し、ユーザーは転送された画面を多様なデバイスで利用するという形態は様々なメリットを生み出し、多くの目的で使用されることになりました。
この結果、以前は特定の部門や職種などでの限定的な導入が多かった状況から、現在ではより多くのユーザーが日々利用する、まさに仕事環境そのものになってきたのです。VDIはその重要性をますます増しており、安定的なサービス提供が求められるようになりました。

VDIの仕組みとは

VDIの仕組みは概念としてはシンプルです。PCにインストールされているOSやアプリケーションをサーバー上の仮想マシンで動作させ、ネットワーク経由でそのデスクトップに接続して遠隔操作をするイメージです。

しかしながら、サーバー側はこれまで各PCに分散していたリソースをサーバー側に集めなければいけないため、小規模の構成ではそれほど難しくはなくても、規模が大きくなるにしたがってその難易度は飛躍的に大きくなります。

ちなみに、VDIで実現する仮想デスクトップの仕組みには、VDIのほかにRDS(リモート デスクトップ サービス)という方式もありますので、その違いを簡単に説明しましょう。

VDI

ユーザーごとに仮想マシンを割り当てる方式です。一般的にはサーバーに仮想化ソフトウェア(ハイパーバイザー)をインストールし、その上にユーザーごとの仮想マシンを構築します。デスクトップをプールして使いまわすこともできますが、基本的にはユーザーの数だけ仮想マシンが必要になるため、サーバーのリソースを多く必要とします。一方で、ユーザーは1つの仮想マシンを占有して使用できるため、ユーザーごとにカスタマイズが必要であったり、多くのリソースを必要とするような業務に向いています。

RDS

1つのサーバーOSのデスクトップを複数のユーザーで共有する方式です。セッションはユーザーごとに分かれるため、ユーザープロファイルを分けることはできますが、OSの基本設定やインストールされているアプリケーションはユーザー間で共通のものになります。1つのOSインスタンス(仮想マシン)を複数ユーザーで共有するため、VDI方式に比べるとリソースは少なくてすみます。定型的な業務でユーザーごとにカスタマイズが不要な業務に適しています。

VDIとRDSはどちらか一方だけを選択するというわけではなく、要件に応じて組み合わせて活用こともめずらしくありません。

今回は、よりサーバーリソースを必要とするVDI方式をベースにサイジングのポイントを考えてみましょう。

VDIサイジングのポイント

VDIサイジングで重要なのは、サーバーリソースです。実際にユーザーが利用する環境が動作するのでそのパフォーマンスは重要ですが、一方で多くのリソースを必要とするため、過剰なスペックはコストにはね返ってきてしまいます。そこで適切なサイジングが重要になるのですが、そのなかでも重要な「CPU」「メモリ」「ストレージ」の3つをご紹介します。

CPUはコア数とクロック数の両方から

CPUのサイジングにおいてコア数とクロック数のどちらの側面から考えるのが良いでしょうか。1台の物理サーバーに数十台の仮想マシンが動作することも珍しくありません。サーバーに搭載されている物理CPUをハイパーバイザーが仮想CPUとして割り当てます。
他のリソースもそうですが、1つの物理リソースに対して、1仮想マシン(VM)当たりどれくらいのリソースを割り当てるかで割り算するというのが基本的な計算です。
たとえばコア数の計算は1コア当たり6-8VMという割り当てが一般的です。
クロック数も、1ユーザー当たり500MHzを一般的な水準として、ライトなユーザーはそれよりも低く、ヘビーユーザーはそれよりも多くのリソースで見積もります。

メモリはOSとユーザーのワークロードで

次にサイジングの対象となるのがメモリです。これもPCを買うときに気にされるポイントだと思いますが、VDIのサイジングでも同様に重要であり、そのパフォーマンスに大きく影響を与えます。Windows 7時代のPCでは2GB以上のメモリが一般的であったのに対し、Windows 10のPCでは4GB以上というのが多くなってきているのではないでしょうか。OSも機能が上がるにつれて基本で使用するメモリ容量が大きくなる傾向にあります。加えて重要なのがアプリケーションです。これはユーザーの仕事内容によって大きな差があります。Webの業務アプリケーションしか使わないユーザーと、大きなExcelのシートをいくつも展開して処理する業務とでは必要となるメモリは大きく異なります。
そのために、メモリのサイジングには、ユーザーの利用状況のアセスメントが欠かせない要素となります。
ユーザー(仮想マシン)あたりの割り当ての容量が決まったら、物理サーバーで搭載される仮想マシンの数をかけるとともに、物理サーバーのOSが使用するベースのメモリ容量を足すことで必要なスペックを計算します。

ストレージはIO性能で

ストレージというと容量のほうを思い浮かべるかもしれないですが、VDI環境ではIOの処理性能が非常に重要です。容量は十分でもIOの性能が十分ではないとシステム全体のパフォーマンスの低下を引き起こします。その性能を図るために、IOPSという指標を使います。IOPSとは、ディスクが1秒あたりに処理できるI/Oの数です。

これも指針があり、一般的なVDI環境では仮想マシン当たり20-30IOPSというのが標準的な値です。当然ユーザーが利用するアプリケーションの特性などによって変動しますので、まずはこの数字を使いながらサイジングをします。実際にパイロット環境で試しながら、実際のユーザーのワークロードで検証して最終的なサイジングに反映させましょう。

また容量は、1仮想マシン当たりに必要なサイズにキャッシュなどで必要な容量を足し、仮想マシンの台数をかけるのが基本的な計算です。PCではデータをローカルに保存することも多いため、128GBや256GBといったハードディスクのサイズが主流ですが、VDI環境ではネットワーク上のストレージにデータを保存することが一般的であるため、OSとアプリケーションのインストールに必要な容量をベースに算出すれば十分でしょう。

以上、CPU、メモリ、ストレージについてサイジングの考え方をまとめましたが、標準的な目安はあっても、実際のユーザーのワークロードに大きく左右されるポイントでもあります。机上の計算だけではなく、ユーザー環境のアセスメントとテストを行いながら決めることが大切です。

後戻りはできない、だから慎重なサイジングを

VDIはユーザーが直接利用するシステムであるため、不適切なサイジングによるパフォーマンスの劣化などは業務に大きな影響を与えてしまいます。これを防ぐためには、サイジングをする際にユーザーの利用環境を調査することが非常に重要です。
どのようなアプリケーションをインストールして、どのくらいディスクを消費しているのか。アプリケーションの起動頻度や消費メモリはどのくらいか、といったサイジングに不可欠な情報は、実際のユーザーの環境を調べないとわかりません。そのためにはユーザー環境をモニタリングし、管理するツールが不可欠です。
SysTrackは、サイジングに必要なデータを簡易な展開方法で提供します。各端末への負荷を最小限にしながら多くの情報を一元的にレポートします。ここで取得したデータは非常に重要かつ有効なもので、VDI環境の設計やサイジングを適切なものにするために大いに役に立つでしょう。設計時だけでなく、導入後のVDI環境のパーフォーマンスを把握することもでき運用時にも非常に役に立つ管理ツールです。ぜひご検討ください。

仮想デスクトップの導入から運用までトータルに支援「SysTrack」
デスクトップの仮想化計画