前回は Neutron のアーキテクチャについて紹介しました。これからの2回では、Neutron のいくつかの概念と用語について続けて紹介します。
目次
Neutron の概念
Neutron は、ユーザーがネットワークとそのサブネットを作成することを可能にし、Compute などの他の OpenStack サービスが仮想デバイスをこれらのネットワーク上のポートに接続できるようにします。最も一般的なケースは、インスタンスをネットワークに接続することです。Neutron は、各プロジェクトが複数のプライベートネットワークを持つことをサポートしており、プロジェクトが独自の IP アドレッシングスキームを選択することを許可します。また、異なるネットワーク内の IP アドレスが他のプロジェクトで使用されている IP アドレスと重複することも可能です。ネットワークには、プロバイダーネットワーク (provider network) とセルフサービスネットワーク (self-service network) の2つのタイプがあり、これらはプロジェクト間で共有できます。
プロバイダーネットワーク
プロバイダーネットワークは、インスタンス (Instance) に L2 ネットワーク接続を提供し、DHCP およびメタデータ (metadata) サービスをサポートします。これらのネットワークはデータセンターの既存の L2 ネットワークに接続されており、通常は VLAN (802.1q) タギングを使用して識別および分離されます。
プロバイダーネットワークは通常、柔軟性を犠牲にする代わりに、シンプルさ、パフォーマンス、および信頼性を提供します。デフォルトでは、管理者のみがプロバイダーネットワークを作成または更新できます。これは、その設定が実際の物理的なネットワークインフラストラクチャと一致している必要があるためであり、一般ユーザーは通常、これらの情報を持ち合わせていないからです。
また、プロバイダーネットワークはインスタンスの L2 ネットワーク接続のみを処理するため、Neutron のルーターやフローティング IP アドレスなどの機能はサポートしていません。
ルーテッドプロバイダーネットワーク
ルーテッドプロバイダーネットワーク (Routed provider networks) は、元のプロバイダーネットワークに似ていますが、ネットワークをデータセンター内の異なる L3 ネットワークに対応させることができ、これをネットワークセグメント (network segments) と呼びます。各ネットワークセグメントは実質的に一つのプロバイダーネットワークであり、それぞれが外部ネットワークと通信するための独立した L3 ゲートウェイを持っています。
このモードは筆者の経験上あまり一般的ではありません。通常、複数のラックや L2 ネットワークにまたがる場合にこのソリューションの使用が検討されます。
セルフサービスネットワーク
セルフサービスネットワークは AWS の VPC に似ており、管理者を介さずにユーザーが自身のネットワークを管理できるようにします。これらのネットワークは完全に仮想的であり、仮想ルーターを介してプロバイダーが提供する外部ネットワークにルーティングされる必要があります。
ほとんどの場合、セルフサービスネットワークは VXLAN、GRE、または GENEVE などのトンネルを使用してオーバーレイ (overlay) ネットワークを構築します。これは、VLAN タギング (802.1q) を使用するよりも多くのセグメントをサポートでき、VLAN では通常、物理ネットワークの追加設定が必要になるためです。
ユーザーは自身のプロジェクト内で独自のネットワークを作成できます。デフォルトでは、これらは完全に隔離されており、他のプロジェクトとは共有されません (Flat は例外です)。OpenStack Networking は、以下のタイプのネットワーク分離およびオーバーレイ技術をサポートしています。
フラット
すべてのインスタンス (Instance) が同一の L2 ネットワーク上にあり、ホストと共有することも可能です。VLAN タギングやその他のネットワーク分離は行われません。
VLAN
ネットワークにより、ユーザーは物理ネットワーク内に存在する VLAN に対応する VLAN ID (802.1Q タギング) を使用して、複数のプロバイダーネットワークまたはプロジェクトネットワークを作成できます。これにより、インスタンスは環境全体で相互に通信できるようになります。また、同じ L2 VLAN 上にある他のサーバー、防火牆、その他のネットワークインフラストラクチャとも通信可能です。
GRE、VXLAN、GENEVE
VXLAN、GRE、および GENEVE はカプセル化プロトコル (encapsulation protocols) であり、異なるコンピューティングインスタンス間の通信を制御するためのオーバーレイネットワークを作成します。プロジェクトネットワーク内のインスタンスが外部と通信できるようにするには仮想ルーターが必要であり、このルーターはプロジェクトネットワークと外部ネットワーク (インターネットを含む) を接続する必要があります。OpenStack Neutron の仮想ルーターは、DNAT を介して外部ネットワークからインスタンスに接続できるようにするフローティング IP アドレス (floating IP address) も提供します。
プロジェクトオーバーレイネットワーク (Project Overlay Network) の概念図:

以上が Neutron における 3 つのネットワークタイプです。
まとめ
今回は Neutron における 3 つのネットワークタイプを紹介しました。次回は Subnets や Router など、Neutron の残りの概念や用語について紹介します。
著作権表示:このブログのすべての記事は、特記のない限りCC BY-NC-SA 4.0ライセンスの下で提供されています。

