第4章 IP アドレス使用のプランニング
OpenStack のデプロイメントでは、予想以上の数の IP アドレスが使用される可能性があります。本項は、必要な数のアドレスを適切に予測できるようにサポートすることを目的とし、さらに IP アドレスがどこで使用されるかを説明します。
VIP (別称: 仮想 IP アドレス): 仮想 IP アドレスとは HA サービスをホストし、基本的に複数のコントローラーノード間で共有される IP アドレスです。
4.1. 複数の VLAN の使用
OpenStack のデプロイメントを計画する際には、デプロイメントに使用するサブネットの数から開始します。この数をもとに、各アドレスをどのように使用していくかを割り当てる必要があります。複数のサブネットがあると、システム間のトラフィックを VLAN に分割することができます。たとえば、通常、管理または API トラフィックは、Web トラフィックにサービスを提供するシステムと同じネットワークをまた VLAN 間のトラフィックは、ルーター経由で伝送する必要があります。このルーターを利用することで、ファイアウォールを設置してさらにトラフィックの流れを統括する機会ができます。
4.2. VLAN トラフィックの分離
通常、異種のネットワークトラフィックをホストする場合には、別個の VLAN をトラフィックに割り当ます。たとえば、各種ネットワークごとに別の VLAN を指定します。当然ながら、外部ネットワークは外部の物理ネットワークにのみルーティングが可能です。Red Hat OpenStack Platform 8 では、DHCP サービスは director により提供されます。
本項で分離する VLAN は、すべての OpenStack デプロイメントで必要なわけではありません。たとえば、クラウドユーザーがアドホックの仮想ネットワークをオンデマンドで作成する必要がない場合には、テナントネットワークが必要ない可能性があります。また、各仮想マシンを他の物理システムと同じスイッチに直接接続するだけでいい場合には、プロバイダーネットワークに直接コンピュートノードを接続し、お使いのインスタンスでは直接プロバイダーネットワークを使用してください。
- プロビジョニングネットワーク: この VLAN は、PXE ブートで director を使用して新規ノードをデプロイするためだけに特化されています。OpenStack Orchestration (heat) は、OpenStack をオーバークラウドのベアメタルサーバーにインストールします。これらのサーバーは、物理ネットワークにアタッチされており、アンダークラウドのインフラストラクチャーから OpenStack Platform のインストールイメージを取得します。
内部 API ネットワーク: 内部 API ネットワークは、API 通信、RPC メッセージ、データベース通信経由で OpenStack のサービス間の通信を行う際に使用します。さらに、このネットワークは、コントローラーノード間の稼働メッセージの通信にも使用されます。IP アドレスの割り当てを計画する際には、各 API サービスには独自の IP アドレスが必要である点を念頭に置いてください。具体的には、以下のサービスに IP アドレスが必要です。
- vip-msg (ampq)
- vip-keystone-int
- vip-glance-int
- vip-cinder-int
- vip-nova-int
- vip-neutron-int
- vip-horizon-int
- vip-heat-int
- vip-ceilometer-int
- vip-swift-int
- vip-keystone-pub
- vip-glance-pub
- vip-cinder-pub
- vip-nova-pub
- vip-neutron-pub
- vip-horizon-pub
- vip-heat-pub
- vip-ceilometer-pub
- vip-swift-pub
高可用性を使用する場合には、Pacemaker による仮想 IP アドレスの物理ノード間の移動が可能でなければなりません。
- ストレージ: Block Storage、NFS、iSCSI など。理想的には、これはパフォーマンスの関係上、別の物理イーサネットリンクに分離します。
- ストレージ管理: OpenStack Object Storage (swift) は、参加するレプリカノード間でデータオブジェクトを同期するためにこのネットワークを使用します。プロキシーサービスは、ユーザー要求と基盤となるストレージ層の間の仲介インターフェースとして機能します。プロキシーは、受信要求を受け取り、必要なレプリカの位置を特定して要求データを取得します。Ceph バックエンドを使用するサービスは、Ceph と直接対話せずにフロントエンドのサービスを使用するため、ストレージ管理ネットワーク経由で接続を確立します。RBD ドライバーは例外で、このトラフィックは直接 Ceph に接続する点に注意してください。
- テナントネットワーク: Neutron は、VLAN 分離 (各テナントネットワークがネットワーク VLAN) または VXLAN か GRE 経由のトンネリングを使用した独自のネットワークを各テナントに提供します。ネットワークトラフィックは、テナントのネットワークごとに分割されます。テナントネットワークには IP サブネットが割り当てられおり、複数のテナントネットワークが同じアドレスを使用する場合があります。
- 外部: 外部ネットワークは、パブリック API エンドポイントと Dashboard (horizon) への接続をホストします。オプションでこれと同じネットワークを SNAT に使用することもできますが、必須ではありません。実稼働環境のデプロイでは、大抵の場合、Floating IP アドレスと NAT に別のネットワークが使用されます。
- プロバイダーネットワーク: これらのネットワークでは、インスタンスを既存のネットワークインフラストラクチャーにアタッチすることができます。フラットネットワークまたは VLAN タグでデータセンターの既存の物理ネットワークに直接マッピングするために、プロバイダーネットワークを使用することができます。これにより、インスタンスは、OpenStack Networking インフラストラクチャー外部のシステムと同じレイヤー 2 ネットワークを共有することができます。
4.3. IP アドレスの消費
以下のシステムは割り当てられた範囲からの IP アドレスを消費します。
- 物理ノード: 物理 NIC ごとに IP アドレスが 1 つ必要です。物理 NIC に固有の機能を割り当てるのが一般的な慣習です。たとえば、管理トラフィックと NFS トラフィックは、それぞれ 1つずつ物理 NIC が割り当てられます (時には複数の NIC を使用して冗長化の目的で異なるスイッチ間を接続します)。
- 高可用性の仮想 IP (VIP): コントローラーノード間で共有される各ネットワークに約 1 から 3 個ずつ割り当てられることが予想されます。
4.4. 仮想ネットワーク
これらの仮想リソースは、OpenStack Networking の IP アドレスを消費します。これらはクラウドインフラストラクチャーではローカルとみなされ、外部の物理ネットワークにあるシステムから到達できなくても構いません。
- テナントネットワーク: 各テナントネットワークには、IP アドレスをインスタンスに割り当てるためのサブネットが必要です。
- 仮想ルーター: サブネットに結線する各ルーターのインターフェースには IP アドレスが 1 つ必要です。
- インスタンス: 各インスタンスには、ホストされるテナントのサブネットからのアドレスが必要です。受信トラフィックが必要な場合には、指定の外部ネットワークから、追加の Floating IP アドレスを割り当てる必要があります。
- 管理トラフィック: OpenStack サービスと API トラフィックを含みます。Red Hat OpenStack Platform 8 では、仮想 IP アドレスが要件が軽減され、代わりに全サービスが共有する仮想 IP が少数になりました。API、RPC、データベースサービスは、内部 APIの仮想 IP で通信します。
4.5. ネットワークプランの例
以下の例では、7 つのサブネット (各サブネットのアドレス数) に対応するように複数のネットワークを割り当てています。
表4.1 サブネットプランの例
サブネット名 | アドレス 範囲 | アドレス数 | サブネットマスク |
---|---|---|---|
プロビジョニングネットワーク | 192.168.100.1 - 192.168.100.250 | 250 | 255.255.255.0 |
内部 API ネットワーク | 172.16.1.10 - 172.16.1.250 | 241 | 255.255.255.0 |
ストレージ | 172.16.2.10 - 172.16.2.250 | 241 | 255.255.255.0 |
ストレージ管理 | 172.16.3.10 - 172.16.3.250 | 241 | 255.255.255.0 |
テナントネットワーク (GRE/VXLAN) | 172.19.4.10 - 172.16.4.250 | 241 | 255.255.255.0 |
外部ネットワーク (Floating IP など) | 10.1.2.10 - 10.1.3.222 | 469 | 255.255.254.0 |
プロバイダーネットワーク (インフラストラクチャー) | 10.10.3.10 - 10.10.3.250 | 241 | 255.255.252.0 |
Comments