- PR -

WEBサーバーの冗長化

投稿者投稿内容
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2005-01-19 08:50
引用:

Mattunさんの書き込み (2005-01-18 23:43) より:
別ネットワークって条件を考えると、DNSで振り分けるのが無難な気がするし、
死活監視とそれに応じたDNSゾーン情報の変更を行う仕組みであれば、
httpセッションを監視する仕組みと、cronあたりのスケジューラと、
それらを連携させるためのシェルスクリプトを組んでしまえば、
そこまで難しいことしないでも実現可能だとは思います。



そうですね。ロードバランサーによる冗長化といっても、大抵は定期的にポーリングして応答がなければ障害とみなしているだけのことですから、DNSラウンドロビン+スクリプトとかで対応できなくもないですよね。

そういえば、以前にロードバランサーからのポーリングによるSSLのネゴが不十分だというエラーが数秒ごとにWEBサーバのログに記録されて難儀したことがありました。(このときはログレベルを上げて対応しました)
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2005-01-19 11:46
引用:

そういえば、以前にロードバランサーからのポーリングによるSSLの
ネゴが不十分だというエラーが数秒ごとにWEBサーバのログに記録
されて難儀したことがありました。(このときはログレベルを上げて
対応しました)


それってSSLのコネクションをL/BからWebサーバに向けて張ったということですか?
そのようにした理由は何かあるのでしょうか?流れ上、L/Bを否定する一因として
書かれてしまっている様に思いましたので、質問させて頂きました。


[ メッセージ編集済み 編集者: おばけ 編集日時 2005-01-19 13:00 ]
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2005-01-19 18:06
引用:

おばけさんの書き込み (2005-01-19 11:46) より:
それってSSLのコネクションをL/BからWebサーバに向けて張ったということですか?
そのようにした理由は何かあるのでしょうか?流れ上、L/Bを否定する一因として
書かれてしまっている様に思いましたので、質問させて頂きました。



そうですね、誤解を招く恐れがありますね。

SSLのコネクションをクライアントからロードバランサーを挟んでサーバと直接張っている
ために起こった問題であり、ロードバランサーを利用するが悪いということでは決してありません。

本来なら、クライアントとロードバランサーとの間にSSLアクセラレータなどを置くことによってロードバランサー内には暗号化されていないデータを通すのが一般的でしょうが、もともとSSLなしで運用していたサーバだということもあってコスト面等の問題があり、このような構成にしたまでです。

ちなみに、ロードバランサーはポート80と443をロードバランスするように設定されていますが、どちらのポートを利用した場合もWebサーバとどのようにネゴしているのかはよく知りません。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2005-01-19 22:44
引用:

本来なら、クライアントとロードバランサーとの間にSSLアクセラレータ
などを置くことによってロードバランサー内には暗号化されていない
データを通すのが一般的でしょうが、


そですね。私もそうやります。

引用:

もともとSSLなしで運用していたサーバだということもあってコスト面
等の問題があり、このような構成にしたまでです。


なるほど。了解しました。

まぁ、実際のところはL/Bって高くてなかなか使い辛いというのが
ありますよね。L/B自体も冗長化が必要になりますし、何だかんだと
コスト高になってしまうという。。。
未記人
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 70
投稿日時: 2005-01-20 08:52
SSLアクセラレータも安くはないし、ノードがやたらと増えるのも面倒なので使いません・・・。SSLアクセラレータの負荷分散、冗長化も必要になるし。
そんなにSSLの処理負荷って気になりますか。
ロードバランサでSSLを負荷分散するのも別に普通の構成だと思います。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2005-01-20 09:42
引用:

未記人さんの書き込み (2005-01-20 08:52) より:
そんなにSSLの処理負荷って気になりますか。



おっしゃる通り、私の経験からしても最近はサーバの性能も向上していることから、SSLの処理による負荷というのは1日に何千万件ものアクセスがあるようなサイトを除いてほとんど問題にならなくなってきていると思うので、負荷の観点だけから考えれば専用のハードウェアを導入する必要はあまりないように思えます。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2005-01-20 13:28
SSLアクセラレータではなく、L/BにSSLデコーダモジュールを入れます。
まぁ、確かに仰るとおり、WebサーバでSSLをデコードしても良いかも
しれません。

ただ、私のやった案件ではWebサーバを置かず直接クライアントが
APサーバにアクセスする構成だったため、APサーバの負荷を上げない
ために専用のモジュールを用意しました。

ちなみに、SSLをロードバランシングするとしたら、HTTPセッションの
パーシステンシーは考慮できますでしょうか?
未記人
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 70
投稿日時: 2005-01-20 15:36
引用:

おばけさんの書き込み (2005-01-20 13:28) より:
ちなみに、SSLをロードバランシングするとしたら、HTTPセッションの
パーシステンシーは考慮できますでしょうか?


SSLより低位のレイヤーでの負荷分散なので、IPアドレス単位でのセッション管理になりますね。
同じIPアドレスから来たパケットは同じサーバに転送する。
携帯電話のように動的にアドレスが変わるとかラウンドロビンプロクシに対しては、IPアドレスの上位何ビットかを見て判断する。

ロードバランサでもレイヤー2から7までいろいろタイプがありますからね。
まあそれぞれ要件と好みに応じて。

スキルアップ/キャリアアップ(JOB@IT)