ロードバランサ基本講座 CONTENTS 1 ロードバランサの基本的な役割についてあらためておさらい 2 ロードバランサの歴史を紐解けばわかる、Web を支える BIG-IP の進化 ロードバランサ基本講座 1 ロードバランサの基本的な役割について あらためておさらい と思う。 「ロードバランサ」とはその名の通り、主 常稼働する Web サーバで処理を継続でき に Web システムにかかる負荷(load:ロー るので、サービスは無停止として運用可能 ド)を複数のサーバに分散させ、処理のバ だ。 図 2 ■アプリケーションレベルのチェック ランスを調整するための装置だ。日本語で ちなみに、ロードバランサが複数の Web 先ほど、ロードバランサは Web サーバの は一般的に「負荷分散装置」などと呼ばれる。 サーバに処理を分散させる際のアルゴリズ 死活監視を常に行っていると説明したが、 Web システム、特にインターネットに ムにもさまざまなものがあり、それらをう 製品によってはネットワーク接続が有効か サービスを公開しているシステムは、いつ まく使い分けることで、Web システム全 どうかのチェックしか行わないものもある どれだけの数のユーザーからアクセスを受 体のパフォーマンスや可用性を向上させる ので注意が必要だ。そのため、ネットワー けるかわからない。公開当初はさほどアク ことができる。あとの回で詳しく紹介する クは生きているものの、アプリケーションが セスがないサイトでも、何かのきっかけで が、BIG-IP は数あるロードバランサ製品の ダウンしているような障害は検知できない。 急に人気が出てアクセスが集中することも 中でも、数多くのアルゴリズムをサポート しかし、BIG-IP を含むいくつかの製品で 多い。そうした場合に備え、ユーザーから することで知られている。 は、アプリケーションが正常稼働している のアクセスをさばく Web サーバを複数台 用意しておき、システムの処理能力が不足 してきた場合には、サーバの台数を増やし ここだけは押さえておきたい ロードバランサのあの機能 かどうかを、アプリケーションサービスの レベルで細かくチェックできる。この機能 を活用すれば、予期せぬアプリケーション 障害によるサービスダウンを厳密に防げる。 て処理性能を維持できるようにしておくの ここまで説明してきた内容は、おそらく が一般的だ。 図 1 ほとんどの方がすでに理解しているかと思 このようなシステム構成をうまく機能さ う。しかし、ロードバランサのより具体的 ■サーバメンテナンス時の せるには、これら複数台の Web サーバを な機能レベルの話となると、意外と重要な トラフィック切り離し 束ねて、処理を効率的に割り振る仕組みが ポイントが抜け落ちていることが多い。そ ロードバランサの運用が始まると、最も 不可欠だ。この役割を担うのが、ロードバ こで、ロードバランサ製品を選定する上で 頻度の高い作業は、サーバ OS /アプリケー ランサだ。ユーザーからの Web アクセス も、あるいはすでに導入済みの製品をより ションのパッチ適用やバージョンアップな をまずはロードバランサ上に設定する仮想 うまく使いこなすためにも、ぜひ押さえて どに伴い、サーバをロードバランス対象か IP(バーチャル IP と呼ばれる)が一手に受 おきたいポイントをいくつか挙げてみたい ら切り離す作業だ。その際に、ユーザーか け 付 け、NAPT(Network Address and Port Translation)の機構を通じて配下の 適切な Web サーバに割り振る。この IP ア 図1 負荷分散装置(ロードバランサ)の価値 図2 ロードバランサの特徴/動作概要 ドレスとポート番号を対象とした、最も基 本的なロードバランス処理は、レイヤー 4 ロードバランシングなどと呼ばれている。 ただし、単に Web アクセスの負荷を分 散させるだけであれば、DNS ラウンドロビ ン(DNS サーバの設定を工夫し、一つのホ スト名への名前解決に複数の IP アドレスで 応答することで Web サーバへのアクセス を分散)という方法もある。つまり、わざ わざ高価なロードバランサ装置を導入する 必要はない。にもかかわらず、これだけロー ドバランサが普及している最大の理由は、 サービスダウンを回避する仕組みがあるか らだ。ロードバランサは、配下にある Web サーバが正常に稼働しているか否かを常に チェックしており(ヘルスチェック)、異常 があると判断した Web サーバに対しては 処理を割り振らず、別の正常なサーバに割 り振る。こうした仕組みによって、たとえ ある特定の Web サーバに障害が発生した としても、ユーザーからのアクセスは、正 2 ロードバランサ基本講座 らのアクセス処理を継続しているサーバを、 いう技術だ。これはもともと、BIG-IP の開 7 の処理によるロードバランサの処理動作の いきなり切り離してしまうとそのユーザー 発元である F5 ネットワークスが 2002 年 違いも、ぜひ 理解しておきたいポイントだ。 の処理が停止され、サービス障害となる。 に取得した特許技術だったが、現在ではほ その障害を防ぐためには、アプリケーショ とんどのロードバランサベンダーが F5 ネッ ■ SSL オフロード ンに対するユーザーセッションが一つ残ら トワークスとクロスライセンス契約を締結 SSL によりインターネット通信経路の暗 ず使われていないかをチェックする機能が することによって広く採用されている。 号化と Web サイト運営事業者の確実な認 必要となる。このような機能を備えている のは BIG-IP のみである。 証を行う際にも、ロードバランサの機能が ■レイヤー 7 トラフィック処理 (URI スイッチなど) 大いに役立つ。複数の Web サーバを運用 する場合、それぞれで個別に SSL 証明書を ■冗長化 さらに高度な負荷分散の方法として、「レ 入手・管理・更新する必要があり、往々に サービスダウン回避のためには、ロード イヤー 7 トラフィック処理」というものが して煩雑な作業が生じるが、これをロード バランサ自体の冗長化も欠かせない。ロー ある。「URI スイッチ」とも呼ばれる処理が バランサ上で集中管理できるのだ。 ドバランサは、ユーザーからの Web アク 広く使われているが、URI の内容に応じて、 また、暗号化された形で届いたデータの セスを一手に引き受けるため、その機能停 リクエストを特定のサーバ群に割り振ると 復号化処理は、Web サーバの CPU に少な 止はサービス全体のダウンに直結してしま いうものだ。 からぬ処理負荷を与える。また、2010 年 う。こうした事態を防ぐため、通常は 2 台 Web サイトでは通常、コンテンツやサー 頃から SSL 暗号化の鍵長を 1024 ビットか のロードバランサ機器で冗長化構成を組む ビスごとに開発・運用を担当する部門が異 ら 2048 ビットへ切り換えて暗号強度を高 のが一般的だ。 なる。そこで、個々のコンテンツ/サービ めることが普及したため、SSL 処理の負荷 しかし、各製品の仕様を詳しく調べてみ スごとにあらかじめ異なる URI を指定して が以前と比較して 5 倍に跳ね上がった。こ ると、障害発生時の待機系へ処理の引継ぎ おき、その内容を基にユーザーからのリク れをすべてロードバランサ上で集中処理す (フェールオーバー)に要する時間(一般的 エストを適切なサーバ群に自動的に割り振 ることで、Web サーバの処理負荷を大幅 には数秒〜数十秒)や、もともと本番系で ることで、開発や運用体制の独立性を高め に軽減できる。ロードバランサ製品には、 処理していたコネクションやユーザーセッ 効率的なサイト運用をすることができるの SSL の暗復号化処理専用チップを搭載した ションをどれだけ引き継げるか(コネクショ だ。 この URI スイッチを実施するためには、 ものも多い。 ンおよびセッションミラー処理)といった 先述の L4 ロードバランシングとは異なり、 点に、意外と違いがあることがわかる。こ クライアントからの TCP コネクションを こうして、あらためてロードバランサの れらの違いは、そのままサービスダウンの サーバの代理として終端し、HTTP GET リ 基本機能を整理してみると、わかっていた 時間を如何に短縮できるかに繋がるので、 クエストヘッダのメッセージを解析して処 つもりでも意外と抜け落ちていたポイント 重点的にチェックする必要がある。ロード 理する必要がある。レイヤー 4 とレイヤー があったのではないだろうか。 図 3 バランサ製品を選ぶ際には、これらの点に もぜひ留意したい。 図3 BIG-IP の概要:TMOS と各種モジュール群 ■パーシステンス 「パーシステンス」も、ロードバランサを 扱う上ではぜひ理解しておきたい機能だ。 これは、Web アプリケーションのトラン ザクションの整合性を維持するために、特 定のユーザーからの Web アクセスを、あ る特定のサーバに割り振り続ける機能のこ とを言う。 ちなみに、現在、最も多く使われている パーシステンスの仕組みが、Cookie 情報 を利用した「Cookie パーシステンス」と 2 ロードバランサの歴史を紐解けばわかる、 Web を支える BIG-IP の進化 ロードバランサは別名「負荷分散装置」 散させ、サイト全体の可用性や安定性を保 負荷分散という基本機能にとどまらず、実 とも呼ばれるが、その名の通り、基本的な つことにある。前述ではそうしたロードバ にさまざまな機能を備えた製品が販売され 機能はサーバ(Web、メール、DNS サー ランサの基本的な役割について簡単に解説 て い る。 そ の よ う な 多 機 能 な 製 品 は、 バなど)に掛かるトラフィックの負荷を分 したが、実は今日のロードバランサ製品は、 Application Delivery Controller( 以 下、 3 ロードバランサ基本講座 ADC)と呼ばれている。そこで今回は、ロー ライアントから BIG-IP、および BIG-IP から このブレークスルーにより、BIG-IP は従 ドバランサの歴史やここ 10 年ほどの間に サーバの通信を完全に独立させ、すべての 来のロードバランサ製品とは比べ物になら 起こったロードバランサの進化の歴史を プロトコルをフルスタックで理解できる「フ ないほど大きな進化を遂げた。リクエスト ざっと振り返りながら、ADC と呼ばれるに ルプロキシ」として設計され、世に登場し とレスポンスの双方向トラフィックのプロ 至った背景や役割について、改めて確認し たのだ。つまり、クライアントとサーバの トコルヘッダやアプリケーションペイロー てみたい。 間のパケットを単に中継するのではなく、 ドを対象とした、よりきめ細かな処理が可 サーバの「代理」としてクライアントと通 能となり、負荷分散処理の自由度は劇的に 信し、一方でサーバとの間にまったく別の 向上した。しかしそれ以上に大きかったの ロードバランサから ADC へと 進化を遂げた転換点 TCP コネクションを確立し、この双方の が、ロードバランサが負荷分散以外の機能 負荷分散という基本機能を備えたロード TCP コネクションを BIG-IP がつなぎ合わ を担う道を切り拓いたことだった。 バランサ製品が初めて世に登場したのは、 せる(クライアントからすると BIG-IP が 今から 17 年ほど前(1996 年頃)のことだ。 サーバ、サーバからすると BIG-IP がクライ その後、間もなくして 1990 年代後半には、 アントとして通信している)という、まっ 米国でいわゆるドットコムカンパニーと呼 たく新たなアーキテクチャを確立したのだ。 そうした機能の 1 つが「Web アプリケー ばれるインターネットをビジネスの中心に F5 ネットワークスが「アプリケーション・ ションの高速化」だ。BIG-IP がアプリケー 据えたスタートアップ企業が相次いで登場 フルプロキシ」と呼ぶ、この新たなアーキ ション・フルプロキシを導入した 2004 年 し、E コマースサイトなどに負荷分散装置 テクチャは、ロードバランサ製品の可能性 からの数年間は、インターネットビジネス を導入するケースが目立つようになった。 を大きく押し広げることになった。従来の が日本で根付いてきた時期と重なる。Web ドットコムブームは時を同じくして日本に ように単にパケットを中継するだけでなく、 サイトを通じて大きな売り上げを稼ぐ企業 も飛び火し、米国と同じくインターネット アプリケーショントラフィックの終端装置 が増加した結果、サイトのレスポンスタイ ビジネスブームが起きた結果、多くの企業 として L4 〜 7 のプロトコル処理、および ムがそのまま売上額の多寡に直結するよう が Web 技術をベースとしたポータルサイ アプリケーションデータすべてに介入でき になってきた。つまり、Web アプリケーショ トや E コマースサイトなどを立ち上げた。 るようになったことで、ネットワーク機器 ンのパフォーマンスが、より一層、重要視 こ う し て「 ビ ジ ネ ス イ ン フ ラ と し て の からアプリケーショントラフィックをより されるようになってきたのだ。 図 5 Web」が初めてクローズアップされるに伴 きめ細かく、かつ積極的に制御することが い、サイトの可用性やスケーラビリティを 可能になったのだ。 図 4 Web アプリケーション高速化の 機能を新たに搭載 また、この時期は同時に、多くの企業が 確保するための技術として、ロードバラン サが一気にクローズアップされることと なった。「BIG-IP」を筆頭とするロードバラ 図4 F5 ならではの「アプリケーションフルプロキシ・アーキテクチャ」 図5 プラグイン化されている F5 BIG-IP 製品群 ンサ製品が世の注目を集めるようになった のは、まさにこの時期だ。 以降、ロードバランサはミッションクリ ティカルな Web システムにおいて、なく てはならない技術となったが、2004 年に、 テクノロジーのブレークスルーが起こる。 それまでのロードバランサは、BIG-IP を含 めて、流れていくパケットの IP アドレス / ポート番号 /HTTP などのデータを抽出・解 析し、トラフィック振り分けなどの処理を 行うものだった。ロードバランサを介して 通信はするものの、クライアントからする と基本的にはオリジナルのサーバと通信し ている状況として動作しており、Packet by Packet の処理を前提とした設計だった。 逆に言えば、ロードバランサ自身がプロト コ ル の 終 端 装 置 と し て、TCP/IP や HTTP の処理を実行するものではなかった。 しかし、2004 年に F5 ネットワークスが リリースした「BIG-IP Ver.9 TMOS」は以 前の Packet by Packet の処理を前提とし た設計を覆し、クライアントとサーバの間 でプロトコルの終端装置として動作し、ク 4 ロードバランサ基本講座 それまで自社内で運用していた業務システ アドバイザリ・サービスを提供している第 メータデータの妥当性をチェックすること ムを次々とデータセンターに移行させ、シ 三者機関のガートナー社は、BIG-IP の事を で不正なデータが Web アプリケーション ステムの集約を進めていた時期とも重なる。 ロードバランサとは呼ばず「Application に送信されることを防止する。Web アプ システム集約は、その運用管理コストを効 Delivery Controller(ADC)」という新た リケーションが完全にセキュアコーディン 率化する上では大きな効果があったが、そ なカテゴリの製品として呼ぶようになる。 グされていれば良いのだが、実情はかなり の半面、クライアントとサーバとの間の物 その名の通り、ネットワークを経由してア 困難であり脆弱性が潜んでしまう。その脆 理的な距離が伸びたことで遅延が増加し、 プリケーションを配信する際の制御をする 弱性を BIG-IP の機能で対策できる。この機 アプリケーションのスループット低下とい ためのデバイスとして、新たに位置付けら 能は、いわゆる「WAF(Web アプリケーショ う副作用も生むことになった。 れたのだ。 ン・ファイアウォール)」であり、アプリケー さらにビジネスのグローバル化が進む中 この過程で、アプリケーション高速化と ションフルプロキシ・アーキテクチャがあっ で、海外拠点から日本国内の Web アプリ 並んで新たに加わったのが、セキュリティ てこそ実現された技術だ。 図 6 ケーションに遠隔からアクセスしたいとい 関連の機能だ。この背景には、やはり先ほ 特に 2005 年頃から、SQL インジェクショ うニーズも一般化している。この場合、ア ど挙げた 2004 年のアーキテクチャ変更が ン攻撃といったアプリケーションの脆弱性 プリケーションのスループット低下はさら ある。アプリケーション・フルプロキシの を突いたセキュリティ攻撃が増すにつれ、 に深刻な問題となる。 採用で、プロトコル処理の自由度が大幅に セキュリティ機器としての ADC の役割も こうした課題を解決するために考え出さ 増し、Web アプリケーションの中身をよ 年々高まっている。 れたのが、アプリケーション・フルプロキ り細かく精査できるようになった結果、こ 最近では ADC を負荷分散装置としてで シを活用して Web アプリケーションのパ れまでにはない新たなセキュリティ対策の はなく、セキュリティ機器としてとらえる フ ォ ー マ ン ス を 高 速 化 す る 技 術 だ っ た。 実装が可能になったのだ。 風潮も強まっている。ADC はアプリケー BIG-IP は前述のアーキテクチャ変更により、 もう少し具体的に言えば、ADC への進化 ションの手前に配置されるケースが多く、 アプリケーションレベルできめ細かく制御 によって、「Web アプリケーションの脆弱 アプリケーションサーバへのトラフィック する術をすでに手に入れていた。そこでこ 性」に対するセキュリティ対策が可能になっ の出入り口としてセキュリティ機能を実装 の強みを生かして、例えば Web のコンテ た。例えば、クライアントと Web アプリ するというコンセプトは、システム構成上、 ンツを BIG-IP で圧縮(HTTP 圧縮と呼ばれ ケーション間のセッション(cookie を利用 とても理にかなったアプローチと言える。 る)、さらにそのデータをキャッシュ(HTTP することが一般的)の妥当性をチェックす 技術革新を常にリードしてきた BIG-IP も、 キャッシュと呼ばれる)したり、あるいは ることで、セッションハイジャックを防止 ここ数年の間でセキュリティ関連の機能を BIG-IP が TCP の終端ポイントになること したり、クライアントから送信されるパラ 急速に強化しつつある。 で、回線のパケットロスや遅延により引き 起こされる TCP データ転送のパフォーマン ス劣化を解消する技術(TCP プロトコル最 図6 Web アプリケーション・ファイアウォール (BIG-IP ASM:Application Security Manager) 適化と呼ばれる)、近年ではビデオコンテン ツの解像度を回線環境にあわせて変更と いったさまざまな方法を駆使して、Web アプリケーションの高速化を実現したのだ。 セキュリティ機器としての ニーズの高まり こうした機能は、もはやロードバランサ 本来の役目である負荷分散を大きく越えた ものだ。事実、この頃から IT のリサーチ・ ※本書中の登録商標および商標は所有者に帰属します。本書は下部息会社マイナビが運営する「マイナビニュース」に掲載された記事を再編集したものです。© マイナビ 2014 お問い合わせ先 F5 ネットワークスジャパン株式会社 URL http://www.f5networks.co.jp/inquiry/ 5
© Copyright 2024 Paperzz