ロードバランサと負荷分散
ロードバランサ(LB)は、複数のサーバへの通信を振り分け、サーバごとの負荷を均等化するとともに、障害のあるサーバを切り離す装置である。Webシステムの可用性と拡張性を高めるために用いられる。試験では、振り分けの方式、障害の監視の範囲、セッションの維持という三つの観点が中心に問われる。
振り分けの方式と階層の違い
LBは、通信を処理する階層によって、レイヤー4方式とレイヤー7方式に大別される。レイヤー4方式は、IPアドレスやポート番号などの情報に基づいて振り分けるため、処理が軽い。一方、レイヤー7方式は、HTTPのヘッダやURL、Cookieなどアプリケーションの内容を見て振り分けるため、細かな制御が可能である。
振り分けの方式には、順番に割り当てるラウンドロビン、接続数の少ないサーバへ割り当てる最小接続方式、送信元IPアドレスのハッシュを用いる方式などがある。送信元IPアドレスに基づく方式は、同じ送信元の通信を同じサーバへ向けやすい一方で、送信元が偏ると負荷が偏る欠点がある。
障害監視とセッション維持
LBは、振り分け先のサーバが正常に動いているかを定期的に確認する。レイヤー3及びレイヤー4の方式では、サーバが応答するかどうかしか確認できず、アプリケーションが正しく動作しているかは判断できない。このため、障害の検知にはレイヤー7での監視が必要となる場合がある。
Webの業務では、ログイン状態などをサーバ側で保持するため、同じ利用者の通信を同じサーバへ送り続ける必要がある。LBはセッション管理テーブルに、クライアントと振り分け先の対応を記録し、後続のパケットを同じサーバへ転送する。振り分け先が途中で変わると、セッション情報を持たないサーバへ送られるため、セッションが維持できなくなる。
この節の続き
- 台数設計と冗長化の判断
- 実際の場面と試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む