OpenStack Neutronとは何か?いま覚えておくべきOpenStack Neutronの基本(1)(1/3 ページ)

オープンなIaaSプラットフォーム構築の本命といわれるOpenStack。そのネットワーク部分の管理を担うコンポーネントであるNeutronはどのようなものでしょうか。基本的な構成や内部の動作、実践的なネットワークの構成方法を解説します。

» 2014年12月08日 18時36分 公開
[SDNエバンジェリスト吉本昌平ユニアデックス株式会社]

連載バックナンバー

 ユニアデックスでSDNエバンジェリストを担当している吉本です。今回から本連載を担当いたします。よろしくお願いいたします。

 現在、オープンなIaaSプラットフォーム構築基盤として「OpenStack」が注目を集めています。OpenStackは、さまざまなソフトウェアモジュールを組み合わせてクラウド基盤を実現しています。例えば、インスタンス(仮想サーバー)の制御を行う「Nova」、WebGUIを実現する「Horizon」、ストレージの制御は「Cinder」や「Swift」などを組み合わせています。

 ネットワークも同様であり、2014年11月現在、OpenStackでネットワークを制御するには、以下の二つのソフトウェアのいずれかを選択することになります。

  • Nova-Network
  • Neutron

 「Nova-Network」はOpenStack開発当初から存在しており、シンプルなネットワーク構成のみをサポートするモジュールです。「Neutron」はシンプルなネットワーク構成だけでなく、プラグイン機能を通じてSDNコントローラーなどの外部ネットワーク製品と連携し、多くのシステム要件を満たす複雑なネットワーク構成をサポートします。

 本連載は、このNeutronについてより深く理解していただくことを目的としています。まず、第1回はNeutronが構成できるネットワークのうち、基本的なネットワークの内部構造を解説します。第2回ではNeutron自身の内部動作をステップごとに解説します。第3回ではSDNプラグインを用いた複雑なネットワーク構成を解説する予定です*。

* なお、本連載は日本仮想化技術主催のOpenStack最新情報セミナー(2014年10月8日開催)の内容を元にしており、OpenStackの9番目のリリースである「Icehouse」をベースとしています。2014年10月中旬に公開された10番目のリリースである本稿執筆時点での最新版「Juno」でも基本実装に大きな変更はありませんが、オプション機能のDVR(Distributed Virtual Router)を有効にするとComputeノードでルーターが動作するなど一部実装が変更されています。JunoでのNeutron実装については連載第2回で解説を予定しています。



Nova-NetworkではなくNeutronをオススメする理由

 Nova-Networkはその名の通り、インスタンス(仮想サーバー)の実行をつかさどる「Nova」が提供するネットワーク機能です。NovaはOpenStackでも最古参となるプロジェクトであり、その意味でNova-Networkは旧来からあるネットワーク機能です。OpenStackのマニュアルには、Nova-Networkを「“レガシー”ネットワーク」と紹介しているほどです。

 対して、NeutronはNova-Networkを置き換えるべく新しく作られたプロジェクトで、当初は「Quantum」という名称でした。商標権の問題から、2013年時点でNeutronと名前を変えています。さらに、OpenStackの7番目のリリースである「Havana」(2013年10月)からは、OpenStack開発プロジェクトの中でも「コア」プロジェクトとして位置付けられています。

 Neutronが提供するネットワーク機能は、非常に高度なものを目指しており、テナント分割や、GREやVXLANなどのL3トンネリングをサポート、LBaaS(Load Balancer as a Service)、VPNaaS(VPN as a Service)、FWaaS(Fire Wall as a Service)、分散ルーティング機能などの実装を行っています。また、各SDNベンダーがNeutronと連携するためのプラグインを用意しており、より複雑で高度なネットワーク構成を行うことができるようになっています。

 2014年秋にパリ(フランス)で行われた「OpenStack Summit」で発表されているサーベイ結果では、プロダクション環境の半数以上でNeutronが採用されており、Nova-Networkを置き換える存在としてNeutronが大きな位置を占めていることが分かります。

 このように、OpenStackにおけるネットワーク機能は、大きな流れとしてはNova-NetworkからNeutronへと移行していく情勢となっています。現状のNeutronは発展途上であり、一方のNova-Networkは十分に「枯れて」いて動作実績やWeb上での情報も豊富です。しかし、これからOpenStackを始めるのであれば今後の主流となるであろうNeutronをお勧めします。

 それでは、Neutronの機能と内部構造を解説していきます。

OpenStackのネットワークが実現すべき機能

 OpenStackのネットワークを語る上でまず避けて通れないのは「マルチテナント」です。OpenStackは複数のテナントをサポートし、各テナントに対してそれぞれネットワークを提供します。マルチテナントネットワークの要件を明確にするため、まずは物理環境で実現するには何が必要かを考えてみましょう。

ネットワークから見た「テナント分離」

 ネットワークの観点から見たテナント分離とは、各テナントに専用のネットワークを設け、他のテナントとは完全に分離したネットワーク環境を用意することです。完全に分離することで、例えば、全てのテナントが192.168.0.0/24という重複したネットワークを利用しても、問題なく動作します。この分離を実現することで、各テナントにネットワーク管理を委譲することができます。

 管理委譲されたネットワークセグメントには、独自のDHCPサーバー、DNSサーバーが必要になります。また、上記のようにアドレスが重複した各テナントが外部ネットワークとの間で通信するには、NAT処理のできるルーターが必須です。さらに、これらのルーターやサーバーを接続するスイッチやケーブルが必要になります。

マルチテナント機能
要件 機能
テナント分離 テナント間での厳密なネットワーク分離
テナントへのネットワーク管理委譲 テナントごとに独立したDHCPサーバー、DNSサーバーの提供
テナントと外部ネットワーク間の通信 マルチテナントに対応した外部接続用ルーターやNAT
その他 各サーバー、ルーター間の接続
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。