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