■ はじめに
「ネットワーク仮想化」をセールスやマーケティングではなく、エンジニアとしてアーキテクチャを正しく理解することが、今回のブログシリーズ「ネットワーク仮想化をネットワークの基本から理解する」のテーマです。このシリーズは、VMware 社内でネットワークのバックグラウンドを持ったエンジニアが行った小さなワークショップがベースになっています。ワークショップ中ではホワイトボードを使用して通信の仕組みを理解し、実際のネットワーク仮想化環境でコマンドラインを使用し出力される情報と比較しながら、ネットワーク仮想化環境の特徴的な機能を1つ1つ確認していきました。
「第1回 理解するために必要なことを整理する」では、エンジニアがネットワーク仮想化を理解するために必要となる技術スタックを明確にし、第2回以降で各技術スタックの具体的な解説を行っていきます。
■ ネットワーク仮想化の出てきた背景
VMware の提唱する「ネットワーク仮想化」は、データセンタネットワークのオペレーションを劇的に改善する革新的なテクノロジーです。ネットワーク仮想化環境では、ネットワークサービスを物理インフラストラクチャから切り離すことで、サーバ仮想化環境の仮想マシンと同じように、各種ネットワークサービスを迅速に展開できるようになります。
上のグラフはデータセンタのサーバが、物理スイッチもしくは仮想スイッチどちらのポートに接続されているかを示したものです。2012 年の時点で、仮想スイッチのポート数が物理スイッチのポート数を超えていることから、各種ネットワークサービスやセキュリティポリシーを適用する最適なポイントが、物理スイッチから、ハイパーバイザの中で動作する仮想スイッチに移ってきていることが分かります。このような背景の中、VMware はネットワーク仮想化環境を提供するVMware NSX の提供を開始しました。
■ 理解するために必要なことを整理する
ネットワーク仮想化のセミナーに参加いただくのは、当初サーバ仮想化に関わるエンジニアが多かったのですが、最近の傾向としていわゆるネットワークエンジニアに参加いただくことが多くなってきているように思います。「ネットワーク仮想化」を理解するためには、サーバ仮想化と、従来のネットワークと両者にまたがった知識が必要となります。
両者の交差する領域には具体的にどういったものがあるでしょうか。仮想化環境で提供されている機能を考えたときに、ハイパーバイザの提供するvMotion、HA、FT などの機能は従来通りサーバ仮想化エンジニアが担当し、ロードバランサ、VPN といった各種ネットワークサービスに関してはネットワークエンジニアが担当することで、従来の役割分担と大きく変わるところはないと考えています。
中心にある3つのスタックは、両方のエンジニアの交差する領域となり、ハイパーバイザの中で各種ネットワークサービスが提供される部分になります。この中で論理スイッチ(L2) の部分はネットワーク仮想化環境を理解するための重要なベースになると考えています。加えて分散ルーティング(L3)及び、分散ファイアオール(L4)は、ネットワーク仮想化環境の特徴的な機能で、既存のデータセンタネットワークの課題を解決します。
ネットワーク仮想化のセミナーを行う中でいただく質問を通して、バックグラウンドによって分かりにくいポイントが異なっていることが分かります。サーバ仮想化エンジニアの方は、遠回りに見えるかもしれませんが、物理ネットワーク環境の端末間で通信が成立する基本的なメカニズムを理解したほうが、結果的にネットワーク仮想化環境の理解が早まります。例えば、下図のようなL2SWに端末を2台接続した環境において、端末間A – B 間で通信が成立するメカニズムをきちんと説明できる方は意外に少ないように思います(決して難しいことではなく、IT 関連の新入社員研修にこの説明は必ず含まれていますと思います)。
端末間の通信を成立させるためには、各種「テーブル」が深く関わってきており、それはネットワーク仮想化環境になっても全く同じです。ネットワークエンジニアは前述の物理ネットワークでの通信については良く理解していますが、サーバ仮想化環境のオペレーションに慣れている方はまだ少ないように思います。そのため、特にハイパーバイザの中がブラックボックスになってしまい、管理されている情報が不明確になってしまいます。
1. 物理ネットワーク環境で管理されている各種「テーブル」
2. ネットワーク仮想化環境で管理されている各種「テーブル」
上記2つの基本的なポイントをおさえることで、サーバ仮想化エンジニア、ネットワークエンジニア共に、ハイパーバイザでネットワークサービスを提供するメリットと、実現するためのアーキテクチャを明確にすることができます。
ネットワーク仮想化は、データセンタネットワークのオペレーションを劇的に改善しますが、決して既存のテクノロジーと断絶したものではありません。既にあるサーバ仮想化とネットワークアーキテクチャの延長線上にあり、既存の物理インフラストラクチャの上で動作します。第2回からは、既存の物理ネットワーク環境と対比し、特にネットワークを制御する各種「テーブル」に注目することで、物理ネットワーク環境との共通点と差異を明確にしていきます。
■ 今後の展開
ハイパーバイザの中をブラックボックスにしないために、何が行われているかを文章だけではなくコマンドラインを中心とした実環境での確認方法と合わせて解説していきます。
第2回 論理スイッチ(VXLAN)ではNSX の提供するL2 ネットワークサービスの説明をします。物理環境でL2 スイッチが持っている「MAC アドレステーブル」が、ネットワーク仮想化環境でどう変わるかに注目します。
第3回 分散ルーティングでは、NSX の提供するL3 ルーティングサービスの説明をします。物理環境でルータや、L3 スイッチが持っている「ルーティングテーブル」が、ネットワーク仮想化環境でどう変わるかに注目します。
第4回 分散ファイアウォールでは、NSX ので供するL4 ファイアウォールサービスの説明をします。物理環境でネットワーク機器が持っている「ルールテーブル」が、ネットワーク仮想化環境でどう変わるかに注目します。
■ 補足情報 ネットワーク仮想化を提供するVMware NSX を構成するコンポーネント
各機能で使用するコンポーネントが異なるため、各回でどのコンポーネントがどういった役割を果たしているのか補足情報として解説を行います。今回は各コンポーネントの概要を説明します。
・NSX Manager(マネジメントプレーン)
NSX を構築する際に最初に展開するコンポーネントで、仮想アプライアンスとして提供されています。NSX Manager は初期構築時の ESXi ホストへのカーネルモジュールのインストールや、論理ルータコントロールVM やNSX Edge といった仮想アプライアンスの払い出しを担います。また、NSX Manager はAPI のエントリポイントとなり、GUI だけでなくAPI 経由でNSX 環境の設定を可能にします。
・NSX コントローラクラスタ(コントロールプレーン)
NSX コントローラクラスタは、現時点で3台の仮想アプライアンスで構成することを推奨しており、論理スイッチ(第2回)と分散ルータ(第3回)において、各種テーブルを集中管理するコンポーネントになります。なお、分散FW(第4回)はコントローラクラスタを使用しません。
・論理ルータコントロールVM(コントロールプレーン)
論理ルータコントロールVM は、仮想アプライアンスとして提供され、分散ルーティング環境において、ルーティングの処理を集中して行います。テナント単位でスタティックルーティング情報や、ダイナミックルーティングプロトコル(OSPF, BGP)経由で学習したルーティング情報を管理し、コントローラクラスタ経由でESXi ホストに配信します。
・ハイパーバイザ カーネルモジュール(データプレーン)
NSX 環境を構築する際、ホストの準備のステップで各ESXi ホストにインストールされるカーネルモジュールとなります。今回のシリーズで解説する各機能を担い、ハイパーバイザの中で下記のネットワークサービスを提供します。
a.論理スイッチ(vdl2)
第2回で解説する論理スイッチの機能を担います。
b.分散ルータ(vdrb)
第3回で解説する分散ルーティングの機能を担います
c.分散FW(vsip)
第4回で解説する分散ファイアウォールの機能を担います。
・NSX Edge(データプレーン)
仮想アプライアンスとして提供され、単体で各種ネットワークサービス機能(ロードバランサ、ルーティング、NAT、ファイアウォール、VPN、 DHCP 等)を提供する「スイスのアーミーナイフ」のようなコンポーネントです。従来の物理のネットワーク機器が仮想アプライアンスとして置き換わったイメージです。機能スタックのネットワークサービスに該当し、今回のシリーズでは解説を行いません。
■関連リンク
ネットワーク仮想化をネットワークの基本から理解する
第1回:理解するために必要なことを整理する(本稿)
第2回:論理スイッチ(VXLAN)–Layer2 の世界
第3回:分散ルーティング –Layer3 の世界
第4回:分散ファイアウォール -Layer4 の世界