ロードバランサ基本講座

ロードバランサ基本講座
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