会社に入って仮想デスクトップ端末(VDI)、なんて言葉をよく聞くようになりました。今SEの仕事でシステムを導入している先でも、このVDIを入れています。これが初めてだったんですが、実際使ってみるとすごく便利です。会社のPCはまだVDIじゃないんですが、セキュリティとかうだうだ言っているんだったら、早く変えてくれよ! って思います。本日はこのVDIがなんたるかについてご説明します。
そもそも仮想って?
システム的な用語で表現するなら、仮想の対義語は物理だと思います。物理的に存在するPCと違って、仮想PCは物理的に存在しません。データとして、HDDに存在しています。CPU やメモリも例外なく仮想化されます(とはいえ、実際に処理するのは物理のCPUやメモリです)。
仮想化という言葉は、要は何でもデータ化(0と1の世界に閉じ込める)してしまおうという考え方と言えます。
シンクライアントとは
VDIは、シンクライアント端末(以下、シンクラ)の一種です。シンクラの定義は、wikiの言葉を借りると以下のような意味になります。
ユーザーが使うクライアント端末に必要最小限の処理をさせ、ほとんどの処理をサーバ側に集中させたシステムアーキテクチャ全般のことを言う(広義のシンクライアント)。または、そのようなシステムアーキテクチャで使われるように機能を絞り込んだ専用のクライアント端末のことを言う場合もある(狭義のシンクライアント)。狭義のシンクライアントにおいて、クライアント側に Windows、UNIX、Android などの一般的なGUI OSを使わないケースをゼロクライアント (Zero client) と呼ぶこともある。
色々な形態はありますが、要は、ネットワークを利用してパソコンを起動するってことですね。
使ってみると超便利です。クライアント側のOSは画像転送を担っているだけです。OS起動すると、ログイン先のネットワークが出てきて、それにユーザIDとパスワードを入力したらサーバーに存在するクライアントOS にログインできます。
上図は一つのケースです。私たちのプロジェクトはこんな感じです。
クライアント側(実物のPC)は、画像をディスプレイに表示しているだけです。USB やディスプレイのドライバーや接続先を選択する画面など、最低限のハードとソフトのみで構成されています。サーバー側に送るのは、マウスやキーボードの入力結果。それをサーバで処理してその処理結果を画像として返しているんです。
サーバー側はPCを仮想化しておきます。PCは親(雛形端末)となる一つが存在し、それと同期をとる形で複数の子端末が存在します。親となっているPCの環境を子に複製しているんです。雛形端末を経由して子に辿り付いているような線を書いていますが、そういう意味ではありません。別に負荷分散(要はお手すきな端末に自動的に割り当てる仕組み)は存在します。
具体的にどう便利なの?
では、具体的にどう便利なんでしょうか? 私が感じるメリットを記載していきたいと思います。
リソースを共有できる
上記の形態というよりは、”仮想化”そのもののメリットですね。一つの仮想化グループに複数のPCをぶらさげておき、グループ単位でCPUやメモリを割り当てます。基本的に、全端末がフルで稼働していないことを前提としますが、ある端末がほとんどCPUを使っていなかったら別の端末でCPUを使わせることができる。どうせ一人で使っても持ち腐れるんだから皆で使いましょ♪って思想なんです。
情報を残さない
これはシンクラそのもののメリットです。クライアント端末に写っている画像は、サーバ内に存在するPC画面に当たります。実際の処理やデータの読み書きも、サーバ内で発生する。クライアント側では何もしない。つまり、情報を残さないんです。
これは強いセキュリティ対策になります。会社で使っているPCを無くしたら懲戒モノです。万が一中に入っている機密情報の漏えいが発生したときに、損害が大きすぎるからです。その点シンクラだと安心です。なんたって、箱には何にも入っていないのですから。シンクラへの接続には認証のIDを使いますし、ネットワーク回線にはVPN(Virtual Private Network:インターネットでローカルなネットワークを構築するイメージ)を張っているかもしれません。要はそれを突破されない限りは安心です。マジで会社もシンクラにならんかな…。
管理が容易
上図の形態では親の端末を用意しています。これの何が便利かというと、例えばソフトウェアのバージョンアップやら新規ソフトのインストールも、親端末一つにインストールすれば、全ての子端末に同期され反映され、無駄な手間が省けるからです。すごく楽なんです。会社でよくセキュリティソフトのアップデートとかありますよね?? あれってすごく面倒じゃないですか。シンクラ導入してそういったところも総務とかでやってくれよと、そう思うんです。
あと、複数環境を用意して使い分けれたりもします。サーバー側にWindowsとLinuxを別々に仮想化しておいておけば、クライアントからログインする際は接続先を選ぶだけでOSを切りかえれます。物理PCだとそうはいけません。そもそも同一のHDDで同居するってのも色々障壁がありますし、VMWareなどのソフトウェアで仮想PCを作っちゃうってのも、容量などハードの側面で厳しかったりします。その点シンクラ形式だと完全に別物で作れちゃうので、普通にPC2台持ちの間隔で遜色ありません。
また、複製が楽というのも魅力かと思います。人が増えたりして同一の端末がさらにほしいとかって時ありますよね? 物理でもイメージ焼いておけばそれほど手間ではないのかもしれませんが、やはり仮想にするともっと楽にできます。イメージを焼いた後にシステムが変わってしまうこととか多々ありますし、そこまで管理もしていられませんしね。端末の増設は親をコピーすればよいだけなので、非常に楽です。
つまり早く会社はシンクラにしろって事
いつも怯えながら飲み会に自端末を持って行っているので、早めに全社シンクラに切り替えてください。そしてそれを使う上で必須となるネットワークのトラフィックも解決を図ってください(^^) そして私たちを早く安全な飲みができるようなセキュリティと会社(労働体制てきな問題)にしてもらえたらと思いますw。
ではでは~~