クライアント用のパソコンに仮想化環境がなぜ必要なのか,と常々疑問に思ってきた。使い道としてよく聞くのは,WindowsとMacOSを同時に稼働させるというものだ。しかし,2つのOSを1台のマシンで利用する用途に,それほどニーズがあるとは思えない。あるとすれば,仮想化を使って仕事用OSとホビー用OSを使い分けることで,ウイルス感染による情報漏えいを防ぐという使い方だろうか。しかし,ユーザーがわざわざOSを切り替えながら使う状況は一般的にはならない気がしていた。

 ところが最近,仮想環境はネットワークやコンピュータを管理する目的では効果的だと気が付いた。エンドユーザーが意識して使う方法は本筋ではないのだ。そう考え始めたきっかけは,10月から本格展開すると見られる米インテルの新ブランド「vPro」を調べたことにある。vProはインテルが定めた部品・ファームウエアを搭載した企業向けパソコンに付けられるブランド。ユーザー用OSと同時に,別のOSを動かせる仮想環境のほか,リモートからの電源投入やハードウエア・レベルの障害検知,NIC(ネットワーク・インタフェース・カード)でのパケット・フィルタリングなどの機能が搭載される。

 vProでは仮想環境で動く2つのOSを,ユーザーが切り替えて使うことを全く想定していない。ユーザーにはユーザー用OSしか見えず,もう一方のOS(以下,黒子OSと呼ぶ)は,ユーザー用OSの通信を監視することに注力する。具体的には,ユーザー用OSの通信をすべてトラップして検査する。このため,黒子OSは,グラフィカル・ユーザー・インタフェース(GUI)を持たない。

 黒子OSは,“鍵”を持つ管理者だけがネットワーク経由で操作できる。ユーザー用OSと黒子OSとの唯一の接点は,両方のOSが共有するメモリー領域のみだ。ここを通して,コマンドの送信やデータの受け渡しが行われる。この黒子OSとその上で動くアプリケーションを総称して,インテルは「仮想アプライアンス」と呼んでいる。つまり,パソコンのすぐ外のネットワークにアプライアンス(専用装置)がつながっているイメージだというわけだ。言い得て妙なネーミングだと思う。


セキュリティ向上に力を発揮

 インテルは仮想アプライアンスの使い方として,検疫ネットワークやセキュリティ・ソフトの導入,リモートからのデータ消去などを挙げる。まず,検疫ネットワークでは,パソコンのパッチやウイルス定義ファイルの状態をチェック。最新でない場合,仮想アプライアンスで動く管理ツールを通して,パッチや定義ファイルをインストールする。このとき,仮想アプライアンスとNICのパケット・フィルタリング機能を連携。パッチが最新になるまでの間,管理者からのパケット以外は通さないようにできる。同様にウイルスの完全スキャンが終わるまでは,ネットワークにつながせないことも可能になる。

 セキュリティ・ソフトの導入では,ウイルス対策ソフトやパーソナル・ファイアウォール,URLフィルタリングなどを仮想アプライアンスで動かす。これらは元来,ユーザー用OSで動いているものだが,ウイルスによってプログラムを止められたり,エンドユーザーによって設定を変更される可能性がある。仮想アプライアンスで動かせば,こうした問題は起きない。

 リモートからのデータ消去は,ノート・パソコンを紛失したり盗まれたときに,機密データが流出するのを防ぐ。vProのリモートからの電源投入機能を利用して,手元から離れてしまったパソコンを起動。仮想アプライアンス上の管理ソフトを通じて,ハードディスク上のユーザー用OS領域を削除する。この機構を実現するためには,どこでもつながるネットワークが必要だが,インテルは携帯電話やWiMAXのモジュールに,リモートから電源投入できる仕組みを搭載していく見込みである。


アイデア次第で使い方が広がる

 こうしたインテルが提示するもの以外にも,仮想アプライアンスの使い方はいくつも考えられる。例えば,仮想アプライアンスへのIPsecの搭載。鍵情報とともに埋め込んでおけば,社外からインターネットにつないだとき,必ず会社のVPNサーバーにつながるという環境を実現できる。先にも述べたようにエンドユーザーは設定に触れないので,ユーザーがインターネットに直接接続してウイルスに感染するといった問題を回避できる。

 先読みやキャッシュ・サーバーのような使い方もある。ネットワークの負荷が低いときに,仮想アプライアンスはユーザーがよく利用するファイルやコンテンツを先にダウンロードしたり,以前利用したファイルを保存しておく。更新がなければ,あらかじめ保存してあるファイルをユーザーへ返すことで,ネットワーク・アクセスを高速化するといった使い方だ。

 複数の通信手段をシームレスにつなぎかえるモバイル・ルーターのようなものを仮想アプライアンスで実装しても,便利かもしれない。無線LANのつながる場所では無線LAN,無線LANがつながらない場所ではWiMAX,両方つながらない場所では携帯電話という具合に,場所に応じてつながる回線を自動的に変えるのだ。そうすればユーザーは回線の状況を気にすることなく,最適なネットワークにつながることが可能になる。

 仮想化の本質を「ユーザーの見えないところで,サービス提供する機能」と見れば,使い方のアイデアは広がっていく。どういう使われ方をされるのか。将来が楽しみになってきた。