Home > Blogs > Japan Cloud Infrastructure Blog > 作成者別アーカイブ: Taro Murata

作成者別アーカイブ: Taro Murata

新卒 SE 社員が贈る NSX のキソ︕第 7 回〜NSX Edgeが提供する各種ネットワーク機能〜

こんにちは!「新卒社員が贈る NSX のキソ!」第 7 回を担当する VMware 新卒第 4 期生の村田太郎です。
6 回では、NSX Data Center for vSphere の特徴的な機能である、分散ファイアウォールについてご紹介いたしました。この回では、NSX Data Center が提供する各種ネットワーク機能についてご紹介いたします。

NSX Data Center を導入した vSphere 環境では、NSX Edge を用いることで、ファイアウォール、ロードバランサ、DHCP、NAT などの各種ネットワーク機能を統合的に実現することができます。

今までの仮想環境では、仮想マシンの展開スピードにネットワークの構築が追い付けないという問題がありましたが、今回ご紹介する NSX Data Center の機能を用いることで、仮想マシンの展開スピードに合わせたネットワークの展開が可能になります。サーバ仮想化は、NSX Data Center によるネットワークの仮想化と合わせて使用することで、その真価を発揮すると言えます。

NSX Edge は、5 回でもご紹介した通り、仮想アプライアンスとして簡単に展開することができますので、必要なときにほぼリアルタイムでネットワークサービスを展開することができ、スケールアウトも簡単に実施することが可能です。

システムの運用を進めるにつれてネットワークのパフォーマンスが足りなくなってきた、といった場合、物理機器の買い替えはなかなか難しく、購入しても実際に届くまでには時間がかかりますが、NSX Data Center を利用している環境では NSX Edge の設定を変更するだけですぐに対応することができます。

役割 提供する機能
ルーティング 静的、動的(OSPF、BGP)ルーティング機能
ファイアウォール IP や Port に加え vCenter インスタンスベースで設定できるFW機能
NAT/NAPT 送信先、送信元の NAT 機能
DHCP DHCP サーバ機能、DHCP リレー機能
ロードバランサ TCP/UDP、HTTP、HTTPS サーバ負荷分散機能
IPsec VPN IPsec によるサイト間の VPN 機能
SSL VPN リモートからの SSL VPN アクセス機能
L2 VPN L2 延伸機能

 

それでは、簡単に NSX Data Center の提供する機能についてご紹介いたします。

 

1. ファイアウォール
第 6 回でご紹介した分散ファイアウォールに加え、NSX Edge による境界型ファイアウォールも提供可能です。NSX Edge は、主に North-South トラフィックフローに対するファイアウォール機能を提供します。

NSX Edge のファイアウォールでも、6 回の 2 節でご紹介した分散ファイアウォールと同様に、IP アドレスによる指定だけでなく、vCenter のオブジェクト単位でルールを作成することができます。

vCenter のオブジェクト単位で設定が可能であるということは、例えば「仮想マシン A から仮想マシン B への通信を禁止」というような設定ができるということです。仮想マシンの IP アドレスが変わったり、 vMotion などによって利用する物理ポートが変わったりしてもファイアウォールルールが仮想マシンに追従できるというメリットがあります。

図 1 Edge FW の設定画面

 

2. NAT/NAPT
NAT/NAPT(Network Address Translation/Network Address and Port Translation)は、IP アドレスを変換する機能です。IP アドレスを節約したい場合や、外部に社内 IP アドレスを公開したくない場合、システム統合時のテナント間での IP 重複を回避する場合などに用いられます。

NSX Edge では、NSX Edge を経由する通信に対して、SNAT(送信元 NAT)と DNAT(送信先NAT)を提供することができます。SNAT は送信元の IP アドレスを変換する機能、DNAT は送信先の IP アドレスを変換する機能です。

 

図 2 Edge NAT の設定画面

図 3 SNAT の動作

図 4 DNAT の動作

 

3. ロードバランサ
NSX Edge ロードバランサでは、アプリケーション要求、サービス要求をプール内の複数のバックエンドサーバ間に分散することができます。ロードバランサを使用する際には、ユーザがアクセスする際に使用する VIP アドレス(仮想 IP アドレス)と、実際にサービスを提供するサーバのプールを用意します。
例:VIP アドレス – 192.168.1.1 ポート 80、サーバプール – 10.10.10.1 から 10.10.10.3

NSX Edge ロードバランサでは以下のようなプロトコル、機能が提供されます。

NSX Edge ロードバランサの機能 内容
サポートされるプロトコル TCP/UDP

HTTP

HTTPS (SSL パススルー)

HTTPS (SSL オフロード)

ロードバランシングの方法 ラウンドロビン

送信元IP のハッシュ

最小接続数

URI/HTTP ヘッダ/URL

 

NSX Edge ロードバランサのデザインとしては、ワンアームロードバランサとインラインロードバランサの 2 種類が存在します。

図 5 ワンアームロードバランサ

ワンアーム構成では、NSX Edge はロードバランス対象の仮想マシンと同じセグメントに存在し、その名の通り、ネットワークと 1 つのリンクでつながるデザインとなります。

アクセスの流れは以下のようになります。
① 外部クライアントからロードバランサによって外部に公開されている VIP アドレスにパケットを送信する。
② ロードバランサはクライアントから受け取ったパケットに対しアドレス変換を行い、送信元 IP アドレスをロードバランサのアドレスへ、送信先 IP アドレスを VIP からサーバプール内の 1 台のサーバの IP アドレスに変換します(SNAT/DNAT)。
どのサーバが選択されるかは設定されたアルゴリズムによって異なります。
③ パケットを受け取ったサーバは、クライアントへのパケットをロードバランサに送信。
④ ロードバランサは再度 SNAT/DNAT を行い、送信元を VIP、送信先を外部クライアントとしてパケットを送信します。

ワンアーム型のロードバランサは、展開と構成がシンプルで、既存の NSX Edge に手を加えずに済む、ロードバランサの障害時の影響範囲が少ないなどのメリットがあります。

図 6 インラインロードバランサ

インライン構成では、NSX Edge をサーバプールのセグメントと外部セグメントとの境界に配置し、2 つのリンクでそれぞれに接続するデザインとなります。

インラインロードバランサ利用時のアクセスの流れは以下のようになります。
① 外部クライアントは、ロードバランサによって外部に公開された VIP アドレスにパケットを送信します。
② ロードバランサは DNAT により外部クライアントから受け取ったパケットの宛先を VIP から設定されたアルゴリズムに従いサーバプールに展開されているサーバの内の 1 台の IP アドレスに変換します。
③ サーバは、元のクライアントの IP アドレスを宛先 IP アドレスとして、ロードバランサにパケットを送信します。これは、上記の構成では NSX Edge ロードバランサがインラインで展開されており、サーバのデフォルトゲートウェイであるためです。
④ ロードバランサはサーバから受け取ったパケットに対して SNAT を実行し、送信元を自身の VIP に変換したうえで外部クライアントに送信します。

ワンアーム型との違いは、インライン型の場合はサーバにクライアントのアドレスが透過的であるということが挙げられます。また、インライン構成では内部セグメントと外部セグメントの中間にロードバランサが配置されるので、内部セグメントを外部から隠ぺいすることができるというメリットもあります。

インライン構成時には、サーバプール内のサーバで NSX Edge ゲートウェイがデフォルトゲートウェイとして指定されている必要があります。

 

4. IPsec VPN/SSL VPN/L2 VPN
NSX Data Center では、IPsec VPN、SSL VPN、L2 VPN の 3 種類の VPN をサポートしています。それぞれ、拠点間の VPN 接続、クライアントのリモート接続、データセンター間の接続に利用されます。

図 7 VPN の設定画面

図 8 IPsec VPN

図 9 SSL-VPN

図 10 L2 VPN

 

5. NSX Edge の高可用性
少しここまでの流れと話が変わりますが、NSX Edge には個別の機能として高可用性機能(HA)が存在します。NSX Edge で HA を有効化するには、設定画面で有効化ボタンをクリックするだけです。有効化すると、HA 用の NSX Edge が追加され、片方がアクティブ、もう片方はスタンバイ状態になります。

図 11 NSX Edge HA の設定画面

物理機器でロードバランサなどの機能を実現して可用性を担保するためには、同一の製品を 2 台購入し、配線し、HA の設定も複雑で、可用性を上げるはずがトラブルの原因になることもありました。これが NSX Edge の場合は設定画面から有効を選ぶだけで完了します。これもソフトウェアだからこそなせる業です。

 

6. おわりに
今回は、NSX Edge が提供する主要なネットワーク機能についてお話してきました。
NSX Edge を用いると、さまざまなネットワーク機能を簡単に展開することができるようになります。

この回の冒頭でも申し上げましたが、仮想環境は NSX Data Center を用いることでその真価を発揮します。NSX Data Center のメリットは、何と言っても今までご紹介した機能をすべてソフトウェアとして提供できることにあります。

今まで仮想サーバの展開が数クリックで終了していたとしても、サービスを開始するまでには物理環境上でさまざまな作業が必要でした。物理機器の選定をし、ラッキングして、配線して、バージョンアップや管理系の初期設定をして、、、これらの物理作業は NSX Data Center を使うことですべて不要になります。ほんの数クリックで新規ネットワークセグメントを作成したり、ロードバランサ、ファイアウォールの設定を行うことも可能です。物理配線を変えることなくネットワーク構成の変更も行えますし、トラフィック量が増えた場合に物理機器を購入することなく性能を向上させることも可能です。ネットワークが不要になった場合は簡単にネットワークの削除、リソースの開放ができます。

これらは物理ネットワーク環境では考えられなかった運用方法で、NSX Data Center だからこそ実現できることです。

 

さて、今まで 1 データセンターでの NSX Data Center の利用に関する説明をしてきました。NSX Data Center は複数のデータセンターにまたがる展開も可能であり、そういった環境でこそ活きる機能も持っています。

次の回では、複数データセンターにまたがった NSX Data Center に関してご紹介いたします。ご期待ください。

 

コラム ~ ハンズオンラボ(HOL)~
みなさんはVMware のハンズオンラボというものをご存知でしょうか?ハンズオンラボとは、簡単に言うとVMware の製品のお試し環境のことで、VMware の提供するさまざまな製品を実際に触ってみることができます。
このコラムでは、ハンズオンラボの使い方を簡単に説明いたします。

まず、ウェブブラウザで次のリンクにアクセスします。
https://www.vmware.com/jp/try-vmware/try-hands-on-labs.html
すると図 12 のような画面になるので、「VMware NSX:入門」の [ラボを開始する] をクリックします。

図 12 VMware HOL

図 13 VMware NSX ハンズオンラボ

既に My VMware のアカウントをお持ちの方はそのアカウントのメールアドレスとパスワードを用いてログインします。お持ちでない方は [アカウントの作成] からアカウントを作成したのち、ログインします。ログインが完了したら [開始] をクリックしてハンズオンラボを開始します。

図 14 HOL コンソール画面

右上の [LANGUAGE] をクリックし、日本語を選択するとハンズオン環境の日本語化ができます(図 15)。既に日本語環境になっている場合はそのままで OK です。

図 15 日本語への言語変更

図 16 Chrome の言語設定

このラボ環境内で用いるブラウザ(Google Chrome)の設定もデフォルトでは英語になっていますが、Google Chrome の右上のアイコンから Japanese を選択すると言語を日本語にすることができます(図 16)。2 重に設定がありややこしいですが、ハンズオンラボの環境と、ハンズオンラボで利用する仮想端末内のブラウザの設定です。

図 17 HOL の vSphere Web Client 画面

これでハンズオン環境への接続は完了です。あとは、右側のハンズオンガイドに従って機能を試してみるのもよし、自分で自由に触ってみるのもよしです。今まで説明してきたさまざまな機能、メリットをぜひ体感してみてください。

ハンズオンラボについてはこちらもぜひ御覧ください!
ハンズオンラボの始め方など、動画付きで詳しくご紹介しています。

新卒 SE 社員が贈る NSX のキソ︕第 2 回〜NSX Data Center for vSphere の基本構成(登場人物の整理)〜

こんにちは!「新卒社員が贈る NSX のキソ!」第 2 回を担当する VMware 新卒第 4 期生の村田太郎です。第 2 回では NSX Data Center for vSphere を構成する主要なコンポーネントと、ブログ全体で利用する NSX Data Center のサンプル構成についてご紹介いたします。

図 1 NSX Data Center を構成する主なコンポーネント

NSX Data Center for vSphere を構成する主なコンポーネントは図 1 のようになります。 vCenter Server と ESXi ホスト以外は全て NSX Data Center 導入時に新たに展開されるコンポーネントになります。

念のため簡単に説明すると、 ESXi ホストは仮想化の基盤であるハイパーバイザーのインストールされた物理ホストで、この上に仮想マシンが作成されていきます。vCenter Server は ESXi ホストの管理を行うためのコンポーネントで、複数ホストにまたがったネットワークの設定を行う際に必要となります。

vCenter Server によって提供される管理画面が vSphere Client (HTML5)と vSphere Web Client (Flash)ですね。現在はFlash 版と HTML5 版が利用可能になっていますが、今後 Flash 版はなくなり、HTML5 に統合されていく予定です。

図 2 vSphere Client (HTML5)

各コンポーネントはその役割によって、管理プレーン(Management Plane)、制御プレーン(Control Plane)、データプレーン(Data Plane)のいずれかに分類されます。プレーンという言葉は聞きなれないかもしれませんが、あるひとつの機能を実現するのにもいろいろなコンポーネントが関わっていて、それぞれの役割で分類されている、程度に思ってください。

1. NSX Data Center のプレーンについて
NSX Data Center では、各コンポーネントがプレーンごとにぞれぞれ独立して動作しているので、もし制御プレーンに障害が発生しアクセスができない状態になったとしても、データプレーンが動作していれば通信を継続的に正常に処理することができる、などのメリットがあります。

プレーンが分かれておらず、設定、制御、実際の通信を同じコンポーネントで実現していると、そのコンポーネントに障害が発生してしまったときの影響範囲が非常に広くなってしまいますが、役割を分けてコンポーネントが存在しているとそういったことは起こりづらくなります。

管理プレーンは NSX Manager によって構築される NSX Data Center の管理コンポーネント群であり、管理者への一元的な設定、管理を提供します。管理プレーンでは管理トラフィックを扱います。制御プレーンは NSX Data Center における論理スイッチや論理ルーティングなどの制御を行います。データプレーンでは制御プレーンによって与えられたルーティング情報などをもとに実際にパケットのスイッチングなどデータのやりとりを行います。

実際に管理者が操作するのは管理プレーンのコンポーネント、ネットワークの実データが流れるのがデータプレーン、管理者からの操作を受けてデータプレーンを制御するコンポーネントは制御プレーンといったイメージになります。

図 3 NSX のプレーン

2. 各コンポーネントについて
NSX Manager は、NSX Data Center 導入における管理コンポーネントであり、NSX Data Center 導入時に最初に仮想アプライアンス(仮想マシン)として展開されるコンポーネントです。NSX Manager は vCenter Server に登録され、1 対 1 でマッピングされます。NSX Manager の初期構成を終えたのちは、NSX Data Center に関連する設定は対応する vCenter Server 上で行うことが可能になります。

 

NSX Controller は、NSX Data Center の仮想ネットワークを制御するコンポーネントで、論理ネットワークの制御を行っています。こちらも NSX Manager 同様、実体は仮想マシンで、NSX Manager を展開したのちに vSphere Client から作成します。仮想マシン、ホスト、論理スイッチ、分散論理ルータに関する情報を保持しており、重要な役割を持っているので、可用性を担保するために 3 台でクラスタを組む必要があります。

 

NSX Data Center には仮想アプライアンスによって提供される機能と vSphere のカーネル上で提供される機能がありますが、 vSphere のカーネル上で提供される機能はハイパーバイザー カーネル モジュールによって実現されます。ハイパーバイザー カーネル モジュールは、もともと vSphere のカーネルで提供されている仮想スイッチである分散仮想スイッチ(vDS: vSphere Distributed Switch)を拡張する形で提供される NSX Data Center のコンポーネントです。論理スイッチ、分散論理ルータ(DLR: Distributed Logical Router)、分散ファイアウォール(DFW: Distributed FireWall)などの機能を提供します。
NSX Data Center の論理スイッチは VXLAN(Virtual eXtensible LAN)というカプセル化の技術を使って実現されています。VXLAN を用いると、L3 ネットワーク上に仮想的な L2 ネットワークを構築することができるようになります。ピンと来ないかもしれませんが、後の回で別途説明がありますので、少々お待ちください。

分散論理ルータ コントロール仮想マシンはその名の通り、分散論理ルータの制御を行います。制御プレーンに属するコンポーネントで、分散論理ルータと他のルータとルーティングプロトコルセッションの確立を行います。

 

 

NSX Edge ゲートウェイは、North-South 方向のルーティング、境界ファイアウォール、NAT、DHCP、VPN、ロードバランシングなどのネットワークサービスを提供します。

分散論理ルータ コントロール仮想マシンと NSX Edge ゲートウェイもそれぞれ別々の仮想マシンとして作成されるコンポーネントです。分散論理ルータ自体は ESXi の「カーネル」で動作しますが、分散論理ルータを制御するのは分散論理ルータ コントロール「仮想マシン」であることに注意してください。この辺はよくこんがらがりますが、基本的に実データのやりとりは ESXi のカーネルで行われると思ってください。

NSX Data Center のコンポーネントの中でルーティングの機能を有するものは分散論理ルータと NSX Edge の 2 つがあります。なぜ同じ機能を複数のコンポーネントが持っているのか不思議に思われる方もいるかもしれませんが、分散論理ルータと NSX Edge ルータはルーティングを担当するトラフィックのタイプによって使い分けられます。

図 4 North-South/East-Westトラフィック

データセンターにおける通信は、データセンターの内外を行き来する North-South トラフィックと、データセンター内部の East-West トラフィックに分類されます。
分散論理ルータは East-West トラフィックのルーティングを、NSX Edge では North-South トラフィックのルーティングを主に行います。

3. サンプル構成図と今後の流れ
さて、NSX Data Center の主要なコンポーネントについての紹介を終えたところで、これらのコンポーネントがどのように展開されていくのかを、サンプル構成図を用いて次の回から順を追ってご紹介いたします。

このサンプル構成図は、論理ネットワーク構成図になっており、物理ネットワーク図ではないことに注意してください。ESXi ホストの絵が載っており、なんとなくその上に仮想マシンが配置されているように見えますが、気にしないでください。これは論理ネットワーク図なのでデバイスの物理的な配置には左右されません。この辺りの頭の切り替えが仮想ネットワークを理解する際のポイントになります。

図 5 サンプル構成図(NSX Data Center 導入前)

図 6 サンプル構成図(NSX Data Center 導入後)

 

図 5 が NSX Data Center 展開前、図 6 が NSX Data Center 展開後のサンプル構成図になります。

このサンプル構成(NSX Data Center 展開前)では、ESXi ホスト 4 台でクラスタを組んでおり、vCenter Server が 1 台の非常にシンプルな構成となっています。NSX Data Center 展開前の仮想マシンはどのネットワークにも接続していません。ネットワークは 4 つの VLAN に分かれており、それぞれ VTEP(後述)用、仮想マシンネットワーク用、管理ネットワーク用、vMotion 用となっています。今回はこのサンプル構成図を用いて NSX についてご紹介いたしますので vMotion 用の VLAN については特に関係ありませんが、通常 vSphere 環境を構築する際には管理ネットワーク、vMotion ネットワークなどでセグメントを分けるので、それにならった形の構成になっています。

それでは、NSX Data Center がどのように展開されていくのか見ていきましょう。

コラム ~ vSS と vDS ~
ハイパーバイザー カーネル モジュールのご紹介の際に、何気なく vDS の拡張ですと書いてしまいましたが、ここで簡単におさらいしておきたいと思います。

もともと、vSphere 上の仮想マシンが通信を行う際には、vSphere のカーネル内部に存在する仮想的なスイッチ、vSS(vSphere Standard Switch)を経由していました。vSS は各物理ホスト単位で設定を行う、ESXi に標準の機能になります。
各物理ホスト単位でスイッチの設定を行うとなると、ホスト数が多い場合、仮想スイッチの管理が手間になってきますし、設定ミスの可能性も上がってきますが、この問題を解決するものが、vDS(vSphere Distributed Switch)になります。

vDS では複数ホストの仮想スイッチを一元的に設定、管理することが出来るようになります。

VMware は、仮想ネットワークに取り組んできた長い歴史があり(スイッチの出荷ポート数で考えると、データセンタ―にある物理の ToR スイッチ以上のポート数を既に出荷済み!)、この vDS が仮想ネットワークの基礎となり、次世代のネットワーク仮想化プラットフォームとしての NSX に昇華されることになったのです!

vSS と vDS

vSS、vDS に関する詳しい説明は、「新卒 SE 社員が贈る vSphere のキソ」(https://blogs.vmware.com/jp-cim/2014/08/vsphere_kiso01.html)をご覧ください。