VMware NSXのご紹介

サーバーインフラエンジニアから見たVMware NSXとは?

こんにちは!VMware担当の及川です。

今回は、ネットワーク仮想化製品であるVMware NSX(以下NSX)の概要について説明致します。
昨今の急速なクラウドの普及に伴い、サーバーインフラエンジニアはサーバーのみならず、今後はネットワークも対応できるインフラエンジニアになることが重要となっています。しかし現状ネットワークに関しては、サーバーインフラエンジニアだけでは提案が難しいため、ネットワークエンジニアと協力して進めていく必要があります。

その中でネットワーク部分の仮想化はサーバーインフラエンジニアとネットワークエンジニアの中間に位置し、しばしばどちらが責任を持つか不明確となる場合があります。またネットワークの仮想化案件に対応するにしても、どこから取り掛かればいいのか分からないエンジニアの方も多数いらっしゃると思いますので、これから数回に分けてNSXについてご紹介していきます。まずネットワーク仮想化のイメージを掴んで頂くために、NSXの概要とネットワーク仮想化に必要なコンポーネントについて説明致します。

VMware NSXについて

データセンターではすごいスピードで仮想化が進んできています。VMwareはシステムを迅速に提供するためにデータセンターのソフトウェア化が必要と考えています。ソフトウェア化するメリットは下記3点です。

  1. 柔軟性が高まり、制御を容易に行うことができるようになります。
  2. 自動化できるようになり、コストの削減につながります。
  3. サービス展開までの俊敏性が上がります。

データセンター全体をソフトウェア化し定義するという概念をSoftware-Defined Data Center(以下、SDDC)と呼んでおり、現在、最もVMwareが力を入れているカテゴリーの1つとなります。SDDCを実現するためには、物理的なサーバー、ストレージ、ネットワークを仮想環境として構成する必要があります。

物理サーバのCPU、メモリはvSphereによって仮想化され、ストレージについてもVirtual SAN(VSAN)によって仮想化ができるようになり、サーバーインフラの仮想化がどんどん進んでいます。もちろんネットワークについてもvSphereが提供する仮想スイッチを使うことで仮想化可能です。しかし、L3やL7機能などを含むネットワーク機器を完全に仮想化するためにはvSphereの仮想ネットワーク機能だけでは実現できません。そこで、登場する製品がNSXです。NSXを使うことでこれらL3以上のネットワーク機器も仮想化できるようになりました。また、NSXの機能を利用することにより仮想マシンを展開するタイミングでネットワークの設定(例えば、仮想マシンごとのFWルールの設定)の組み込みが可能になるなど、オンデマンドに近い形でシステムの展開をスピーディーに行うことができるようになります。

では、『仮想ネットワークとNSXって何が違うの?』と疑問を持たれる SE の方は多いと思います。もちろん私もそうでした。言葉だけでは理解が難しいと感じられる方が多いと思いますので、下記のような図で簡単に表現してみました。

<仮想ネットワーク>

vSphere環境のネットワークにおいては、必ずVSS(標準仮想スイッチ)もしくはvDS(分散仮想スイッチ)を構成します。VSSとvDSはL2スイッチを提供する仮想ネットワーク機能です。そのため、新たにネットワークセグメントを追加する場合は仮想スイッチだけではなく、物理スイッチにもVLANの追加が必要となり、さらにL3の変更やFWの設定変更も必要になるため、仮想ネットワークだけでなく、物理ネットワークにも変更が必要です。そのため、頻繁にネットワーク設定変更や追加が必要なシステムでは、システムの迅速な展開が困難になります。

<NSX>

NSXは物理ネットワーク上に新たにネットワーク仮想化レイヤーを提供します。また、NSXの機能を使って、仮想マシン間の通信経路の最適化(ヘアピン経路の削減)や論理スイッチという単位でL2ネットワークの提供が可能となります。また、NSXが提供する仮想ネットワークについてはすべてソフトウェアから操作できるため、新たにネットワークセグメントを追加する場合は基本的にNSXの設定だけで通信可能となり、物理ネットワーク機器の設定変更が不要となります(必要なケースもあります)。NSXを使うことでサービスリリース時のネットワークの展開時間を短縮することが可能となります。

では、次にNSXのコンポーネントについて説明します。

NSXのコンポーネントについて

NSXは、管理プレーン(Management Plane)、制御プレーン(Control Plane)、データプレーン(Data Plane)の3つのレイヤー構造となっており、各レイヤーごとに役割が分かれています。
NSXのコンポーネントは各レイヤーに下記のような形で配置されます。

以下に、それぞれの役割について簡単に説明します。

<コンポーネント>

  1. 役割
  2. 展開方法

<NSX Manager>

  1. NSXの設定を行う仮想マシンになります。GUIとAPIを提供します。
  2. NSX Managerは仮想アプライアンスで提供されており、vCenterからvSphere上に展開します。vCenterとNSX Managerは1対1で紐づける必要があります。

<NSX分散論理ルーターコントロールVM>

  1. NSX ManagerやNSX Controllerと通信を行います。主な役割としては、NSX Controllerにルーティング情報の更新を送信したり、OSPFやBGPネイバーを確立します。
  2. NSX Managerから、仮想マシンとしてvSphere上に展開します。

<NSX Controller>

  1. すべてのホスト、論理スイッチ、分散論理ルータの情報を保持しており、仮想ネットワークを提供するための情報を持っています。( VTEPテーブル、MACテーブル、ARPテーブルなど)
  2. NSX Managerから、仮想マシンとしてvSphere上に展開します。高可用性の実現のためには、別々のホスト上へ3台の展開が必要です。

<論理スイッチ>

  1. VXLANによって実装される L2のブロードキャストドメインとして利用します。L2延伸をする場合はvDSをまたいだL2ネットワークも提供可能です。ESXiのカーネルの中に組み込まれます。
  2. NSX Managerから作成します。

<分散論理ルータ>

  1. ハイパーバイザー(ESXi)の中に組み込まれます。仮想マシン間の通信についてホスト内のルーティングの処理やvSphereをまたいだ通信の制御を行います。これにより、効率的な通信が可能になり、East-Westトラフィックを低減することができます。
  2. 設定時にESXiカーネルにモジュールが組み込まれます。

<分散ファイアウォール>

  1. IPアドレスやネットワークアドレスに対してファイアウォールルールを作成するだけでなく、vCenterで管理しているオブジェクトを利用したファイアウォールルールを作成することが可能です。
  2. 設定時にESXiカーネルにモジュールが組み込まれます。

<NSX Edge>

  1. DHCP、VPN、NAT、FW、ダイナミックルーティングなどネットワークサービスを提供します。
  2. NSX Managerからデプロイされ、仮想マシンとしてvSphere上に展開されます。

それぞれの役割についてはVMwareのブログでも日本語で紹介されておりますのでこちらもご参照ください。

次に、NSXを利用する場合の小規模構成についてご説明します。

小規模なNSXを構成する際は、下記のような構成で利用されるケースが多いです。
管理クラスタ上のNSX Controllerの耐障害性を考慮すると、4台以上の物理サーバ構成が推奨ですが、コスト的に難しい場合は最低3台の物理サーバを用意してください。

ハンズオンラボのご紹介

VMwareのハンズオンラボの中にNSXが含まれておりますので、こちらも是非ご活用ください。NSXに関しては下記2つのLabが該当します。日本語の紹介編もありますので、ありがたいですね!!

HOL-SDC-1603 VMware NSX Introduction 日本語

HOL-SDC-1625 VMware NSX Advanced 英語

最後まとめとなりますが、一言で言い表すと、NSXは物理ネットワークの上に自由に構築できるネットワークを提供する製品です。そのため物理ネットワークに縛られずに柔軟にネットワークを提供することができます。

今回は、NSXの概要及び用語について整理させて頂きました。今後、一般的な構成例と必要となるライセンスの考え方、インストールガイド、NSX をより便利に使う vRealize Network Insight 等をご紹介させて頂く予定にしています。

NSXの取りかかりに当たり、少しでもお力になれれば幸いです。

VMwareの記事




※閲覧にはiDATEN(韋駄天)へのログインが必要です。