Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第2章 ネットワークに関する詳細

2.1. 基本的なネットワークの仕組み

ネットワークは、複数のコンピューター間で伝送される情報で構成されます。最も基本的なレベルでは、ネットワークインターフェースカード (NIC) が 1 枚ずつ搭載された 2 台のマシンをケーブルで接続することによって構成します。OSI ネットワークモデルでは、これはレイヤー 1 に相当します。

3 台以上のコンピューターを使用する場合には、スイッチというデバイスを追加してこの構成をスケールアウトする必要があります。スイッチとは、追加のマシンを結線するための複数のイーサネットポートが搭載された専用デバイスです。このような構成はローカルエリアネットワーク (LAN) と呼ばれています。

スイッチにより、OSI モデルのレイヤー 2 に上がり、下層のレイヤー 1 よりもインテリジェントな機能が適用されます。各 NIC には、ハードウェアに割り当てられる一意な MAC アドレス番号があり、この番号を使用することにより、同じスイッチに結線されたマシンが相互に認識できるようになります。

スイッチは、どの MAC アドレスがどのポートにプラグインされるかのリストを管理するので、コンピューター間でデータ送信を試みると、スイッチは各 NIC がどこに配置されているかを認識し、正しい宛先にネットワークトラフィックを伝送するための回路を調整します。

2.1.1. 複数の LAN の接続

2 つの別々のスイッチ上で 2 つの LAN を使用している場合には、以下の方法で、それらのスイッチを接続して相互に情報を共有することができます。

トランクケーブル
トランクケーブルと呼ばれる物理ケーブルを 1 本使用して、2 つのスイッチを直接接続することが可能です。この構成では、トランクケーブルを各スイッチのポートに差し込んでから、それらのポートをトランクポートとして定義します。これで 2 つのスイッチが 1 つの大きな論理スイッチとして機能し、接続されているコンピューター同士が相互に検出できるようになります。このオプションはあまりスケーラブルではないため、より多くのスイッチを直接リンクすると、オーバーヘッドが問題となります。
ルーター

ルーターと呼ばれるデバイスを使用して、各スイッチからケーブルを接続します。これにより、ルーターは両スイッチで設定したネットワークを認識するようになります。ルーターに結線した各スイッチはインターフェースとなり、ネットワークのデフォルトゲートウェイとして知られる IP アドレスが割り当てられます。デフォルトゲートウェイの「デフォルト」とは、宛先のマシンがデータの送信元と同じ LAN 上にないことが明らかな場合のトラフィックの送信先のことです。

各コンピューターにデフォルトゲートウェイを設定すると、トラフィック送信のために、他のネットワーク上にある全コンピューターを認識する必要がなくなります。これで、デフォルトゲートウェイのみにトラフィックが送信されるようになり、そこからの処理はルーターが行います。ルーターは、どのネットワークがどのインターフェースに存在するかを把握しているため、指定の宛先に、問題なくパケットを送信することができます。ルーティングは、IP アドレスやサブネットなどの一般的に知られている概念と同様に、OSI モデルのレイヤー 3 で機能します。

注記

この概念は、インターネット自体の仕組みと同じです。さまざまな組織で稼働する多数の個別ネットワークはすべて、スイッチやルーターを使用して相互に接続しています。トラフィックは適切なデフォルトゲートウェイを辿っていくと、最終的に適切な宛先に到着します。

2.1.2. VLAN

仮想ローカルエリアネットワーク (VLAN) により、同じスイッチ上で実行されるコンピューターのネットワークトラフィックを分割することができます。ポートが別のネットワークのメンバーとなるように設定することで、スイッチを論理的に分割することができます。この構成では、ポートをミニ LAN 化することによって、セキュリティーの目的別にトラフィックを分離することができます。

たとえば、スイッチにポートが 24 個ある場合に、ポート 1 から 6 までは VLAN200 に所属し、ポート 7 から 18 までは VLAN201 に所属するように定義することができます。VLAN200 に接続されているコンピューターは、VLAN201 のコンピューターと完全に分離され、直接通信できなくなります。2 つの VLAN 間のトラフィックはすべて、2 つの別個の物理スイッチであるかのようにルーターを通過する必要があります。また、ファイアウォールを使用して相互通信可能な VLAN を決定することにより、セキュリティーを強化することも可能です。

2.1.3. ファイアウォール

ファイアウォールは、IP ルーティングと同じ OSI レイヤーで動作します。多くの場合、ファイアウォールはルーターと同じネットワークセグメントに存在し、全ネットワーク間で移動するトラフィックを制御します。ファイアウォールは、トラフィックがネットワークに出入りできるかどうかを規定する事前定義済みのルールを使用します。これらのルールは粒度を高くすることが可能で、たとえば「VLAN 200 上のサーバーは、Web (HTTP) トラフィックを一方向に転送している場合にのみ、木曜の午後に限り、VLAN 201 上のコンピューターのみと通信できるものとする」というように定義することができます。

このようなルールを適用するには、ファイアウォールの一部でステートフルパケットインスペクション (SPI) も実行し、パケットのコンテンツを検証して、パケットの実際の内容がパケットが主張する内容と同じであることを確認します。ハッカーは、トラフィックを実際の内容とは別のものとして転送して、密かにデータを抜き出すことが知られており、SPI はこのような脅威を軽減する手段の 1 つです。

2.1.4. ブリッジ

ネットワークブリッジは、基本的には OSI モデルのレイヤー 2 で動作するスイッチですが、唯一の機能はルーターと同じように別々のネットワークに同時に接続することが可能なことです。

2.2. OpenStack のネットワーク

サービスおよび設定によって定義されるネットワークを除いた、OpenStack クラウドにおけるすべての基本的なネットワークの概念。これはソフトウェア定義ネットワーク (SDN) として知られています。仮想スイッチ (Open vSwitch) とルーター (L3 エージェント) により、インスタンスは相互に通信することができます。また、物理ネットワークを使用した外部との通信も許可することも可能です。Open vSwitch のブリッジは、仮想ポートをインスタンスに割り当て、送受信トラフィックを物理ネットワークに橋渡しすることができます。

2.3. 高度な OpenStack Networking の概念

2.3.1. レイヤー 3 高可用性

OpenStack Networking は、仮想ネットワークコンポーネントをホストする機能に特化した物理サーバーである中央ネットワークノードで仮想ルーターをホストします。これらの仮想ルーターは、仮想マシンの送受信トラフィックを誘導するため、環境の接続性を維持するのに不可欠です。物理サーバーは多くの理由から停止する場合があるため、ネットワークノードが利用できなくなると仮想マシンがその影響を受けやすくなる可能性があります。

この問題を軽減するために、OpenStack Networking は、レイヤー 3 の高可用性 (L3 HA) を採用し、仮想ルーターと Floating IP アドレスを保護する業界標準の VRRP を実装しています。L3 HA を使用すると、テナントの仮想ルーターは複数の物理ネットワークノードに無作為に割り当てられます。その 1 つはアクティブなルーターとして指定され、それ以外のルーターは、アクティブなルーターをホストするネットワークノードがオフラインになった場合に引き継ぐ準備が整ったスタンバイの役割を果たします。

注記

「レイヤー 3」は、OSI モデルにおいてこの機能が動作する層で、ルーティングおよび IP アドレス指定の保護に役立ちます。

詳しい情報は、『ネットワークガイド』の「レイヤー 3 高可用性」の項を参照してください。

2.3.2. Load Balancing-as-a-Service (LBaaS)

Load Balancing-as-a-Service (LBaaS) により、OpenStack Networking は、指定のインスタンス間で受信ネットワーク要求を均等に分散できるようになります。この分散により、インスタンス間でワークロードが共有され、システムリソースをより効率的に使用できるようになります。受信要求は、以下の負荷分散メソッドのいずれかを使用して分散されます。

ラウンドロビン
複数のインスタンス間で要求を均等にローテーションします。
送信元 IP アドレス
同じ送信元 IP アドレスからの要求は常に同じインスタンスへ送信されます。
最小コネクション
アクティブな接続が最も少ないインスタンスに要求が割り当てられます。

詳しくは、『ネットワークガイド』の「Load Balancing-as-a-Service (LBaaS) の設定」の項を参照してください。

2.3.3. IPv6

OpenStack Networking は、テナントネットワークで IPv6 アドレスをサポートしているので、仮想マシンに IPv6 アドレスを動的に割り当てるのが可能です。OpenStack Networking は、既存の DHCP インフラストラクチャーから IPv6 アドレスを受け取ることができるように、物理ルーターで SLAAC と統合することも可能です。

詳しくは、『ネットワークガイド』の「IPv6」の項を参照してください。