
ロードバランサのhttpリクエストについて
ロードバランサ経由でWebシステムにアクセスする方法を検討している者です。
以下の構成を組んでいるところです。
############################################
Webシステムサーバ2台
ロードバランサ1台
クライアント5台
############################################
そこで、ロードバランサを下記のとおり設定しました。
############################################
ロードバランサIP:10.10.10.100
バーチャルサーバIP:10.10.10.1
リアルサーバ1IP:10.10.10.2
リアルサーバ2IP:10.10.10.3
############################################
Webシステムサーバがリアルサーバ1とリアルサーバ2になり、それぞれを負荷分散する予定です。
現在の現象としては、クライアントマシンのブラウザから「http://10.10.10.2/」や「http://10.10.10.3/」でアクセスするとWebシステムに接続できるのですが
「http://10.10.10.1/」で接続してもアクセスできません。
『Webページが見つかりました。応答を~』というのは出るのですが、それ以降何の変化もなく、最終的にページが表示できない旨のメッセージが表示されます。
統計データの機能がロードバランサについていたのでそれを見ていると、どうやらhttpリクエストはロードバランサとして受信しているようなのですが
そのリクエストが成功していないみたいです。
ロードバランサの設定として、あるいは一般的にでも構いませんので、httpリクエストが通らない理由のようなものが考えられればご教示下さい。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
恐らく、サーバのレスポンスが、ロードバランサを経由しないで、
クライアントに直接応答されているのではないかと思います。
設定から察するに、リクエストは以下のような流れになるかと思います。
リクエスト:
クライアント -> ロードバランサ -> サーバ
このとき、サーバに届いたパケットのアドレスは以下のようになります。
Source IP: クライアント
Destination IP: サーバ
ポイントは、Source IPがクライアントのIPアドレスとなっていることで、
このようなリクエストになると、サーバから見たクライアントは、
同一ネットワークにある機器のため、レスポンスは、以下のように
送信元(ロードバランサ)ではなくクライアントに直接応答してしまいます。
レスポンス:
サーバ -> クライアント
クライアントとしては、突然わけのわからないIPからレスポンスが
帰ってきたためにRSTを返してしまうというわけです。
この対策としては、ロードバランサ側にSNATを設定する方法などが考えられます。
ロードバランサの設定は、サーバに以下のようなIPアドレスで
リクエストが送信されるように設定すると良いかと思います。
Source IP: ロードバランサ
Destination IP: サーバ
この回答への補足
なるほど、同一ネットワークだと直接返してしまったりもするんですね。
確かに、Webサーバには「GET HTTP/1.1 200」とログが残っていたので
サーバへはリクエストがいっていて、サーバからロードバランサ方面への送信で問題があるのかもしれません。
SNATの設定については試みたいと覆います。
WebサーバにrouteコマンドでクライアントIPに対するゲートウェイをロードバランサIPにしてやることで最終的にうまくいきました。
ありがとうございました。
No.3
- 回答日時:
LBは何を利用していますか?
ブリッジで利用する場合に、ARP関連の問題でリアルサーバーに追加設定が必要な場合があります。
WebサーバーのOSが何かが不明ですが、パケットキャプチャで
通信が来ているかどうか、どのように返しているかを確認してみてはどうでしょう?
この回答への補足
LBはA10ネットワークスのAXシリーズを使用してます。
ARP関連ですか、なるほど。確認してみようかと思います。
ちなみにWebサーバのOSはWindowsなのですが、Webサーバのログを見ると、httpリクエストに対して下記のログが残ってました。
10.10.10.100 GET HTTP/1.1 200 38
httpリクエストは来ていますが、その返答がどこかで落っこちてるのかな?と思っています。
WebサーバにrouteコマンドでクライアントIPに対するゲートウェイをロードバランサIPにしてやることで最終的にうまくいきました。
ありがとうございました。
No.2
- 回答日時:
ロードバランサを使う場合は外部側とwebサーバ側は別のネットワークにするんじゃないでしょうか。
そうでないと外部側とweb側のトラフィックが同じ経路を使うのでスループットが低下します。
この回答への補足
確かに、ロードバランサ用の別ネットワークのIPも、ロードバランサとWebサーバ達には割り当てています。
ただ、うまくいかなかったので、同一ネットワークのIPで試してるところです。。。
ちなみに、http://10.10.10.100/でも、http://10.10.10.1/と同じ動きをします。。。
WebサーバにrouteコマンドでクライアントIPに対するゲートウェイをロードバランサIPにしてやることで最終的にうまくいきました。
ありがとうございました。
No.1
- 回答日時:
ロードバランサ側で最低限「10.10.10.1の80/TCP宛の通信を10.10.10.2の80/TCPならびに10.10.10.
3の80/TCPに振り分ける」というような設定が必要ですが、それは行ったのですか?この回答への補足
振り分けの設定は行っています。
作成したバーチャルサーバに対し、リアルサーバの割り当て設定を行ってます。
あと、補足ですが、ヘルスモニタでhttpプロトコルを指定して10.10.10.2や10.10.10.3を確認しても正常結果が返ってきています。。。。
すいませんが、心当たりがあればまた回答をお願いします。
WebサーバにrouteコマンドでクライアントIPに対するゲートウェイをロードバランサIPにしてやることで最終的にうまくいきました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
”Tortoise SVN” と ”Subversio...
-
サーバーというのとメインフレ...
-
「DNSサーバーを自動的に取得す...
-
ワークグループ設定のPCの名前解決
-
DNSサーバを設定したのですがns...
-
LinuxからWindowsのbatファイル...
-
WEB制作の工程管理について
-
同じ独自ドメインを2つのサーバ...
-
CPIの共用サーバで「Let's Encr...
-
Windows7のIISでFTPサーバ動作...
-
新規購入PC設定方法(社内ファ...
-
リモートデスクトップ接続でパ...
-
@me.comのアドレス取得の意味
-
SoftBank回線でiphoneを利用し...
-
TortoiseSVNでアクセスエラー
-
ワイヤーボンディングのスパー...
-
エラーメールで"too many hops"...
-
Red Hat ES 3にPHP5.2.5インス...
-
biglobe mail が14日でサーバー...
-
postfixでプララをリレーさせる...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「DNSサーバーを自動的に取得す...
-
DNSサーバを設定したのですがns...
-
サーバーというのとメインフレ...
-
”Tortoise SVN” と ”Subversio...
-
ワークグループ設定のPCの名前解決
-
同じ独自ドメインを2つのサーバ...
-
サーバルームの空気を換気したい
-
HULFTのコード変換について
-
APバッチサーバとWebAPサ...
-
プロキシサーバとDNSサーバにつ...
-
複数IPアドレスによるサーバ運...
-
複数台サーバのsshを一括管理し...
-
pingは通るけどサーバに繋がら...
-
社内でプロキシサーバ(Squid)の...
-
notes のメールがループし送れ...
-
subversion の通信、レスポンス...
-
ntpサーバの置き方
-
gitとgiteaの違いについて
-
ADサーバのスキーマ拡張の影響...
-
Permission deniedエラーについて
おすすめ情報