• 2006/07/11 掲載

【NETWORK Guide】ネットワーク「改築」講座:Web高速化(4/4)

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
記事をお気に入りリストに登録することができます。
   
 

footnote------------------------------------
[*1] SYN フラッド
DoS攻撃の1つで、確立しないTCP接続を大量に試みる攻撃のこと。攻撃者はTCPセッションの確立に必要なSYNとACKパケットのやり取りで、最後のACKパケットを送信しない。そのためサーバは応答待ちのままリソースを消費する。

[*2 ] SQL インジェクション
SQL入力値をチェックしないと、入力中に不正なパラメータを持つSQL文を与え、データベースを不正に操作することを許してしまう。カカクコム事件はこれによりWebサイトの顧客データベースなどを盗まれたといわれている。

[*3 ] クロスサイトスクリプティング
Webページで動的にHTMLやXMLなどを生成する仕組みを持つ場合に、あるWebサイトに書かれているスクリプトが別のWebサイトへとまたがって(クロスして)実行される脆弱性のこと。XSSと表すこともある。

[*4 ] MTBF
Mean Time Between Failureの略。平均故障間隔。システムの信頼性を示す尺度の1つで、信頼性工学において用いられる用語。一般に半導体など電子機器は長く、ハードディスクなど機構部品は短いといわれる。

 

 
 昨年世間を大きく騒がせたカカクコムへの不正アクセス事件など、パフォーマンス改善と同じように、Webシステムに対するセキュリティ対策が非常に重要になっているので、ここで簡単に触れておく。

 負荷分散装置やアプリケーションフロントエンドなどのWeb高速化製品は、クライアントからのリクエストをいったん終端し、サーバとは別のHTTPセッションを形成する機能を持つ。これをディレイド・バインディング(Delayed Binding)と呼んでいる。ディレイド・バインディングによって、クライアントからの正しいHTTPリクエストのみをサーバに渡すことができるため、SYNフラッド[*1 ]などのDoS攻撃からWebサーバを防御することができる。

 また、SQLインジェクション[*2 ]やクロスサイトスクリプティング[*3 ]など、Webアプリケーションの脆弱性をついた攻撃は、HTTP通信としては問題ないため、通常のファイアウォールでは守ることができない。このため、Webアプリケーションを保護するための「Webアプリケーションファイアウォール」と呼ばれる製品が登場している。NetContinuumなどの専業ベンダーが取り扱うのはもちろん、F5は負荷分散装置である「BIGIP」とは別に「Traffic Shield」という製品を持っている。またキャッシュサーバベンダーであるBluecoatやNetAppは、現在Webアプリケーションセキュリティを前面に出してマーケティングを行っている。現状ここで紹介した製品ではWeb高速化機能は実装されていないが、いずれ機能的に統合されていくことになるだろう。

    Web高速化製品は、前回紹介したWAN最適化製品と異なり、対象プロトコルがHTTPおよびHTTPSと明確であり、また設置位置に悩むことは少ないかもしれない。そのため導入時の注意事項に加えて、いくつか機能選択のポイントも解説しておこう。

・現状のシステムの問題点を把握

 すでにあるシステムを更新/増強する場合には、まず現状のどこに問題があるのかを明確にすることが重要である。たとえばWebシステムの出入り口に当たるLANやWANの帯域使用率がどれぐらいか、WebサーバのCPU使用率がどれぐらいかなどだ。帯域使用率が高ければ圧縮機能が有効かもしれないし、回線使用率が低くてもCPU使用率が高ければ、TCPコネクション集約が有効かもしれない。

・要求性能の明確化

 現状の問題点をある程度把握したら、次にシステムに対する要求性能を明確にしたい。もちろん今何らかの問題が起きているならそれが最重要だが、それ以外に重視するのは信頼性の向上なのか、キャパシティの向上なのかなどを考えよう。また、導入すれば数年間は利用し続けるだろうから、数年後を見越した検討が必要であることはいうまでもない。

・システムキャパシティのテスト

 できれば、Webシステム自体が想定された性能をクリアしているかを確認しておきたい。同時に数千・数万クライアントが接続するシステムならばなおさらである。HTTP負荷テストツールとして、「SPIRENT Avalanche」(画面1)や「Mercury Load Runner」などがあるが、これらのツールは高価なためエンドユーザーではなかなか買えないかもしれない。

HTTP負荷テストツール

 そのような場合には、導入を担当したベンダーに相談することはもちろん、ツールのレンタルサービスや、インターネット越しでのテストサービスを提供しているところの利用を検討してみよう。自前で購入するよりは安価に上がるとはいえ、こうしたシステムテストのための予算を確保しておくことをおすすめする。

・冗長化するときの注意

 単一故障点をなくすためには、Web高速化製品も冗長化することが望ましい。しかし、予算の関係で冗長化できないときは、Web高速化製品自体の信頼性がWebサーバより十分高くあるべきだろう。もしMTBF[*4 ]が公開されていれば参考にすることもできる。もし公開されていなければ、ハードウェア構成などから推定する。選んだ機器がサーバアプライアンスなら、CPUやメモリ、ハードディスクなどその構成部品はWebサーバと変わらないことがあるため、Web高速化製品も冗長化したほうがよいかもしれない。残念ながらソフトウェア障害はまったく予測できないが、経験的にはハードウェア障害よりもその確率が高い。

   1998年に登場した負荷分散装置の市場は、インターネット上のWebサイトの負荷分散と信頼性向上から始まり、Webサーバ以外の用途やWANをはじめとするイントラネットでの積極活用など、その市場を着実に広げながら、現在でも安定して伸びている。

 IDC Japanの調査によると、Layer 4-7スイッチ(ロードバランサー)の日本国内市場は2004年に128億円で、2009年には232億円になると見られている(図7)。

IDC Japanの調査によるLayer4-7スイッチの市場予測(2004年)

 これは従来からの負荷分散機能だけでなく、今回紹介した新しい機能を包含したWeb高速化機器として、今後も成長を続けるということだ。ある調査会社によれば、2006年度には単純な負荷分散の市場は全体の10%になり、残りをアプリケーションフロントエンドが占めるとの見方もある。いずれにせよ、Web高速化への要求はますます高まっていくことになるだろう。

 今後、Webシステムを取り巻く最も重要なキーワードは「バーチャライゼーション」である。昨今ブレードサーバの需要が高まりつつあるが、その背景にはVMwareやMicrosoft Virtual Server、Xenといった仮想化ソフトを使って、1つのハードウェアで自由自在の構成をとる「サーバ仮想化」がある。さらにはルータやファイアウォール、負荷分散装置も仮想的に提供する、「ネットワーク・バーチャライゼーション」という考え方も出てきている。

 また、従来ネットワーク構築といえば、レイヤ2やレイヤ3の技術が中心であったが、ルータやスイッチなどの製品はコモディティ化が進み、前回のテーマであるWAN最適化や今回のテーマであるWeb高速化など、よりレイヤの高い技術や製品へシフトしつつある。ソフトウェアの世界ではSOA(サービス指向アーキテクチャ)が注目されているが、この流れはネットワークの世界へも広がりを見せている。ネットワーク業界のリーダーであるCiscoは、新たにSONA(サービス指向ネットワークアーキテクチャ)という概念を打ち出したのである。

 前述のバーチャライゼーションも、オンデマンドでリソースを配分するという意味では同じトレンドの中にあると考えてよいだろう。さらにはグリッドコンピューティングやオートノミック(自立型)コンピューティングなど、ネットワークとアプリケーションの境界がなくなりつつある今、企業のネットワークも大きな変革期を迎えているといえるのではないだろうか。

   
           
コスト削減/効率化のポイント

 導入時の注意事項でも説明したとおり、構築/更新するシステムへの要求性能をいかに適切に見積もるかが、最も重要である。低く見積もってしまうと、後から機器を追加・更新する余分なコストが発生する。逆に要求性能を高く見積もりすぎると、過剰投資になって、これもコストのムダになる。

 ここで紹介したサーバ負荷分散からバッファリングまでの技術進化を見れば、数年後にはまた新しい技術が登場する可能性が高い。そう考えれば、欲張りすぎないのが妥当だろうか。

 欲張りすぎないといえば、技術/機能についてもそうである。製品によっては一部の機能を実現するのに追加費用が必要なこともある。また多くの機能を同時に使おうとすると、見えないバグに当たることも少なくない。最終的に複数の技術を同時に適用するにしても、1つひとつその効果を確認することをおすすめする。

あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます