2012年 秋期 応用情報技術者試験 問5

ロードバランサを用いた負荷分散

C社は企業の健康保険組合向け旅行予約サイトを運営している。現在の旅行予約サイトの利用者数は,約20組合,約10万人であり,組合ごとの利用者数には20名から10,000名までばらつきがある。旅行予約サイトは,平日の昼食休憩時間(12:00~13:00)になるとアクセス数が急増する。利用者は,旅行予約サイトの会員企業にある自席のPC(以下,クライアントという)から所属企業のプロキシサーバ経由でC社の旅行予約サイトにアクセスする。

旅行予約サイトには,アクセス数の増大やシステム障害の発生によってWebページが表示できなくなる時間を,可能な限り短くすることが求められる。C社では,レスポンスタイムの改善と信頼性の向上を目的として,システムを再構築することにした。

C社情報システム部門のD君が,システムの再構築を担当することになった。

【再構築後のネットワーク構成】

再構築後のシステムでは,レスポンスタイムの改善と信頼性の向上のために,DNSサーバ及びWebサーバの二重化を行う。図1に再構築後のネットワーク構成を示す。

注記 a.b.c.111, x.y.z.11, x.y.z.12, x.y.z.21はグローバルIPアドレスを示す。

クライアントからC社の旅行予約サイトにアクセスできるようにするために,図1中のネットワーク機器及びサーバに次の設定を行う。ロードバランサに振分け先のIPアドレスとしてabを登録し,DNSサーバ(プライマリ)にC社の旅行予約サイトのURLに対応するIPアドレスcをゾーン情報(DNSサーバに登録されたIPアドレスやホスト名などの情報)の一つとして登録する。また,①クライアントがどちらのDNSサーバにIPアドレスを問い合わせても同一の結果を返せるような設定を,DNSサーバ(セカンダリ)に行う。

【ロードバランサを用いた負荷分散】

ロードバランサを用いてWebサーバの負荷分散を行う場合,クライアントからの初回のHTTP通信と2回目以降のHTTP通信を同一のWebサーバへ振り分ける必要がある。ロードバランサにはL4(Layer4)スイッチとして動作するものと,L7(Layer7)スイッチとして動作するものがあり,HTTP通信の振分け方が異なる。D君はこれらの違いについて調査した。

(1) L4スイッチとして動作するロードバランサ

L4スイッチとして動作するロードバランサは,送信されてきたIPパケット内の送信元IPアドレスとポート番号を使って,振分け先のWebサーバを決定する。振分け先の決まったIPパケットは,NAPTによるIPアドレス変換が行われ,対象のWebサーバに転送される。プロキシサーバを経由したクライアントとWebサーバの間の通信について,TCPコネクション開始時におけるロードバランサの振る舞いを図2に示す。

クライアントからプロキシサーバ経由でC社の旅行予約サイトにアクセスする場合,ロードバランサは,初回のHTTP通信についてはラウンドロビンでWebサーバを決定し,2回目以降のHTTP通信については初回と同じWebサーバに振り分ける。

ロードバランサからWebサーバ1に送信されるIPパケットは,送信元IPアドレスがa.b.c.111,宛先IPアドレスがfとなる。

D君は,②L4スイッチとして動作するロードバランサを用いた負荷分散では,大規模な組合からのアクセスが片方のWebサーバに集中し,Webサーバの負荷に偏りが生じるおそれがあると考え,L7スイッチとして動作するロードバランサを使用することにした。

(2) L7スイッチとして動作するロードバランサ

L7スイッチとして動作するロードバランサは,HTTP Header内のクライアント識別情報であるgやURLを用いて,振分け先のWebサーバを決定する。

振分け先が決まったら,ロードバランサがクライアントの代わりにWebサーバにアクセスし,HTMLコンテンツを取得してクライアントへ返信する。プロキシサーバを経由したクライアントとWebサーバの間の通信について,TCPコネクション開始時におけるロードバランサの振る舞いを図3に示す。

クライアントからプロキシサーバ経由でC社の旅行予約サイトにアクセスする場合,ロードバランサは,gやURLを用いて図3中の④の時点で振分け先のWebサーバを決定する。このような振る舞いによって,C社のような利用者特性をもつシステムの場合にも,クライアント単位で負荷を分散するので,Webサーバの負荷に偏りが生じることが少ない。

平成24年度 秋期 応用情報技術者試験 午後 問5 ロードバランサを用いた負荷分散