- - PR -
WEBサーバーの冗長化
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-01-19 08:50
そうですね。ロードバランサーによる冗長化といっても、大抵は定期的にポーリングして応答がなければ障害とみなしているだけのことですから、DNSラウンドロビン+スクリプトとかで対応できなくもないですよね。 そういえば、以前にロードバランサーからのポーリングによるSSLのネゴが不十分だというエラーが数秒ごとにWEBサーバのログに記録されて難儀したことがありました。(このときはログレベルを上げて対応しました) | ||||||||
|
投稿日時: 2005-01-19 11:46
それってSSLのコネクションをL/BからWebサーバに向けて張ったということですか? そのようにした理由は何かあるのでしょうか?流れ上、L/Bを否定する一因として 書かれてしまっている様に思いましたので、質問させて頂きました。 [ メッセージ編集済み 編集者: おばけ 編集日時 2005-01-19 13:00 ] | ||||||||
|
投稿日時: 2005-01-19 18:06
そうですね、誤解を招く恐れがありますね。 SSLのコネクションをクライアントからロードバランサーを挟んでサーバと直接張っている ために起こった問題であり、ロードバランサーを利用するが悪いということでは決してありません。 本来なら、クライアントとロードバランサーとの間にSSLアクセラレータなどを置くことによってロードバランサー内には暗号化されていないデータを通すのが一般的でしょうが、もともとSSLなしで運用していたサーバだということもあってコスト面等の問題があり、このような構成にしたまでです。 ちなみに、ロードバランサーはポート80と443をロードバランスするように設定されていますが、どちらのポートを利用した場合もWebサーバとどのようにネゴしているのかはよく知りません。 | ||||||||
|
投稿日時: 2005-01-19 22:44
そですね。私もそうやります。
なるほど。了解しました。 まぁ、実際のところはL/Bって高くてなかなか使い辛いというのが ありますよね。L/B自体も冗長化が必要になりますし、何だかんだと コスト高になってしまうという。。。 | ||||||||
|
投稿日時: 2005-01-20 08:52
SSLアクセラレータも安くはないし、ノードがやたらと増えるのも面倒なので使いません・・・。SSLアクセラレータの負荷分散、冗長化も必要になるし。
そんなにSSLの処理負荷って気になりますか。 ロードバランサでSSLを負荷分散するのも別に普通の構成だと思います。 | ||||||||
|
投稿日時: 2005-01-20 09:42
おっしゃる通り、私の経験からしても最近はサーバの性能も向上していることから、SSLの処理による負荷というのは1日に何千万件ものアクセスがあるようなサイトを除いてほとんど問題にならなくなってきていると思うので、負荷の観点だけから考えれば専用のハードウェアを導入する必要はあまりないように思えます。 | ||||||||
|
投稿日時: 2005-01-20 13:28
SSLアクセラレータではなく、L/BにSSLデコーダモジュールを入れます。
まぁ、確かに仰るとおり、WebサーバでSSLをデコードしても良いかも しれません。 ただ、私のやった案件ではWebサーバを置かず直接クライアントが APサーバにアクセスする構成だったため、APサーバの負荷を上げない ために専用のモジュールを用意しました。 ちなみに、SSLをロードバランシングするとしたら、HTTPセッションの パーシステンシーは考慮できますでしょうか? | ||||||||
|
投稿日時: 2005-01-20 15:36
SSLより低位のレイヤーでの負荷分散なので、IPアドレス単位でのセッション管理になりますね。 同じIPアドレスから来たパケットは同じサーバに転送する。 携帯電話のように動的にアドレスが変わるとかラウンドロビンプロクシに対しては、IPアドレスの上位何ビットかを見て判断する。 ロードバランサでもレイヤー2から7までいろいろタイプがありますからね。 まあそれぞれ要件と好みに応じて。 |