こんにちは。ニフティクラウドテクニカルアカウントエンジニアチームです。
今回はニフティクラウド上で実現するネットワーク構成のちょっとした工夫について記載したいと思います。具体的には、プライベートLANに所属するサーバーで複数の異なるネットワーク帯のIPを付与した構成の検証を行ってみます。以降に記載する実際の検証では次の構成を実現しています。
ニフティクラウドの仕様
ニフティクラウドでサーバーを作成するとグローバル側とプライベート側のNIC2つが割り当てられた状態で作成されます。その中でもプライベート側のNICは「プライベートLAN」オプションを使用し、プライベート側のNICをプライベートLANに適用することによりユーザー側で自由にIPアドレスを付与することが可能です。
お客様の要望
・各サーバーに複数のNIC(複数のIPアドレス)が欲しい。
・システム移行の案件で既存環境のままネットワークの体系を維持したい。
要望実現について
上記要望がありますが、ニフティクラウドの仕様ではどうしてもNICの数は増やすことはできません。。。
2021年1月現在、追加NICによりサーバーに追加のNICを付与することが可能となりました。追加NICの利用方法はブログ「NICを追加してみた(追加NIC機能)」も参考にしてください。
そのため本ブログはは追加NICの上限(1サーバーあたり6個など)を越えて利用したい場合の参考としてください。
しかし、プライベートLANに所属させたプライベート側のNICであれば自由にIPアドレスを付与することができるため、複数のIPアドレスを付与することが可能です。
FAQ:プライベートLAN利用時、1つのサーバーにプライベートIPアドレスは複数振れますか?
※共通グローバル、共通プライベートのNICには複数のIPアドレスの付与設定、staticのIPアドレスの設定は行わないでください。禁止事項に抵触します。 ニフティクラウド 禁止事項
ここまでは通常の仕様ページでわかるものとなります。以降にちょっとした工夫をご紹介します。
プライベートLAN作成時には以下のようにCIDRを指定します。 例:192.168.0.0/24
各仮想サーバーのプライベート側のIPアドレスも指定したCIDRにあったプライベートのIPアドレスを設定します。
例:192.168.0.5
複数のIPアドレスを設定する場合も同一のCIDRで設定する必要があると思われる方が多いかと思います。
例:192.168.0.5 192.168.0.6
実は各仮想サーバーのIPアドレスはプライベートLANで指定したCIDR通りにIPアドレスを設定することが必須という制限はありません。そのため以下のようなことが可能となります。
・プライベートLANで設定したCIDR
192.168.0.0/24
・仮想サーバーAに設定するプライベートIPアドレス
①192.168.0.5/24
②10.0.0.5/8
・仮想サーバーBに設定するプライベートIPアドレス
①192.168.0.6/24
②10.0.0.6/8
①は業務LAN用、②は管理用、バックアップ用などでネットワーク帯を分けることが可能です。そのため既存システムのIPアドレス体系を維持できる可能性があります。
また、プライベートLAN作成時に指定できるプレフィックス長は16~28ですが手動で仮想的に指定する分にはプレフィックス長を8で付与することも可能です。
ただし、以下を注意点として認識しておく必要があります。
NIC自体は一つであることは変わらない | バックアップでネットワーク流量を逼迫することを懸念としてネットワーク帯を分けたいなどの要望であればあまり意味を成さないことになります |
十分にネットワーク構成を検討する必要がある | ニフティクラウドのルーター、VPNゲートウェイなどはプライベートLANで設定したCIDR内のIPアドレスを指定する必要があります |
プライベートLANは1本である | あくまで1本のプライベートLAN内に複数のネットワークセグメントを設定している形になります |
また、ルーターとVPNゲートウェイはOS上の操作は不可のため、複数IPを付与することはできません。そのため、プライベートLANで指定したCIDR以外のIPアドレスでほかのネットワーク帯のIPアドレスと通信するためにはルーティング用のサーバー構築を行うなどの検討が必要です。
検証実施
これまでの記載が実現可能か確認するために、以下図の構成で実際に検証してみました。
1つのプライベートLAN上で複数の仮想IP(各IP異なるセグメント)を作成しています。 以下表にそれぞれのセグメントを記載します。
セグメント | ネットワーク帯 | 備考 |
---|---|---|
セグメントA | 192.168.0.0/24 | 実際にコントロールパネルより作成 |
セグメントB | 10.0.0.0/8 | - |
セグメントC | 172.16.0.0/16 | - |
セグメントD | 192.168.2.0/24 | - |
セグメントE | 192.168.3.0/24 | 共通セグメント |
セグメントF | 192.168.1.0/24 | コントロールパネルより作成(セグメントAとルーターで接続) |
複数のIPアドレスを付与する対象のOSとしては、Windows(サーバー①)とCentOS(サーバー②、③)どちらも検証しています。サーバー④はルーティング用のサーバーでCentOSで構築しています。仮想的に複数のネットワーク帯を実装するプライベートLAN(セグメントA(B~E))とは別のプライベートLAN(セグメントF)を作成し、プライベートLAN同士をルーターで接続して別のプライベートLANとの疎通も検証してみます。
各登場機器達のIPアドレスは以下で設定しています。
対象 | IPアドレス | 備考 |
---|---|---|
サーバー① | 10.0.0.2 | B:10.0.0/8セグメントのIPアドレス |
192.168.3.2 | E:192.168.3.0/24のIPアドレス | サーバー② | 172.16.0.2 | C:172.16.0.0/16セグメントのIPアドレス |
192.168.3.3 | E:192.168.3.0/24のIPアドレス | サーバー③ | 192.168.2.2 | D:192.168.2.0/24セグメントのIPアドレス |
192.168.3.4 | E:192.168.3.0/24のIPアドレス | サーバー④ | 192.168.0.2 | A:192.168.0.0/24セグメントのIPアドレス |
10.0.0.1 | B:10.0.0.0/8セグメントのIPアドレス | |
172.16.0.1 | C:172.16.0.0/16セグメントのIPアドレス | |
192.168.2.1 | D:192.168.2.0/24セグメントのIPアドレス | |
192.168.3.1 | E:192.168.3.0/24セグメントのIPアドレス | サーバー⑤ | 192.168.1.2 | F:192.168.1.0/24セグメントのIPアドレス | ルーター | 192.168.0.1 | A:192.168.0.0/24セグメントのIPアドレス |
192.168.1.1 | F:192.168.1.0/24セグメントのIPアドレス |
本構成で各機器に設定したルーティング情報は以下で設定しています。
対象 | デスティネーション | ターゲット(ゲートウェイ) | 備考 |
---|---|---|---|
サーバー① | 0.0.0.0/0 | 10.0.0.1 | デフォルトゲートウェイで設定 |
サーバー② | 0.0.0.0/0 | 172.16.0.1 | デフォルトゲートウェイで設定 |
サーバー③ | 0.0.0.0/0 | 192.168.2.1 | デフォルトゲートウェイで設定 |
サーバー④ | 192.168.1.0/24 | 192.168.0.1 | route add コマンドで設定 |
サーバー⑤ | 0.0.0.0/0 | 192.168.1.1 | デフォルトゲートウェイで設定 |
ルーター | 10.0.0.8/8 | 192.168.0.2 | ― |
172.16.0.0/16 | - | ||
192.168.2.0/24 | - | ||
192.168.3.0/24 | - |
ここまでで今回必要な構成自体は完成しました。
最後に各登場機器間でそれぞれpingの疎通が可能かどうかのテストを実施したところ、すべて問題無く疎通が可能なことまで確認できました。
※各機器でニフティクラウドファイアウォールは適切に設定しています。
まとめ
本検証の通り、各仮想サーバーに複数の異なるネットワーク帯のIPアドレスを付与できることがわかります。既存のIPアドレスの体系を維持したい要件が強い場合には選択肢の1つになると考えられます。 実際に本検証内容を利用し、以下のような構成で実装されているお客様もいらっしゃいます(下図を参照)。
この構成ではセキュリティ面を鑑みて、WEB/AP層、DB層のネットワーク帯を分けた形になっています。具体的な通信フローは以下のようになります。
・ご利用者様はL7LB(L7ロードバランサー(Brocade Virtual Traffic Manager))にグローバル側からアクセス
・L7LBからWEB/APサーバー「192.168.1.0/24」のネットワーク帯のIPアドレスに対して負荷分散を行う
・WEB/APサーバーからDBサーバーへは「192.168.2.0/24」のネットワーク帯を利用して通信を行う
注意事項
本検証内容に関してはOS以上の動作となり、お客様責任で実施いただく範疇になります。そのため、実装をご検討いただく場合は十分に検討/設計/検証いただくようお願いします。
ブログ中にもいくつか記載していますが、注意事項/制約事項などが多くあるため、それらを鑑みてご利用いただければと思います。
【注意事項/制約事項(ブログ中に記載した注意事項の再記載を含む)】
・共通グローバル、共通プライベートのNICには複数のIPアドレスの付与設定、staticのIPアドレスの設定は行わないでください。禁止事項に抵触します。
・あくまで1本のプライベートLAN内に複数のネットワークセグメントを設定している形になります。
・上記のとおり、プライベートLAN自体はあくまで1本となります。コントロールパネルのネットワーク図上では作成時に指定したCIDRの情報のみ見える形になります。
・コントロールパネル上でサーバーのIPアドレスを確認しても複数設定したIPアドレスのうち1つのみ表示されている状況になります。
-設計書等で明確に管理しておくなどの運用が必要になります。
・構成によっては、ルーティング用のサーバーを別途構築するなどの対応が必要です。
・ニフティクラウドのルーター、VPNゲートウェイなどのネットワークサービスの設定は原則プライベートLANで設定されるCIDRのみに制限されます。またOSの操作はできないため複数IPアドレスを付与することはできません。具体的には以下制限があります。
-ルーターのDHCPの払い出しレンジはプライベートLANで設定されるCIDRのみに制限される
-VPNゲートウェイでL3VPN接続(IPSec)の場合、対向拠点から受け付けられる通信もプライベートLANで設定されるCIDRのみに制限される
-ルーター、VPNゲートウェイともにルートテーブルでnext hopで指定できるのはプライベートLANで設定されるCIDRのみに制限される
【その他】
・VPNゲートウェイやダイレクトポート(専用線・閉域網 接続サービス)などを利用して拠点と接続する構成の場合、ルーティングの設定などネットワーク構成がより複雑となることが想定され、事前に緻密な設計が必要になります。
上記に記載した注意事項/制約事項などを把握していただき、本構成を実現する必要があります。
使いやすさやネットワーク図上での見やすさなどを優先されるのであれば、通常通りにニフティクラウドのサービスに則った形で構成した方が良い可能性があります。
[2021年1月22日追記:現在では追加NICが利用できるようになっています。詳しくは下記の記事をご覧ください。] blog.pfs.nifcloud.com