【ネットワークスペシャリスト試験 令和元年度 秋期 午後1 問2 No.2】

ネットワークスペシャリスト試験 令和元年度 秋期 午後1 問2

【出典:ネットワークスペシャリスト試験 令和元年度 秋期 午後1 問2(一部、加工あり)】

[LBに関する検討]
 A社が導入するLBは、HTTPリクエストの振分け機能、死活監視機能、セッション維持機能、TLSアクセラレーション機能、HTTPヘッダの編集(追加、変更、削除)機能をもっている。
 HTTPリクエストの振分け機能について、Uさんは、HTTPリクエストをWebサーバに()に振り分けるラウンドロビン方式を採用することにした。
 死活監視機能について、Uさんは、WebAPの稼働状況を監視するために、レイヤ7方式を利用することにした。死活監視に用いるメッセージの設定を表1に示す。


 セッション維持機能には、HTTPリクエストの送信元IPアドレスに基づいて行う方式と、LBによって生成されるセッションIDに基づいて行う方式がある。セッションIDに基づいて行う方式では、WebサーバとWebブラウザ間で状態を管理するために用いられるCookieを利用する。LBは、HTTPレスポンスの()ヘッダフィールドにセッションIDを追加する。HTTPレスポンスを受け取った利用者のWebブラウザは、()ヘッダフィールドにあるセッションIDを、次に送信するHTTPリクエストの()ヘッダフィールドに追加する。HTTPリクエストを受け取ったLBは、()ヘッダフィールドのセッションIDに基づいて、セッション維持を行う。Uさんは、②WAFサービスの利用を考慮し、セッションIDに基づいて行う方式を採用した
 TLSアクセラレーション機能は、TLSの暗号化・復号処理を専用ハードウェアで高速に処理する機能である。Uさんは、TLSの暗号化・復号処理の性能向上の目的と、③LBが行うある処理のために、TLSアクセラレーション機能を利用することにした。Uさんは、LBとWebサーバ間の通信にHTTPを用い、ポート番号にHTTPのウェルノウンポート番号を用いることにした。
 構成変更後のWebシステムを図3に示す。

ア:順番

 LB(Load Balancer:負荷分散装置)が複数のWebサーバへリクエストを振り分ける方法は、以下のようなものがあります。

  • ラウンドロビン(HTTPリクエストを順番に振り分ける)
  • WebサーバのCPU使用率、TCPコネクション数、応答時間などによる振分け

イ:80

 死活監視というと、pingによる応答結果で対象機器がダウンしているかどうかを確認する方法を連想しますが、Webサーバなどに関しては、ping(レイヤ3)より上位層であるアプリケーション層(レイヤ7)での監視を行う場合があります。
 「死活監視機能について、Uさんは、WebAPの稼働状況を監視するために、レイヤ7方式を利用する」とあり、表1のHTTPリクエストを送信し、HTTPレスポンスで正常性を確認しています。
 HTTPリクエストのポート番号は「80」です。
 なお、HTTPSリクエストのポート番号「443」と悩むかもしれませんが、この後の記述で「Uさんは、LBとWebサーバ間の通信にHTTPを用い、ポート番号にHTTPのウェルノウンポート番号を用いることにした」とあるようにHTTPを使用していることがわかります。

ウ:200

 成功時のHTTPレスポンスに含まれるステータスコードは「200」です。
 代表的なステータスコードとメッセージ例を以下に示します。

  • 200 OK:正常終了(200番台は正常終了)
  • 302 Found:リダイレクト(300番台は追加の処理要求)
  • 401 Unauthorized:認証失敗(400番台はクライアント側エラー)
  • 402 Not Found:指定されたページがない
  • 503 Service Unavailable:サービス利用不可(500番台はサーバ側エラー)

エ:Set-Cookie

 セッション維持機能とは、クライアントからの通信(←複数のやり取り一式)の通信先を同じサーバに接続する機能です。
 LBまたはWebサーバによるCookieのやり取りでは、HTTPレスポンスのSet-CookieヘッダフィールドにセッションIDを追加して、Webブラウザに送信します。

オ:Cookie

 Webブラウザは、受信したセッションIDをHTTPリクエストのCookieヘッダフィールドに追加して送信します。

下線②について、送信元IPアドレスに基づいて行う方式を採用した場合に発生するおそれがある問題を、10字以内で述べよ。:負荷が偏る。

 「WAFサービスの利用を考慮し、セッションIDに基づいて行う方式を採用した」とあるように、WAFサービスの利用に着目します。
 WAFサービスを使用すると、その1の問題文に「HTTPリクエストの送信元IPアドレスを、HTTPレスポンスがWAFサービスに送られるようにするためのIPアドレス(IP-w2)に変更する」とあるように、LBに届く全ての通信の送信元IPアドレスがWAFサービスのIPアドレスになります。
 したがって、LBのセッション維持機能で送信元IPアドレスに基づいて行う方式を採用すると、同じサーバにセッションが割り振られることになり、負荷が偏ってしまいます。

下線③の処理の内容を、20字以内で答えよ。:HTTPヘッダを編集する処理

 わかりにくい問題ですので、シンプルに問題文と設問を照らし合わせて考えます。
 「TLSアクセラレーション機能は、TLSの暗号化・復号処理を専用ハードウェアで高速に処理する機能」とあり、TLSの暗号化・復号処理の部分と、高速に処理する部分とを分けて捉えます。
 そもそもLBでTLSの暗号化・復号処理が必要になってくるのは、何の処理が関係しているのでしょうか。
 LBが行う処理には「HTTPリクエストの振分け機能、死活監視機能、セッション維持機能、TLSアクセラレーション機能、HTTPヘッダの編集(追加、変更、削除)機能」があります。
 このうち、TLSの暗号化・復号処理を伴うものは、セッション維持を行うためCookieの追加、読み取りなどHTTPヘッダの編集であることがわかると思います。
 「Uさんは、TLSの暗号化・復号処理の性能向上の目的と、③LBが行うある処理のために、TLSアクセラレーション機能を利用することにした。」のうち、性能向上の部分が専用ハードウェアで高速に処理する機能、LBが行うある処理の部分がHTTPヘッダを編集する処理に該当します。