プライベートクラウドのコンピューティング環境では、CPUやメモリー、ディスク装置といったリソースを統合/分割し、無駄なく柔軟に利用できる仮想サーバー環境を構築します。しかし、ITインフラとして見た場合、システム層(サーバー+ストレージ)だけの最適化では不十分です。システムの基盤となるネットワーク層までを含んで考えることが重要で、そこで求められるのは、ネットワークの仮想化です。

ネットワークが足を引っ張る

 企業システムの中で、ネットワークを利用しないものはほとんどありません。むしろ、その依存度は高まる一方です。従来はシステム層が担っていた機能が、ネットワーク層に移ってきたという面があります。例えば、セキュリティを確保するためのファイアウォールやSSLアクセラレーター、性能や可用性を向上させる負荷分散装置などが、その例です。システム層で行ってきた機能をネットワーク層でハードウエア処理することによって、負荷を下げ、運用の手間を軽減しています(図1)。

図1●ネットワーク層に依存する企業システム
図1●ネットワーク層に依存する企業システム
[画像のクリックで拡大表示]

 一方で、課題も浮上してきました。アプリケーションごとにネットワーク機器を用意しなくてはならないケースが多く、複雑化し柔軟性がなくなってきたのです。新しいアプリケーションを導入するには、場合によってはネットワークの接続設定を変更しなければなりません。つまり、ファイアウォールや負荷分散装置の調達、物理的な配線といった作業が発生するということです。

 せっかくシステム層の仮想化でサーバーやストレージのリソース割り当てを自動化し迅速化したとしても、ネットワーク層が足を引っ張り、“仮想化の果実“が得られなくなってしまうというわけです。ネットワークの仮想化は、こうした問題を解消するために有効です。

必要な機能をソフトウエア的に“生成”

 ネットワークの仮想化は、こうした流れの延長線上にあります。ネットワーク層で必要となるアプライアンス機器(表1)が提供する機能を必要に応じて“生成”し、仮想的なインタフェースでつないでいくものです。

表1●ネットワークアプライアンスの例
表1●ネットワークアプライアンスの例

 例えば、L3スイッチの中に、アプリケーションごとに必要なファイアウォールをソフトウエア的に生成するといったことができます(図2)。ソフトウエア的に生成するため、物理的に用意したり、ケーブルを逐一接続したりする必要はありません。このメリットは大きいです。

図2●仮想化されたファイアウォール
図2●仮想化されたファイアウォール
[画像のクリックで拡大表示]

 ファイアウォールで考えてみます。ファイアウォールでは、不正アクセスを防ぐために、個々のアプリケーションごとに細かな設定を行います。もちろん1台のファイアウォールで複数のアプリケーションに対応できますが、設定や運用が非常に複雑になります。

 そこで、複雑なシステムではアプリケーションごとに個別のファイアウォールを用意するのが一般的になっています。これが新規アプリケーションを迅速に導入するときの足かせとなります。コマンド1つでファイアウォールを生成できれば、このハードルを下げることができ、ファイアウォールのリソースの利用効率も上がります。そうしたことを実現するのがネットワークの仮想化です。

 ファイアウォールだけではなく各種のネットワークアプライアンス機能を標準化されたパターンで仮想サーバー群に提供できれば、それはネットワークのプロビジョニングにつながり、プライベートクラウド全体の標準化にもつながっていきます。