過去問ドリル

LinuCレベル4 システムアーキテクト 可用性の設計 問18

可用性の設計/負荷分散と障害の局所化

ECサイトのWebサーバー群の前段にロードバランサを置く。振り分けとヘルスチェックの設定方針として、適切でないものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「可用性の設計」に対応。実際の試験問題ではありません)

正解:D

解説

ロードバランサの振り分け方式は、サーバーの性能差や接続の特性に合わせて選びます。性能差があれば重み付き、接続の長さや処理時間がばらつくなら最小接続が偏りを抑えます。ヘルスチェックは、一時的な応答の遅れで外したり戻したりを繰り返さないよう、失敗・成功の連続回数に閾値を設けます(HAProxyのfall・riseなど)。CookieのようなHTTPの内容で振り分けるには、ロードバランサがHTTPを解釈できる必要があり、HTTPSならロードバランサでTLSを終端するL7の構成にしなければなりません。

選択肢ごとの解説

  • A誤り(正しい記述)。処理能力に応じた重みを付けると、性能の低いサーバーへの過負荷を避けられます。
  • B誤り(正しい記述)。接続が長く続く通信では、接続数を均等にする最小接続の方が、単純なラウンドロビンより負荷の偏りを抑えられます。
  • C誤り(正しい記述)。失敗と成功の連続回数に閾値を設けると、一時的な揺らぎでサーバーが振り分けから出入りを繰り返す事態を防げます。
  • D正しい(誤っている記述)。TLSを復号せずに中継するとHTTPのヘッダは暗号化されたままで、Cookieは読めません。Cookieで振り分けるにはロードバランサでTLSを終端するか、送信元IPアドレスによる固定など別の方式を使います。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く