問題
http://www.tomnetwork.net/zyousyo/kakomon/16141.htm
今日は設問3だけ
答え:
(1) コネクション数、セッション数、応答時間、CPU使用率など、webサーバを
監視状態を監視するための、基準となる測定項目について、適切に記述
していること。
(2) webサーバへのアクセスを制限し、販売システムの混雑状況を顧客へ通知するサーバへ
リクエストを振り分けることなどについて、適切に記述していること。
(3) 必要とする処理能力に合わせて、webサーバを順次追加していくことについて、
適切に記述していること。
LB (load balancer) ロードバランサ 負荷分散装置
webサイトのレスポンスの速さが確保できる。
可用性や耐障害性を高められる。
LBを使えば、サービスを止める事無くサーバの追加や削除ができる。
ファイヤウォール、メールサーバ、FTPサーバ、アプリケーションサーバ、
IDS、ウィルスチェックサーバ、VPNゲートウェイなど様々に領域に対する
導入も進んでいる。
(しくみ)
ロードバランサは、仮想のIPアドレスとポートを持っている。
NATと同じようなことをやっている。
(アルゴリズム)
ラウンドロビン 各サーバに順々に送る方式。
重み付けラウンドロビン 性能のよしあしに重みをつけ、
性能の良いサーバに多くのリクエストを割り振る。
優先順位 優先順位を設定し、アクセス量にしきい値を設け、
しきい値を超えたら、優先順位の低いサーバーに割り振るようにする。
一定以上のアクセスを、「エクスキューズサーバ」(しばらくおまちください、
などの文字を表示するサーバー)へ、導くために使われることが多い。
優先順位の高いサーバーでラウンドロビンを行い、しきい値を超えたら、
優先順位の低いサーバへ導くようにすることがよく行われている。
接続数 サーバの接続数を監視し、もっとも接続数の少ないサーバに割り振る。
サーバを新しく追加すると、そのサーバーに負荷が集中する。
応答時間のアルゴリズムと共に使われることが多い。
応答時間 測定用パケットを送り、応答時間によって割り振る。
接続数アルゴリズムと共に使用し、負荷を確かめながら、
動的に適切な負荷分散が行える。
HTTPヘッダー ヘッダー情報を読み割り振る。
URLをみて、CGIサーバに割り振ったり、携帯からなら、
モバイル用サーバに導いたりできる。
などなど・・・
ヘルスチェック サーバに問題があると即座にそのサーバへのアクセスを他に切り替える。
以下の3つの方法で行われている。
ping監視 パケットが届くかどうかは確認できるが、サービスが稼動しているか
どうかは確認できない。
レイヤ3レベル(ネットワーク層)でのチェック。
TCPポート監視 TCP接続ができるか確認する。しかし、正常な結果が返ってきている
かどうかはわからない。
レイヤ4レベル(トランスポート層)でのチェック。
アプリケーション監視 HTTP、FTP、SMTP、POP3など、様々なプロトコルで
リクエストして確認することができる。
レイヤ7レベル(アプリケーション層)でのチェック。
グローバルロードバランサ
複数のサイト(ミラーサイト)を一つのサイトに見せる、サイトの負荷分散。
webサイトのレスポンスを早くするためや、災害対応など。