VMware NSX 4.1.1 より、NSX VPC という新機能が追加されました。VMware 製品の中でクラウドに関連した製品や機能はありましたが、VPC という言葉は初めて使われることになりました。NSX VPC は、VPC ( Virtual Private Cloud、仮想プライベートクラウド) の略称で VMware のクラウドでセキュアで分離された仮想的なプライベートネットワークを作成できるマルチテナント機能です。NSX マルチテナント機能のサブ機能ではありますが、NSX マルチテナントの管理単位よりも、もう一つ細かい分離単位となります。NSX VPCは、より小さい単位でテナント独自のネットワークを構築することができる機能です。さらに、この機能はセルフサービスの利用ができるようにデザインされています。管理インターフェイスもより簡単な作りとしました。VMware はこれから、このVPCをマルチクラウドに分散して配置しつつも、すべての VPC を一元管理するようなサービスも提供していく予定です。今回のブログで、ぜひ、VPC自体の概念をご理解いただけたらと思います。

このブログでは、NSX VPC の技術的なポイントをピックアップしてご紹介します。派生した話題については、別のブログなどでフォローアップしていきたいと思います。

VMware NSX VPC でのコントロールプレーン分離の特徴

VMware NSX はこれまでも、マルチテナント機能がありました。これまではテナント単位のセグメンテーション(DFW)やオーバーレイ、VRF などの技術を用いて、データプレーンレベルのネットワークやセキュリティの機能を分離し、エンタープライズ管理者が複数のテナント向けのネットワークやセキュリティを提供することができていました。

NSX 4.1 から実装された NSX マルチテナント機能は、コントロールプレーンレベルのネットワークやセキュリティの機能を分離できるため、テナントごとに管理インターフェイスが分離されています。このマルチテナント機能をベースとして開発されたのが、NSX VPC機能となります。

テナントごとに管理インターフェイスが分離されることで、ログインしたテナント管理者の設定情報のみ閲覧できるようになります。管理インターフェイスはテナントの設定情報を分離して管理し、ログインしているそのテナントの設定情報だけを表示させます。ログインしたテナント管理者に応じて表示を分離することで、マルチテナントに対応したセルフサービスポータルとして利用することができるようになります。

また、上図右下に示すように NSX マルチテナント機能では、設定情報を分離する以外にも、ログやトラブルシューティグ情報も分離されます。ログはテナント管理者のログのみが表示され、ログを出力する際には、テナント管理者の ID が埋め込まれたログが生成されます。また、管理インターフェイスで行うトラブルシューティングでは、テナント管理者の構成したネットワークやセキュリティ設定のみ反映され、他のテナントの設定とトラブルシューティング情報が混じることはありません。

このように、NSX はデータプレーンと、コントロールプレーンそれぞれが分離できるようになり、マルチテナントやセルフサービスポータルとしての利用ができるようになりました。

NSX マルチテナント機能自体の詳細解説は、また他のブログで今後ご紹介していきたいと思います。NSX マルチテナントの用語には参考リンクをつけていきますので、適宜ご確認いただきながらお読みいただけたらと思います。本ブログは、引き続き NSX VPC に焦点を当てて解説していきます。

 

VMware NSX VPC で使われる3段階の管理者レベル

ここでは、NSX VPC を管理する上で押さえていただきたい以下3つの管理者レベルをご紹介します。

  1. エンタープライズ管理者(Enterprise Admin)
  2. プロジェクト管理者(Project Admin)
  3. VPC管理者(VPC Admin)

1つ目が、エンタープライズ管理者(Enterprise Admin)です。これは NSX全体の設定が可能な最上位レベルの管理者となります。NSX プロジェクトを作成し、テナントにセルフサービスによるクラウド利用を可能にします。

2つ目が、プロジェクト管理者(Project Admin)です。これは NSX全体ではなく、NSX プロジェクトの設定が可能なテナントレベル管理者となります。「Project Admin」は、アサインされた NSX プロジェクトで独自のRBAC、オブジェクト構成(仮想ネットワークやFWなど)、UI、API、ロギング、およびモニタリング機構が利用できます。Project自体は「Enterprise Admin」が作成し、「Enterprise Admin」がProject に 「Project Admin」 をアサインします。財務や開発などの部門単位のテナント管理のために、Project を用いることが一般的です。

3つ目が、VPC 管理者(VPC Admin)です。これは NSX プロジェクトの中で管理される VPC の設定が可能な VPC レベル管理者となります。VPC 自体は「Project Admin」が作成し、「Project Admin」が VPC に「VPC Admin」をアサインします。財務や LoB などの部門単位のテナント管理をした上で、さらに部門の中で特定のアプリケーションやシステムのインフラ管理を VPC の形で移管することができます。例えば、下図のように Test (初期開発段階や PoC など)のグループに VPC を払い出すことで、ENGINEERING のプロジェクトのテナントで VPC を含めてテナントインフラを2段階で管理できるようになります。

 

VMware NSX VPC の主なネットワーク概念

NSX VPC は独立したプライベートネットワーク領域です。この領域の中で、セグメント、ルーティング、FW セキュリティルールを構成します。また、外部との疎通を行うための Elastic IP アドレスや NAT といった概念もあります。NSX VPC では、このようなネットワーク要素だけで管理ができるよう簡素化されていて、LoB やテストなどのVPC管理者がセルフサービスで運用できるようにしています。下図のように、データセンターのネットワーク構成を可能な限り抽象化して、小さい管理単位にして、IT組織以外のチームにもクラウドを容易に使ってもらえるようにするために、 こうした NSX VPC の概念が NSX に取り込まれたと捉えていただけたらと思います。

 

 

NSX VPC の主な用語と実態 – 1

ここではまず、NSX VPC に関連する主な用語を解説し、その用語がNSXのどの機能として動作するかを深掘りしていこうと思います。ます、VPC で動作している主な機能は以下の通りです。
  • サブネット
    ・パブリック(外部)
    ・プライベート
    ・アイソレート(分離)
  • ルーティング(暗黙的に存在)
  • E-W ファイアウォール
  • N-S  ファイアウォール
  • NAT

 

サブネットは、パブリック(外部)、プライベート、アイソレート(分離)と3種類あり、それぞれ独立したL2セグメントとなります。それぞれ以下のような特徴があります。
  • パブリック(外部):VPC 外部とそのままルーティング可能なセグメント
  • プライベート:VPC 外部とそのままルーティングできないセグメント。VPC外部とNATを介してルーティング可能。
  • アイソレート(分離):VPC 外部とルーティングできないセグメント。パブリックやプライベートともルーティング不可。
また、それぞれのセグメントで利用可能なIPアドレスは以下のようになります。
  • パブリック(外部):「Enterprise Admin」が予め設定した IPv4 アドレスブロックのみ利用可能(仮想マシンには DHCP または静的によるアドレス割り当て)
  • プライベート:「Project Admin」が予め設定した IPv4 アドレスブロックのみ利用可能(仮想マシンには DHCP または静的によるアドレス割り当て)
  • アイソレート(分離):任意の IP アドレスが利用可能。ただし、パブリックやプライベートとの間でのルーティングはされない
ルーティングは、暗黙的に存在しており、パブリック(外部)とプライベート、として VPC 外部との間でルーティングされます。
E-W ファイアウォール、N-S  ファイアウォールと、2種類のファイアウォールが利用できます。デフォルト動作では、E-W ファイアウォールのルールが3行存在します。VPC 内部の仮想マシン間通信は許可、DHCP によるアドレス取得に関わる通信も許可、それ以外の通信はすべてドロップとなっています。つまり、VPC はデフォルト状態では外部との疎通は E-W ファイアウォールによって全て遮断されてセキュアな状態であることがわかります。必要に応じて、外部通信として許可するトラフィックのみを FW ルールで記述する「許可リスト型のセキュリティ対策」をとることができるようになっています。
最後は NAT サービスです。デフォルトではプライベート サブネット IP からの外部向け通信が SNAT されるよう NAT ルールが入っています。NAT サービスでは、DNAT・SNAT・再帰 NAT の3タイプが利用できます。

 

NSX VPC の主な用語と実態 – 2

では、こうした用語が NSX のどの機能として動作するかを深掘りしていきます。

サブネット

サブネットの実態は、NSX オーバーレイセグメントです。
パブリックセグメントとプライベートセグメントは、指定の IP アドレスレンジ以外は使えず、全セグメントで DHCP が動作します。サブネットそれぞれの指定の IP アドレスレンジの先頭アドレスがゲートウェイIPとなります。また、NSX Advanced Load Balancer ( NSX ALB )  と連携があれば、パブリック IP アドレスブロックから VIP を自動割り当てすることができたりします。

 

ルーティング(暗黙的に存在)

ルーティングは、T1 Gateway が担っています。VPC ごとに T1 Gateway が自動生成され、VPC T1 Gateway として動作します。VPC Admin の管理画面では、VPC T1 Gateway は表示されることはなく、暗黙的に存在していることになります。VPN や 境界 IPS などの設定はできません。VPC 自体は「Project Admin」が作成し、VPC T1 Gateway の接続先 T0 Gateway を選択します。もちろん、どの T0 Gateway を Project に利用してもらうかは、「Enterprise Admin」が設定を行います。「Enterprise Admin」がさまざまな外部接続を用意することで、Project や VPC は多種多様な外部接続やプライベート接続をすることができます。NSX の外部接続に関する話題はこちらのブログ(概要は下図)で紹介しています。

 

E-W ファイアウォール・N-S  ファイアウォール

E-W ファイアウォールの実態は、DFW です。前述のようにデフォルトのルールには、VPC 内 VM 間通信は許可、VPC 内 VM の外向け通信も許可、外部から VPC 内の VM への通信はドロップとなります。N-S  ファイアウォールは、VPC T1 Gateway で動作する境界ファイアウォールです。デフォルトでは内部向け・外部向けいずれの通信も許可された状態になっています。

 

NAT

VPC T1 Gateway で動作する NAT (DNAT/SNAT/再帰)サービスです。デフォルトでプライベートIPからの外部向け通信の SNAT が動作し、パブリックIPブロックの先頭アドレスを NAT の IP アドレスとして利用するように動作します。

 

このように、VPC の用語はそれぞれ NSX の機能として動作しており、これまでの NSX 機能をご存知の方であれば、容易に VPC の実態がご理解いただけるのではないかなと思います。

 

 

また、VPC のこれらの NSX 機能を NSX マルチテナントの視点で整理しておきたいと思います。Project Admin からは、Project Admin の直下で管理している T1 Gateway や セグメントを管理しつつ、VPC でデプロイされた VPC T1 Gateway や VPC セグメント なども同時に管理できるようになっています。Project Admin の視点では、以下のような構成で両方の機能を共存した状態で管理しているようなイメージになります。

 

 

NSX VPC の管理インターフェイスの表示を見てみる

それでは、それぞれの管理者 ID でログインし、管理インターフェイスの表示内容の違いを見ていきたいと思います。上記の「プロジェクトと VPC の共存トポロジー」の構成を記憶しつつ、確認いただけたらと思います。まずは、「VPC Admin」 で管理インターフェイスにログインした場合の表示内容を見てみます。アサインされた VPC 内にある、サブネット・NAT・FW ルールのみ操作できることがわかります。以下のように、最低限の操作のみ許可されたインフラのセルフサービスを提供することができます。

「VPC Admin」

 

 

次に、「Project Admin」 で管理インターフェイスにログインした場合の表示内容を見てみます。以下のように、「VPC Admin」のように VPC の構成を確認したりしつつ、「Project Admin」が作成した T1 Gateway やセグメントが管理できることがわかります。また、「VPC で認識されたオブジェクト」にチェックを入れると、「Project Admin」が管理する VPC のオブジェクト(VPC T1 Gateway や VPC セグメントなど)も表示され、Project 内で作成された設定内容の全体を把握することができます。このように、VPC の設定も表示させ、VPC と共存した状態の Project 全体の機能を管理できるようになっています。

「Project Admin」

 

 

おまけ

NSX Advanced Load Balancer ( NSX ALB )  は、バージョン 30.1.1 より NSX マルチテナントに対応しています。NSX VPC ごとのデータプレーンと NSX ALB が連携しており、VPC で NSX ALB が有効化 ( Enable ALB と下図で表示される部分)されると、VPC が属している NSX テナント名が NSX ALB コントローラにも同じ名前でテナントが自動作成(下図のオレンジ文字で「テナントの自動作成」と表示される部分)されます。そして、NSX ALB のテナントと連携されたVPC の中にデプロイした仮想サービス(VS)は、VPC セグメントで VIP を動作させ、VPC T1 Gateway に VIP 向けの Static Route を追加する動作をします。この T1 Gateway の Static Route を使う動作は、過去ブログで紹介した内容と同じです。これまでの連携動作が NSX VPC にも対応し、テナント生成も自動化されている部分がポイントです。この連携によりテナント生成も自動化されますので、NSX と NSX ALB でテナント名が同一になります。NSX と NSX ALB でのテナント管理者も、ネットワーク管理者として同じ 管理者 ID を用いして管理するとより効率的です。この管理者 ID については、近日公開予定のブログにてご紹介します。

 

 

さいごに

今回のブログでは、NSX VPC の主要な用語とその実態、さらに各管理者 ID による管理インターフェイスの表示内容について解説しました。NSX VPC は多層的なネットワーク設計と管理を可能にする強力なツールであり、その多機能性がどのような形で実現されているのかを深堀りしてきました。

特に、サブネットやルーティング、ファイアウォール、NAT といった基本的なネットワーク機能が NSX VPC 内でどのように動作するのかを明らかにしました。また、各レベルの管理者(VPC Admin、Project Admin)がどのような権限と責任を持つのか、それぞれのインターフェイスで何ができるのかを詳しく見てきました。

さらに、NSX VPC と NSX ALB の連携によるテナント生成の自動化など、より高度な機能についても触れました。このような多機能性と柔軟性が、NSX VPC を企業ネットワークの運用管理において非常に有用なソリューションとして位置づけています。
最後に、NSX と NSX ALB の連携が効果的に機能する条件とその設定方法についても説明しました。これらの知識があれば、より効率的なプライベートクラウドにおけるネットワーク管理が可能になっていきます。

以上がこのシリーズのまとめです。NSX VPC に関する基本的な概念から高度な設定、管理方法に至るまで幅広く解説してきましたが、こうした情報が読者の皆様のネットワーク運用のお役にたてば幸いです。

NSX VPC を実機で試して見たい方、以下のVMware ハンズオンラボでお試しいただけますので、ぜひチャレンジしてみてください。今後のブログ記事で NSX VPC のラボシナリオを解説してみたいと思います。

 

次回は更に別のテーマで皆さんに役立つ情報を提供できればと考えています。お楽しみに!

 

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

 

〜お知らせ〜

※VMwareでは、各種製品をクラウド上でご評価いただくHands-on Labs(HOL) という仕組みを無償でご提供しています。今回ご紹介した各種ソリューションへの最初の一歩の入り口としてぜひご活用ください。
おすすめのHOLメニューはこちらから