前回は、heartbeatに付属しているldirectordを使ってmasquerading型の負荷分散システムを構築するための方法について解説しました。今回はgatewaying型の負荷分散システムについて解説します。
はじめに
前回は、heartbeatに付属しているldirectordを使ってmasquerading型の負荷分散システムを構築するための方法について解説しました。今回はgatewaying型の負荷分散システムについて解説します。
以下の図は、今回LVSのgatewayingを使って構築する負荷分散システムのイメージです。
前回のmasqueradingの構成では、負荷分散サーバをルータのように使用していました。よって、サービスを提供するWWWサーバについては、負荷分散サーバとは別のネットワークを作成し、そちらに配置してあげる必要がありました。一方、今回の構成では負荷分散サーバとWWWサーバは同じネットワーク内に並列に配置されています。すでにWWWサーバがある場合には、その設定を少し変更するだけで負荷分散システムに移行することが可能です。
実サーバの設定
gatewaying型の構成では、実サーバにサービス用のIPアドレスがそのまま転送されます。そのため、実サーバでは自サーバのものではないIPアドレスを受け取って処理を行うように設定する必要があります。実サーバがNetfilterをサポートしたLinuxである場合、iptablesを使って簡単に設定を行うことができます。
# iptables -t nat -A PREROUTING -p tcp -m tcp -d 172.16.10.5 --dport 80 -j REDIRECT --to-ports 80
各オプションには次のように意味があります。
- -t nat
NATチェインにルールを設定します。
- -A PREROUTING
パケットを処理する前の段階でNATを実施します。
- -d 172.16.10.5 --dport 80
代表IPアドレスである172.168.10.5のポート80へのパケットを、処理対象とします。
- -j REDIRECT --to-ports 80
自サーバの80番ポートへNATを掛けて転送します。
ところで、このiptablesの設定は再起動すると失われてしまいます。毎回起動時に自動的に設定を有効化したい場合は、各システムのiptablesの自動起動設定への追加を行う必要があります。
この記事は参考になりましたか?
- 止まらないシステムはLinuxで作る!~オープンソースを活用したHAサーバ構築入門連載記事一覧
- この記事の著者
-
デージーネット 恒川 裕康(デージーネット ツネカワ ヒロヤス)
株式会社デージーネット 代表取締役。「より安全で」、「より快適で」、「より楽しい」インターネットの実現をテーマとして、クラスタシステムを使った高信頼サーバの構築、SPAM対策やウイルスチェック対策のためのソフトウェアの開発、携帯サイト向けのシステム開発など、オープンソースソフトウェアを活用した事業を展開して...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア