3 Minutes Networking Step-by-Step
No.18

ネットワークなぜなに講座

構築第18回サーバへの負荷を軽減しよう(3)

■ 構築問題 第十八問

おねーさん

おね〜さんと、

ほげたん

ほげたんのっ!!

おねーさん

3 Minutes Networking、

ほげたん

Step by Step !!

おねーさん

前回はリバースプロキシを使って、Webサーバへの負荷を軽減させたりセキュリティをアップしたり、したわけね。

ほげたん

通常の外部へのキャッシュじゃなくて、外部からのキャッシュだからリバースなんだね。

おねーさん

そゆこと。じゃ、もう1問負荷分散にからんだ問題を。

ほげたん

まだ負荷分散ってあるんだ?

おねーさん

そりゃもう。負荷分散はネットワークで絶対考えなきゃいけないことなんだからね。

Webサーバの負荷を分散しなさい

第十八問

[FigureSS18-01:第十八問]

  • 現在のネットワーク構成は第十四回の問題と同じとする
  • Webサーバへのアクセスの負荷を軽減する
  • Webサーバは会員制ページを使用しており、その認証が必要である
  • 会員制ページへのアクセスが最近増大しつつある
ほげたん

会員制ページ?

おねーさん

そう。

ほげたん

もしかして、今回の問題これがキーワード?

おねーさん

というか、前の問題から変わってるところはそこなんだから、そこがキーワード以外になりえないでしょ?

解答は非表示になっています。自分なりの答えができた方は表示させてください

■ 構築問題 第十八問 解答

ほげたん

え〜っと、会員制ページ。そこの利用が増大…。

おねーさん

会員制ページってことは、会員じゃないと入れないってことね。

ほげたん

うん、それはさすがにわかるよ。
「認証が必要」って問題文にもあるし。

おねーさん

ってことは、何を使うの?

ほげたん

認証プロトコル。それと…認証を暗号化するための、SSL

おねーさん

そうそう。SSLよね。HTTPS使わずして、会員制ページなんて今時考えられないもの。
SSLを使った状態で、負荷分散/軽減といえば?

ほげたん

SSLでの負荷分散/軽減……。
……、SSLアクセラレータ !!

おねーさん

うん。ページの暗号化/復号化を行うHTTPSは、サーバの処理能力を大幅に喰らい尽くすといわれてるわね。

ほげたん

「喰らい尽くす」って、なんか男前な表現するね、おね〜さん。

おねーさん

(ギロリ)

ほげたん

う、うん。うんうんうんうん。
喰らい尽くすよね、SSLの処理は。一説によると、サーバの処理が1/100ぐらいになるとかならないとか。

おねーさん

よって、サーバの処理能力を軽減するために、SSLアクセラレータを導入するわけね。
おーけーおけー。配置して。

ほげたん

こんな感じ?

ほげたんの解答

[FigureSS18-02:ほげたんの解答]

おねーさん

うんうん、アプライアンス型のSSLアクセラレータね。カード型もあって、サーバのスロットに追加する形になるわよね。

ほげたん

イメージ的には、「SSLを行うリバースプロキシ」でいいのかな?

おねーさん

う〜ん、あってるかあってないか微妙なところね〜。
暗号・復号化と、ポートの付け替えを行うのがその役割なんだけどね。

SSLアクセラレータの役割

[FigureSS18-03:SSLアクセラレータの役割]

ほげたん

HTTPS(ポート443)できた要求を、復号化して、HTTP(ポート80)に変えてWebサーバに渡すんだね。

おねーさん

そういうことよね。ポイントとしては、まぁ、いくつかあるんだけど。
まず、SSLアクセラレータは処理能力を維持するために、限界セッション数が決められてるのがほとんどなの。

ほげたん

へぇ。限界セッション数を超えた場合はどうするの?

おねーさん

カスケード接続して次のアクセラレータに流すの。例えば、100セッションが最大だとすると、こう。

SSLアクセラレータのカスケード接続

[FigureSS18-04:SSLアクセラレータのカスケード接続]

ほげたん

限界セッション数だけ処理して先送りするんだ。
へ〜。これがSSLアクセラレータのカスケード接続かぁ。

おねーさん

そゆこと。これにより、SSL処理をさらに負荷分散することになるわけね。

ほげたん

並列じゃなくて、直列に配置するんだね。なんか、面白いよね。

おねーさん

そう言われればそうかも。普通、負荷分散といえば、並列よね。
あぁ、そうそうそう、追加問題。

ほげたん

追加?

おねーさん

Webサーバも負荷分散したいから。ロードバランサを置いて?
サーバ2台に負荷分散ね。

ほげたん

うぇ? ロードバランサ?
えっと……ココ?

SSLアクセラレータとロードバランサ

[FigureSS18-05:SSLアクセラレータとロードバランサ]

おねーさん

なんでこの位置なの?

ほげたん

なんでって、それはSSLアクセラレータの前に置いたら、分散しないから。

おねーさん

じゃあ、アクセラレータが2台だったら? こうでもいいってこと?

SSLアクセラレータとロードバランサ・2

[FigureSS18-06:SSLアクセラレータとロードバランサ・2]

ほげたん

いい……んじゃないかな?

おねーさん

ポイントは、ロードバランサの割り振り方式とセッション維持ね。

ほげたん

割り振り方式? セッション維持?

おねーさん

特にセッション維持。

ほげたん

セッション維持ってあれだっけ。同じセッションの間は同一のサーバへ割り振るって奴だっけ。

おねーさん

そう。その方法は?

ほげたん

IPアドレスとか、Cookieとかで判別する?

おねーさん

うん。IPアドレスは割り振り法としては弱いわよね。Cookieはいいけど、SSLだとCookieは暗号化されてしまっているのでロードバランサは読み取れないのよ。

ほげたん

あぅ。そりゃまずいね。

おねーさん

なので、SSLアクセラレータで復号後に、振り分けを行う必要があるの。だから、バランサはアクセラレータの後ろになるってことね。

ほげたん

なるほど。

おねーさん

まぁ、SSLのセッションIDを使うっていう手もあるから、一概には言えないけどね。
あと、SSLアクセラレータ+ロードバランサっていうアプライアンスもあるから、そっちを使うとか。

ほげたん

セッションIDは暗号化されてないんだっけ?

おねーさん

されてないわよ。SSLのヘッダ部にあるからね。
他にもアプリケーションデータの部分の何かを使用する場合は、バランサよりアクセラレータを前に持っていくことがポイントね。

ほげたん

中身を読み取れるように、だね。

おねーさん

そゆこと。配置をよく考えること。必然性のない配置はないってことね。

ほげたん

了解だよ。

おねーさん

じゃ、また次回。 おね〜さんと、

ほげたん

ほげたんのっ!!

おねーさん

3 Minutes Networking、

ほげたん

Step by Step !! でした〜〜〜っ!!
まったね〜〜〜!!

3 Minutes Networking Step-by-Step No.18

管理人:aji-ssz(at)selene.is.dream.jp