サーバーの仮想化やデスクトップの仮想化にとどまらず、IT基盤の様々なポイントで利用されている仮想化技術ですが、「ネットワーク仮想化」もかなり一般化してきていると思う。
文字通り、ネットワークの各要素を「仮想化」
そもそも「仮想化」とは何かというと、ソフトウェアを使って「無いものを有るように」見せかけたり、「1つのものを複数に、または複数のものを一つに」見せかけたり、さらには「複数のものをまとめたあとで好きな数/量に切り分け」たりすることです。
ネットワーク仮想化でこの「仮想化」の対象となるものが何かというと、ルーターやスイッチ、ケーブルなどネットワーク経路を構成/制御する部分です。ファイアウォールやロードバランサーなど特定の機能も対象となります。
例えば、少数のスイッチとケーブルでサーバーを繋いだ単純なネットワーク環境のうえで、仮想的なケーブルやスイッチ、ルーターなどを配置して、きめ細かなネットワークを実現できます。
1本のケーブルの中を多数の異なるネットワークで区切られたように見せかけたり。
単なるサーバー(コンピューター)のうえで、あたかも物理的に専用機器が存在しているかのように、ソフトウェアによってファイアウォールやロードバランサーを作り出すこともできます。
「サーバー仮想化」に押されて「ネットワーク仮想化」が普及
サーバーの仮想化が普及するにつれ、大量の仮想マシンがかつてないスピードで作成・削除されるようになりました。その都度、煩雑な設定変更や、場合によってはケーブル配線の変更までもが生じるネットワーク側。
段々とそのスピードについていけなくなり、運用の足を引っ張ってしまいがちになりました。ひいては、ビジネスのスピード向上のボトルネックと認識されてしまうケースも生じてきたのです。
また、仮想マシンの数が増大するに従ってシステムに必要なネットワークの規模も大きくなり、
従来の技術ではシステム構成の要求を満たせない部分(VLAN数の上限)も出てきてしまいました。
さらに、ファイアウォールやロードバランサーなどの機器も課題を抱えるようになりました。
どんなに性能の良いものを用意したとしても、日々大量に生成される仮想マシンに合わせ、少ない台数に大量の設定を詰め込んで、そこへ頻繁に変更をかける運用は非常に煩雑です。
かといって仮想マシンの生成スピードにあわせて機器を追加で調達するのも非現実的な話。
サーバー仮想化の普及によって、より迅速に構成できて、なおかつ拡張性の高いネットワークの仕組みが求められるようになったのです。
このような課題の解決のため、ネットワークの仮想化が実用段階に入っていきました。
実用化されたプロダクトで使われている技術に関してのご紹介もしておきたいと思います。
以下、ネットワーク仮想化を実現する様々なアプローチのうち、特に重要な「SDN」と「NFV」について。
SDN という考え方 物理構成は一度作ったら変更不要
SDN (Software Defined Network) 「ソフトウェアで定義されたネットワーク」という意味そのままに、ソフトウェアによってどんなネットワークにするかを定める手法です。
従来のように、機器やケーブルなど「物理的なものをどう繋ぐか」でネットワークを構成することはしません。
物理的な構成を一度作ったら、もうそこは原則として全く変えません。機器の中のソフトウェアによって、通信がどこをどう通るかを制御しようという考え方です。
このSDNこそが、ネットワーク仮想化と呼ばれる技術領域の中核を成す考え方のひとつです。
時代が進んでサーバーの仮想化が普及し、それに合わせてネットワークはどうあるべきかが模索された結果、実用レベルのハードウェアやソフトウェアが生まれ、現在様々なシステムで利用されるに至っています。
代表的なものとして、OpenFlowという標準規格に対応したプロダクト(主にハードウェア)や、
VMwareが買収したNiciraのNVP(現在のvmware NSX)などに代表されるプロダクトが挙げられます。これらのプロダクトではそれぞれ、ネットワークを構成/制御(あるいは仮想化)する手法が異なります。
NFV : ネットワーク上の機器の様々な「機能」を仮想化
NFV (Network Function Virtualization) ネットワークにおける特定の「機能」を仮想化するアプローチです。
例えば「不要な通信の特定と遮断」というファイアウォールの機能や、サーバーやネットワークへの負荷の分散」というロードバランサの機能などを、仮想マシンにソフトウェアとして入れたうえで、システム上の然るべきポイントへ、然るべき数、柔軟に配置するという手法です。
従来であればわざわざ専用の機器を物理的に調達していたところを、多少のパラメーターの指定だけして仮想マシンを作成するだけで済むので、作業工数が劇的に減ることは確実で、それだけでもメリットは明らかです。
他にも構成の柔軟性が増したり、性能(仮想マシンの各HWスペック)の調節が簡単にできるなど、様々なメリットがあります。
NFVが出てきた当初は、仮想マシンとして動くことによるオーバーヘッド(物理機器として用意した場合より性能が落ちること)が課題となっていましたが、現在では基盤となるハードウェア(サーバーのCPU等)の進化もあって、実用に問題ないと判断されています。
今や日本国内を含む世界各国で、携帯電話のキャリア各社など、多くの通信事業者やプロバイダーがNFVを活用しています。
広域における通信経路のコントロールや、顧客の回線開通/閉鎖や通信速度の増減など、通常のITシステムには無い特殊機能を対象とした話が、Web検索で出てくるNFV関連のニュース等のうちかなりの割合を占めている模様です。
ですがNFVは、決して通信回線プロバイダーのシステムの機器/機能だけが対象ではありません。