LinuCレベル4 システムアーキテクト 可用性の設計 問21
可用性の設計/負荷分散と障害の局所化動画配信サービスのロードバランサを設計する。バックエンドサーバーは複数の異なるL3ネットワーク(別サブネット)に分散して置かれており、応答パケットがロードバランサを通過することがボトルネックになっている。最も適切なパケット転送方式はどれか。
当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「可用性の設計」に対応。実際の試験問題ではありません)
- ANAT方式に変え、ロードバランサが受信パケットの宛先IPをバックエンドIPに変換して転送し、バックエンドからの応答もロードバランサを経由してVIPに変換して返す
- BDirect Server Return方式に変え、バックエンドがクライアントへ直接応答できるようにする。ただしロードバランサとバックエンドが同一L2セグメントにある必要がある
- CTunneling方式に変え、ロードバランサがクライアントのパケットをIPカプセル化してバックエンドへ転送し、バックエンドが解除してクライアントへ直接応答できるようにする
- DLocal Node方式に変え、ロードバランサとバックエンドを同一ノードに配置してカーネル内でパケットを振り分け、ネットワーク転送を省く
正解:C
解説
Tunneling方式では、ロードバランサがクライアントのパケットを外側のIPヘッダでカプセル化してバックエンドへ転送します。バックエンドはカプセルを解除して処理し、クライアントへは自分のIPから直接応答します。応答パケットはロードバランサを経由しないためボトルネックが解消されます。Direct Server Returnと異なり、ロードバランサとバックエンドが同一L2セグメントにある必要がなく、別サブネットや遠隔地のバックエンドにも適用できます。
選択肢ごとの解説
- A誤り。NAT方式では受信と送信の両方がロードバランサを経由するため、応答量が大きい動画配信ではロードバランサがボトルネックのままです。
- B誤り。DSR方式はバックエンドからロードバランサを経由せず直接応答できますが、ロードバランサとバックエンドが同一L2セグメントにある必要があります。別サブネットに配置された本設問の要件には合いません。
- C正しい。Tunneling方式はIPカプセル化を使うため、ロードバランサとバックエンドが別サブネットでも動作します。応答はバックエンドからクライアントへ直接流れ、ロードバランサのボトルネックを解消できます。
- D誤り。Local Node方式はロードバランサとバックエンドが同一ノードにある特殊な構成です。別ノードのバックエンドへの振り分けには使えません。