ロードバランサ

2022-08-18 (木) 18:34:31

ロードバランサとは

名称

概要

  • SLB(Server Load Balancing)
  • 一つのサービスを、複数のサーバで分担させる。
  • スケールアウトによる冗長化で全体の性能向上を図る。

ロードバランシングの実現方法

ロードバランサの実現方法

  • ハードウェア
  • ソフトウァア

実装

  • グローバルIPアドレスが一つでよい。
  • DNSサーバにWebサーバではなくロードバランサを登録する。
  • ロードバランサがアクセスするWebサーバを振り分ける。
  • ロードバランサが単一障害点にならないように、ロードバランサの冗長化を考慮する必要がある。
  • ロードバランサがボトルネックになった場合は、ロードバランサのスケールアップが必要。
  • VIP(バーチャルIPアドレス)
  • VSG(バーチャルサーバグループ)、リアルサーバ、RIP(リアルIPアドレス)

ヘルスチェック機能

  • 正常に稼働しているサーバにのみアクセスする。
  • 停止しているサーバを負荷分散する対象から外す
  • 一定間隔でサーバの応答確認をする。

振り分ける方式

ラウンドロビン方式(round robin)

  • あらかじめ決められた順番で振り分ける
  • 決められた割合で割り振る方式は「荷重ラウンドロビン方式」

加重ラウンドロビン方式

  • サーバの処理能力に応じて振り分ける

セッション維持方式

ハッシュ

  • 接続元または接続先のIPアドレスのハッシュ値に応じて分散する。
  • 接続元のIPアドレスを使う場合、同じクライアントからの接続は、同じリアルサーバに分散する

最速応答時間方式

  • 応答が最も早いリアルサーバを選択

最小負荷方式

荷重ラウンドロビン

  • CPU負荷分散方式の場合、CPUの負荷が最も低いリアルサーバを選択

最小コネクション方式(least connections)

  • 接続しているコネクション数が最も少ないリアルサーバを選択

最小トラフィック方式

  • 一定時間での転送量が最も少ないリアルサーバを選択

種類

  • L4-NAT
  • L4-DSR
  • L7
  • L4とL7を併用することができる。

L4ロードバランサ

  • 始点IPアドレス、始点ポート番号
  • 終点IPアドレス、終点ポート番号

L7ロードバランサ

  • URL
  • Cookie(リアルサーバのIDを埋め込んで使う)
  • User-Agentヘッダ

ページの連続性について

ページに連続性がない場合

ページに連続性が必要な場合

  • 同じWebサーバに振り分けるようにする。
  • 連続性があるかどうかの判断する方法
    1.フォームの情報に付加して、それを読み込む。
    2.HTTPヘッダにcookieの情報(セッションID等)を付け、それを読み込む。

サービス、製品

  • HAProxy
  • mod_proxy_balancer
  • Nginx
  • POUND
  • Perlbal
  • NetScaler -Citrix

L4ロードバランサ

メーカー

  • F5
  • Citrix
  • A10 Networks

LVS

  • IPVS(IP Virtual Server)、L4ロードバランサに

NAT/DSR

  • NAT方式は、リクエストと同じロードバランサを経由して返す
  • DSR方式は、ロードバランサを経由しないで返す
  • Direct Server Return

NAT構成

  • ロードバランサが始点IPアドレスを書き換えない
  • ロードバランサが始点MACアドレスを書き換える
  • ロードバランサが宛先IPアドレスを書き換える
  • ロードバランサが宛先MACアドレスを書き換える

DSR構成

  • ロードバランサが始点IPアドレスを書き換えない
  • ロードバランサが始点MACアドレスを書き換える
  • ロードバランサが宛先IPアドレスを書き換えない
  • ロードバランサが宛先MACアドレスを書き換える

ロードバランサの冗長化

  • keepalived(死活監視)
  • VRRP(Virtual Router Redundancy Protocol)
  • フェイルオーバ
  • マスタルータ、バックアップルータ
  • アドバタイズメントメッセージ
  • プリエンプティブモード

関連用語