このページの本文へ

前へ 1 2 次へ

アプリケーショントラフィック管理入門 第3回

サーバー以外の負荷分散や広域ロードバランシングを学ぶ

ますます高機能化するロードバランサーの技術

2010年03月29日 06時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

サービスの可用性を確保

 ロードバランサーの役割は、負荷を分散してパフォーマンスを引き上げるだけではなく、サービスの可用性を高めるのも重要だ。これに対しては、前回紹介したようにサーバー側への定期的にヘルスチェックを行ない、障害や高い負荷を抱えたサーバーを早い段階で把握する。その上で、振り分けるリクエストを動的に調整することで可用性を確保する。

 また、ロードバランサーをうまく使えば、サーバーの計画的な増設や設定変更にも無停止で対応できる。作業の時間だけ、ロードバランサー側でサーバーを振り分け対象から外せば、ユーザー側からはサービスが止まったように見えないわけだ。この際、ロードバランサーでは振り分けの再開時にリクエストを急激に増やさないように調整する「スロースタート」の機能や、保守作業中も処理能力が落ちないよう代替のサーバーに自動的に振り分ける機能などを持っている。現場の声を反映させた細やかな機能といえるだろう。

WAN回線の負荷

 分散サイトの可用性を考えれば、冗長化はサーバーやセキュリティ機器だけではなく、WAN回線も対象となる。通常のルーターの回線バックアップ機能では、WAN回線を二重化しておき、一方に障害等が発生した際には、ダイナミックルーティング等で自動的に迂回経路に切り替える(図3)。これに対してロードバランサーのWAN回線負荷分散を用いれば、ラウンドロビンや重み付けのほか、回線コストや到達までのホップ数(ルーターの数)、接続先のサーバーのレスポンスタイム、転送容量などの値(メトリック)を条件にした高度な負荷分散が可能になる。

図3 ロードバランシングのWAN回線の冗長化機能

 たとえば、帯域の80%を使い切ったら、別のWAN回線を用いるとか、もっともコストのかからない回線を用いてトラフィックを転送するといった柔軟な経路制御が実現できる。また、一方のWAN回線のみを用いるアクティブ/スタンバイの構成だけではなく、複数の回線を同時に利用するアクティブ/アクティブの利用形態にも対応する。

 これに加え、前回紹介した帯域制御や圧縮などWANでの高速化処理などを追加し、製品としての付加価値を高めている。

統合的トラフィック管理装置への進化

 このようにロードバランサーでの処理には、レイヤ3のアドレス情報に留まらず、アプリケーション層のデータの解析が必須となる。Webサーバーの負荷分散であればURLやHTTPヘッダ、クッキー、セッションID、XMLなどを精査することで、はじめて適切なサーバーに振り分けることができる。

 それに留まらず、ロードバランサーは通信データを直接書き換えることまで行なう。ロードバランサーは本来1対1で通信しているクライアントとサーバーの間に割り込んで、パケットの転送を制御する。そのため、前回紹介したセッション維持の機能では、サーバーの情報をクッキーに埋め込むような処理を行なって、通信に矛盾が生じないようにしている。

 このようにロードバランサーは進化の過程で、アプリケーション層のデータの参照や書き換えを行なえる機能を取得していく。アプリケーショントラフィックの挙動に合わせて、ユーザーのパケットを振り分け、柔軟にコントロールすることが可能になったのだ。この結果、古典的な負荷分散のみが目的ではない統合的なトラフィック管理装置という意味で、「アプリケーションスイッチ」「ADC:Application Delivery Controller)」といった言い方もされるようになった。

 とはいえ、単一のハードウェアに複数の機能を搭載した統合型の製品だけではなく、ロードバランシングのみに絞ることで価格を落としたり、セキュリティ製品と統合したり、各ベンダーの実装はさまざまだ。

 次回はサーバーの処理を肩代わりするオフロード技術について解説する。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事