最近は、ネットワーク仮想化がとても早いスピードで普及し始めており、採用事例もかなり多くなっています。なぜ普及が進んでいるか、その理由をいくつかお話しする前に、ネットワーク仮想化とは一体何なのかをお話ししたいと思います。
ネットワーク仮想化とは?
サーバー仮想化は、1台の物理サーバー上で複数のサーバーを動かすという仮想技術のことを指し、このテクノロジーのおかげで多くの台数の物理サーバーを統合することができていました。つまり、今までの物理サーバーの中身を仮想マシン化して、1台の物理サーバー上で動作させていたわけです。
ネットワーク仮想化も基本的には同じです。簡単に言えば、ネットワーク機器の中身を仮想マシン化して、物理サーバー上でネットワーク機器として稼働させてしまいましょうというテクノロジーです。
サーバーが仮想化された環境のネットワークはどうなっているか?
例を挙げて、ネットワーク仮想化を理解しましょう。下記の図を御覧ください。通常、サーバーを仮想化するとこの図のようになっているはずです。1つの物理サーバー上に複数の仮想マシンが稼働していて、それぞれ別々のVLAN(セグメント)に接続されているケースが多いと思います。

ルーティング
この環境においては、一番左の物理サーバー上には、2つの仮想マシンが稼働していて、それぞれVLAN102とVLAN103に接続しています。ではこの2つの仮想マシンが通信しようとした場合には、どのような経路になるでしょうか。
同一の物理サーバー上にあるにも関わらず、VLAN102の仮想マシンから、物理機器として用意されているルーターまで通信が行き、VLAN103にルーティングされる(図の赤茶色の矢印)ことになると思います。(今までは)とても当たり前のことです。
ファイアウォール
同様に、一番右のVLAN101に接続している仮想マシンから、VLAN102に接続している仮想マシンにアクセスする場合には、通信できるポートに制限をかけたいのでファイアウォールを掛けているとします。その場合、VLAN101の仮想マシンから物理機器として用意されているファイアウォールまで通信が行き、VLAN102の仮想マシンへアクセスする(図の黄色の矢印)ことになります。こちらも(今までは)とても当たり前のことです。
ロードバランサー
最後にロードバランサーです。こちらは、負荷分散のために多くのサーバー環境に用意されている「専用ネットワーク機器(ハードウェア)」かと思います。負荷分散のために導入されているということは、多くのトラフィックを捌くために、高性能なものでかつ冗長化のために2台用意されていることが多い種類の機器かと思います。
ネットワーク仮想化をすると、これらの機器が一体どうなるのか?
サーバー仮想化が実現された環境では、ネットワーク機器は多くの場合、上記のようになっているはずです。そして私は先に、ネットワーク仮想化は、「ネットワーク機器の中身を仮想マシン化して、物理サーバー上でネットワーク機器として稼働させてしまいましょうというテクノロジーです。」とお話ししました。ネットワーク仮想化をすると、次のような環境になります(わかりやすくするため、現実の環境とは異なる箇所があります)

仮想(分散)ルーティング
ここでは、敢えて仮想ルーティングと記述します。VMware用語では、分散ルーティングと呼んでいます。先ほどの通り、一番左の物理サーバー上には、2つの仮想マシンが稼働していて、それぞれ別々のセグメントに接続しています。
ネットワーク仮想化された環境では、この2つの仮想マシンが通信しようとした場合には、ハイパーバイザー(ESXi)上の仮想ルーティング機能によって、同一ホスト内にてルーティング処理が行われ、物理サーバーから外に出ることなく通信が完了します。
仮想(分散)ファイアウォール
続いて仮想ファイアウォールです。一番右のVLAN101に接続している仮想マシンから、VLAN102に接続している仮想マシンにアクセスする場合には、通信できるポートに制限をかけたいので、ファイアウォールを掛ける構成とすると、VLAN101の仮想マシンから通信が発生した瞬間に、ハイパーバイザー(ESXi)上の仮想ファイアウォール機能によって、通信の可否が決定されます。そのため、物理ファイアウォール機器がなくても、物理スイッチさえあれば、ファイアウォール機能が提供されます。
仮想ロードバランサー
ロードバランサーですが、ルーティングとファイアウォールとは少し異なります。これらはハイパーバイザー(ESXi)上の機能として提供されません。今までの物理ロードバランサー機器が、サーバーと同様に仮想マシンとして稼働することになります。このロードバランサーの機能を持った仮想マシンによって、物理ロードバランサー機器がなくても、物理サーバー上で負荷分散機能を提供します。
ネットワーク仮想化の種類
既にお気づきかと思いますが、VMwareが提供するネットワーク仮想化の種類は2つあります。
- ハイパーバイザー(ESXi)上で実現される分散型
- 仮想マシンとして提供される仮想アプライアンス型
それぞれ提供する機能と適用単位が異なります。違いをまとめたスライドが下記になります。

仮想マシンとして提供される仮想アプライアンス型
仮想アプライアンス型のネットワーク仮想化は、非常に明快です。今までの物理ネットワーク機器の中身が、そのまま物理サーバー上で動作するイメージです。先ほどはロードバランサーの例を挙げましたが、ネットワーク機能を提供する1つの仮想マシンで、下記の機能が提供できます。
- ファイアウォール
- ルーター
- ロードバランサー
- NAT
- VPN(IPsec-VPN, SSL-VPN、L2-VPN)
- DHCP
これらのネットワーク機能のうち、どれを利用するか、どれくらい性能を必要とするかによって、ネットワーク機能を提供する仮想マシンのスペックを変更することができます。性能がどれくらい出るかは気になるところかと思いますが、充分に性能が出ますので、詳しくはまた別の機会にしたいと思います。
仮想アプライアンス型なので、通常のネットワーク機器と同様に、セグメントとセグメントの境界に配置して、ネットワーク機能を提供することになります。必要な場所に、必要な機能を持った仮想マシンを、必要な数をデプロイすることができます。
ハイパーバイザー(ESXi)上で実現される分散型
分散型は、今までのネットワーク機能の提供とは全く異なる種類のネットワーク仮想化です。仮想アプライアンス型は、事前に仮想マシンをデプロイして提供するものになりますが、分散型はハイパーバイザー上で動作するため、特に仮想マシンは必要ありません。その代わり、提供できる機能が少し異なります。
- ルーティング
- ファイアウォール
- ロードバランサー(Tech Preview)
仮想アプライアンス型とは異なり、境界に置くタイプではありません。仮想マシンから通信をしようとした際に、ハイパーバイザー上で処理されますので、対象セグメントに対してネットワーク機能を提供するというよりは、さらに細かい仮想マシン単位に適用可否を決めることもできるようになります。
こちらも性能が気になるところかと思いますが、充分に性能が出ることは別の記事にて述べたいと思います。
ネットワーク仮想化の価値
いかがでしたでしょうか。ネットワーク仮想化について、まずは理解いただけたでしょうか。これらのネットワーク仮想化がどんなことに利用できるかについて、既に思い浮かんでいる方もいらっしゃるかもしれません。次回以降で、このネットワーク仮想化が何に役立つのかをお伝えしたいと思います。
ネットワーク仮想化のメリットは、下記のようなものになりますので、先にお伝えしておきます。
- コスト削減
- セキュリティ向上(マイクロセグメンテーション)
- マルチテナントの容易な実現
- 設計・運用管理のシンプル化
- 物理ネットワークとのトラブルシューティング
これを機に、ぜひネットワーク仮想化を検討してみてください。