3.4. マルチポートサービスと Load Balancer Add-On
LVS ルーターはいかなるトポロジーでも、マルチポートの Load Balancer Add-On サービスを作成する場合は、追加の設定が必要になります。HTTP (ポート 80) および HTTPS (ポート 443) などのように異なるものの、関連するプロトコルをバンドル化するファイアウォールマークを使用することで、またはLoad Balancer Add-Onが FTP などの真のマルチポートプロトコルで使用される際に、マルチポートサービスは人為的に作成することができます。いずれのケースでも、送信先が異なるポートでも同じファイアウォール マークを付けていて同様に処理されるべきパケットを認識するために、LVS ルーターはファイアウォールマークを使用します。また、永続性と合わせると、ファイアウォールマークは接続が永続性パラメーターで指定されている時間内に発生する限り、クライアントマシンからの接続が同じホストに送信されることを確実にします。永続性を仮想サーバーに割り当てる方法の詳細情報については 「VIRTUAL SERVER サブセクション」 をご覧下さい。
残念ながら、実サーバー上で負荷バランスを取るために使用するメカニズムである IPVS は、パケットに割り当てられたファイアウォールマークは認識できますが、ファイアウォールマークを割り当てることはできません。ファイアウォールマークを割り当てる 作業はネットワークパケットフィルタである
iptables
で Piranha Configuration Tool の外部で実行される必要があります。
3.4.1. ファイアウォールマークの割り当て
送信先が特定ポートとなっているパケットにファイアウォールマークを割り当てるには、管理者は
iptables
を使用する必要があります。
このセクションでは、例として HTTP と HTTPS のバンドル方法を説明します。ただし、FTP も一般的に使用されるクラスタ化されたマルチポートプロトコルです。Load Balancer Add-On が FTP サービスに使用される場合には、設定方法の詳細について 「FTP の設定」 を参照してください。
ファイアウォールマークを使用する際の基本的ルールは、Piranha Configuration Tool でファイアウォールマークを使用しているプロトコルすべてに、ネットワークパケットにマークを割り当てるため同数の
iptables
ルールがなくてはならない、という点です。
ネットワークパケットのフィルタルールを作成する前に、既に他のルールが存在しないか確認します。これを行うには、シェルプロンプトを開いて、root でログインして以下を入力します。
/sbin/service iptables status
iptables
が実行されていない場合、すぐにプロンプトが再出現します。
iptables
がアクティブな場合、ルールセットが表示されます。ルールが存在する場合、以下のコマンドを入力します。
/sbin/service iptables stop
既存のルールが重要な場合、
/etc/sysconfig/iptables
の内容を確認して、保存する価値のあるルールを安全な場所にコピーしてから継続します。
以下のルールでは、同一ファイアウォールマーク 80 を、送信先がポート 80 と 443 上のフローティング IP アドレス n.n.n.n になっている着信トラフィックに割り当てます。
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 -m multiport --dports 80,443 -j MARK --set-mark 80
VIP をパブリックネットワークインターフェースに割り当てる際の指示については 「VIRTUAL SERVER サブセクション」 を参照してください。また、初めてルールを発行する前には、root でログインしてから
iptables
用のモジュールを読み込む必要があることに注意してください。
上述の
iptables
コマンドの n.n.n.n は、使用中の HTTP および HTTPS 仮想サーバーのフローティング IP で置き換える必要が あります。これらのコマンドは、該当するポート上の VIP が送信先となっている全トラフィックをファイアウォールマーク 80 に割り当てることと同様の効果があります。これが IPVS に認識され、適切に転送されます。
警告
上述のコマンドはすぐに効果を発揮しますが、システムを再起動すると維持されません。ネットワークパケットのフィルタ設定が再起動後に復元するようにするには 「ネットワークパケットフィルター設定の保存」 を参照してください。