SSLアクセラレータやHTTPの最適化、セキュリティなど
サーバーの処理を肩代わりする「オフロード」とは?
2010年04月05日 06時00分更新
本連載では、ロードバランサーや帯域制御装置、WAN高速化装置などで用いられているアプリケーショントラフィック管理の技術について解説している。前回はQoSやキャッシング、ロードバランサーなどの技術を紹介したが、今回はサーバーの処理を肩代わりするオフロードの機能について見ていく。
本記事は「アプリケーショントラフィック管理入門」の第4回です。過去の記事も合わせてご覧ください。
サーバーの処理を肩代わりする
「オフロード」の必要性
ロードバランサーや統合的トラフィック管理装置を導入しても、アプリケーションの処理自体はサーバーに依存している。
ロードバランサーをレストランの給仕に例えれば、給仕さんはシェフ(=サーバー)の作業を見ながら注文を振り分けているだけで、シェフの仕事自体を担っているわけではない。素材を切ったり、焼いたり、盛りつけたりするのはあくまでシェフの仕事なのだ。そのため、全体の処理能力を向上させるには、やはりシェフの人数を増やすしかない。とはいえ、お客さんも美味しくて見栄えもよい料理を、いち早く食べたいと考えているわけだから、シェフの作業は増える一方だ。
Webサーバーに戻ってみよう。もともとWebサーバーは、クライアントのWebブラウザのリクエストに応じて、自身が抱えているHTMLファイルや画像ファイルを送り出すのが仕事だ。もちろん、掲示板などでは、ユーザーのリクエストに応じて動的にWebページを生成する必要がある。しかし、実際にはクライアントとのやりとりを行なうためには、HTTPのコネクション管理が必要になる。
また、コンテンツによっては帯域を節約するために圧縮する必要がでてくるし、コマースサイトではSSLでの暗号化を行なう必要がある。さらにファイアウォールやアンチウイルスなどをすり抜けた攻撃を防ぐ必要もある。近年は、こうしたセキュリティの課題が大きい。
こうした処理はWebサーバーに大きな負荷をかけており、接続するユーザー数が増えれば増えるほど、サイト全体を重くする要因となってしまう(図1)。
そこで生まれたのが、サーバーの処理の一部を統合型トラフィック管理装置で肩代わりする「オフロード」と呼ばれる機能だ。前回紹介したキャッシュも、サーバーの代わりに応答するという点ではオフロード技術の1つといえる。以下、SSLの高速化、HTTPの最適化、そしてセキュリティの確保という代表的なオフロード技術を紹介する。
SSLアクセラレータ
SSLはおもにWebで用いられているセキュアプロトコルで、1990年代に米ネットスケープ・コミュニケーションズによって開発されたものだ。SSLでは電子証明書を用いて通信相手の正当性を確認した後、通信を暗号化する。SSLを用いることで、悪意の第三者が通信を傍受することによる漏えいや改ざんを防ぐことができる。ほぼすべてのWebブラウザが対応しており、インターネット上でのセキュリティ技術としての地位を確立しているのはご存じのとおりだ。なおプロトコルはTLSとして標準化されている。
SSLはWebには不可欠な技術だが、通信を暗号化しなければならないため、Webサーバーに大きな処理負荷をかけることになる。クライアントと異なり、Webサーバーは複数のリクエストを同時に処理しなければならない。そこで登場したのが、こうしたSSLの処理をサーバーからオフロードする「SSLアクセラレータ」だ。
SSLアクセラレータは、本来Webサーバーが行なわなければならないSSLの鍵交換やデータの暗号化処理を専用ハードウェアで高速に行なう(図2)。従来、SSLアクセラレータは単体のアプライアンスやサーバー用のNICとして提供されていた。しかし、その後は統合型トラフィック管理装置の機能の1つとして搭載されるようになった。
第3回でも解説したとおり、トラフィックがSSLで暗号化されている途中にあるロードバランサーはパケットを解読できない。しかし、統合型トラフィック管理装置にSSLアクセラレータが組み込まれていると、クライアントのSSLセッションをサーバーに到着する手前で終端できるようになる。これにより、HTTPヘッダーやクッキーなどを読み取って、サーバーを振り分けたり、セッションを維持したりといった本来の処理が可能になるわけだ。
(次ページ、HTTPの最適化)
この連載の記事
-
第6回
ネットワーク
TCPの改良やキャッシング、圧縮でより速く -
第5回
ネットワーク
WANの遅延を抑えて、レスポンスアップする -
第3回
ネットワーク
ますます高機能化するロードバランサーの技術 -
第2回
ネットワーク
知っておきたいロードバランサーの基礎技術 -
第1回
ネットワーク
アプリケーションを快適に使うためになにが必要? -
ネットワーク
アプリケーショントラフィック管理入門<目次> - この連載の一覧へ