【ネットワークスペシャリスト試験 令和6年度 春期 午後1 問1 設問1】L7ヘルスチェック/負荷分散アルゴリズム/SSLオフロード
ネットワークスペシャリスト試験 令和6年度 春期 午後1 問1
【出典:ネットワークスペシャリスト試験 令和6年度 春期 午後1 問1(一部、加工あり)】
問1 コンテンツ配信ネットワークに関する次の記述を読んで、設問に答えよ。
D社は、ゲームソフトウェア開発会社で三つのゲーム(ゲームα、ゲームβ、ゲームγ)をダウンロード販売している。D社のゲームはいずれも利用者の操作するゲーム端末上で動作し、ゲームの進捗データやスコアはゲーム端末内に暗号化して保存される。D社のゲームは世界中に利用者がおり、ゲーム本体及びゲームのシナリオデータ(以下、両方をゲームファイルという)はインターネット経由で配信されている。
[現状の配信方式]
D社は、ゲームファイルの配信のためのデータセンターを所有している。
D社データセンターの構成を図1に示す。
ゲーム端末は、インターネット経由でゲームごとにそれぞれ異なるURLにHTTPSでアクセスする。LBは、プライベートIPアドレスが設定されたHTTPの配信サーバにアクセスを振り分ける。また、①LBは配信サーバにHTTPアクセスによって死活監視を行い、動作が停止している配信サーバに対してはゲーム端末からのアクセスを振り分けない。
ゲームファイルの配信に利用するIPアドレスとポート番号を、表1に示す。
D社が導入しているLBのサーバ振分けアルゴリズムには、ラウンドロビン方式及び最小接続方式がある。ラウンドロビン方式は、ゲーム端末からの接続を接続ごとに配信サーバに順次振り分ける方式である。最小接続方式は、ゲーム端末からの接続をその時点での接続数が最も少ない配信サーバに振り分ける方式である。
D社のゲームファイル配信では、振り分ける先の配信サーバの性能は同じだが、接続ごとに配信するゲームファイルのサイズには大きなばらつきがあり、配信に掛かる時間が変動する。各配信サーバへの同時接続数をなるべく均等にするために、LBの振分けアルゴリズムとして(ア)方式を採用している。
ゲームβの配信性能向上が必要になる場合には、表1中の所属セグメント(イ)にサーバを増設する。
ネットワークスペシャリストや情報処理安全確保支援士を目指す皆さん、こんにちは!
今回は、令和6年度 春期 ネットワークスペシャリスト試験 午後1 問1を題材に、現代のWebサービスに不可欠なコンテンツ配信ネットワークの基礎知識を掘り下げていきます。
なぜこの問題が重要なのか?【出題趣旨】
試験の【出題趣旨】には、次のように書かれています。
Webビジネスの普及に伴い、コンテンツ配信の対象顧客は国内にとどまらず、海外にも広がってきている。 近年では、コンテンツ事業者側の運用負担の少ないCDNの利用が増えている。 また、コンテンツ配信を行う際にはDDoS攻撃への対策が必要である。 本問では、ロードバランサーやBGP、CDN、DDoS対策を題材として、コンテンツ配信ネットワークを実業務に活用できる水準化どうかを問う。
まさに、現代のネットワークエンジニアに求められる実践的な知識がテーマですね。特に設問1は、その中でも最も基本的かつ重要な「自社データセンター内の配信構成」に関する問題です。ここを確実に理解することが、より高度なCDNやBGPの理解に繋がります。
それでは、設問ごとに思考プロセスを追いながら、じっくり解説していきましょう!
【設問1 (1)】死活監視はレイヤーを意識せよ!
設問
本文中の下線①について、HTTPではなく ICMP Echoで死活監視を行った場合どのような問題があるか。50字以内で答えよ。
解答
ICMP Echoに応答するが、HTTPサーバのプロセスが停止している状態を検知できない。
解説
この問題を解くカギは、「死活監視(ヘルスチェック)のレイヤー(階層)」を理解することです。
- 問題の状況:
- ロードバランサー(LB)が、配下の配信サーバが正常に動いているかを確認しています。
- 問題文では、この監視をHTTPで行っているとあります。
- 設問では「もし、これをICMP Echo (ping)でやったら、何が問題?」と問われています。
- 思考のステップ:
- ICMPとHTTPの違いを思い出そう!
- ICMP Echo (ping)
これはネットワーク層(レイヤー3)での疎通確認です。「サーバのOSは起動していて、ネットワーク的に到達できるか?」をチェックします。 - HTTP
これはアプリケーション層(レイヤー7)での確認です。「Webサーバのソフトウェア(ApacheやNginxなど)がリクエストを正常に処理できるか?」をチェックします。
- ICMP Echo (ping)
- 「pingは通るのに、Webサイトが見れない」状況を想像してみよう。
- サーバ自体は動いている(pingに応答する)。
- しかし、Webサーバのプロセスがハングアップしたり、設定ミスで停止している。
- この状況でICMPによる死活監視を行うと、LBは「サーバは元気だ!」と誤解してしまいます。
- 問題点をまとめる。
- LBがサーバ異常を検知できないため、ユーザからのアクセスを故障したサーバに振り分け続けてしまいます。
- 結果、ユーザにはエラーが表示され、サービス障害に繋がります。
- この「OSは生きているが、サービス(アプリケーション)が死んでいる状態を検知できない」ことが、ICMPで監視する最大の問題点です。
- ICMPとHTTPの違いを思い出そう!
これを50字以内で簡潔にまとめると、解答の通り「ICMP Echoに応答するが、HTTPサーバのプロセスが停止している状態を検知できない。」となります。実務でも、提供したいサービス(HTTP, SMTP, DNSなど)のレイヤーでヘルスチェックを行うのが基本中の基本です。
【設問1 (2)】負荷分散アルゴリズムの使い分け
設問
本文中の(ア) に入れる適切な字句を、本文中から選んで答えよ。また、本文中の(イ)に入れる適切なセグメントを、表1中から選んで答えよ。
解答
ア: 最小接続方式、イ: 172.22.1.0/24
解説
この問題は、ロードバランサーの代表的な2つの機能、「負荷分散アルゴリズム」と「サーバ増設時の設定」に関する知識を問うています。
- 思考のステップ (ア) – アルゴリズムの選択
- 問題文の条件を整理する。
- LBのアルゴリズム候補は「ラウンドロビン方式」と「最小接続方式」。
- 重要なヒントは「接続ごとに配信するゲームファイルのサイズには大きなばらつきがあり、配信に掛かる時間が変動する」こと。
- 目的は「各配信サーバへの同時接続数をなるべく均等にする」こと。
- 各アルゴリズムの特徴を考える。
- ラウンドロビン方式
単純に1番、2番、3番…とサーバに順番にリクエストを振り分ける方式です。 シンプルですが、処理時間が長いリクエストが特定のサーバに集中すると、そのサーバだけが高負荷になる可能性があります。 - 最小接続方式
その時点で最も接続数(コネクション数)が少ないサーバにリクエストを振り分ける方式です。 処理時間がバラバラな場合に、実際の負荷に近い「接続数」を基準にするため、負荷を均等化しやすいメリットがあります。
- ラウンドロビン方式
- 条件と目的を照らし合わせる。
- 今回は「配信時間が変動する」ので、単純なラウンドロビンでは負荷が偏るリスクがあります。
- 「同時接続数を均等にしたい」という目的に最も合致するのは、接続数を見ながら振り分ける「最小接続方式」です。
- 問題文の条件を整理する。
- 思考のステップ (イ) – 増設セグメントの特定
- 問題文を読む。
- 「ゲームBの配信性能向上が必要になる場合に」「サーバを増設する」とあります。
- 表1を確認する。
- 表1で「ゲームB」に対応する行を探します。
- その行の「所属セグメント」の列を見ると、「172.22.1.0/24」と記載されています。
- したがって、ゲームB用のサーバを増設するセグメントはここになります。これは落ち着いて表を読み解けば見つけられるサービス問題ですね。
- 問題文を読む。
【設問1 (3)】HTTPSの心臓部!サーバ証明書のありか
設問
HTTPSに必要なサーバ証明書はどの装置にインストールされているか。必ず入っていなければならない装置を一つだけ選び、図1中の字句で答えよ。
解答
LB
解説
この問題を解くには、図1と表1から通信の流れを正確に読み取ることが重要です。
- 思考のステップ:
- ユーザからサーバへの通信経路を追う。
- ゲーム端末からLBまで
表1のURLを見ると https:// で始まっています。 これはHTTPS(暗号化通信)です。 - LBから配信サーバまで
表1の配信サーバのポート番号は 80 となっています。 これはHTTP(非暗号化通信)です。
- ゲーム端末からLBまで
- HTTPS通信がどこで終わっているかを考える。
- 通信は ゲーム端末 → (HTTPS) → LB → (HTTP) → 配信サーバ という流れになっています。
- つまり、暗号化されたHTTPS通信はLBで終端され、LBが暗号を解いて、中身のHTTPリクエストを配信サーバに送っています。
- このような構成を「SSLオフロード」や「SSLアクセラレーション」と呼びます。配信サーバは暗号化・復号の重い処理から解放され、コンテンツ配信に専念できるというメリットがあります。
- サーバ証明書が必要な装置を特定する。
- HTTPS通信を確立し、クライアント(ゲーム端末)に対して「私が本物のサーバですよ」と証明するためには、サーバ証明書とそのペアである秘密鍵が必要です。
- この暗号化通信を終端しているのがLBなので、サーバ証明書は必ずLBにインストールされていなければなりません。
- ユーザからサーバへの通信経路を追う。
まとめ
設問1は、ロードバランサーを中心としたデータセンターの基本的な構成に関する問題でした。【採点講評】で「全体として正答率は平均的」 とあるように、ネットワークエンジニアを目指す上での基礎体力とも言える部分です。
- L7ヘルスチェックの重要性
- 負荷の特性に応じた負荷分散アルゴリズムの選択
- SSLオフロード構成の理解
これらのポイントをしっかり押さえ、なぜその技術が必要なのかを背景と共に理解しておきましょう。それが応用問題への確かな一歩となります!