戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

応用情報技術者 2018年 秋期 午後05


Webシステムの負荷分散と不具合対応に関する次の記述を読んで、設問1~3に答えよ。

   D社は、小売業を営む社員数約300名の中堅企業であり、取り扱う商品の販売数が順調に増加している。D社では、共通基盤となるWeb業務システム上で販売管理や在庫管理、財務会計などの複数の業務機能がそれぞれ稼働している。  Web業務システムは、Webサーバ機能とアプリケーションサーバ機能の両方を兼ね備えたサーバ(以下、Webサーバという)3台と負荷分散装置(以下、LBという)1台、データベースサーバ(以下、DBサーバという)1台で構成される。  D社では総務部がWeb業務システムとネットワークの運用管理を所管しており、情報システム課のEさんが運用管理を担当している。Web業務システムを含むD社のネットワーク構成を図1に示す。
応用情報技術者試験(平成30年度 秋期 午後 問05 図01)
 各部署のPCは起動時に、DHCPサーバから割り当てられたIPアドレスなどでネットワーク設定が行われる。PCから販売管理機能を利用する場合、販売管理機能を提供するプログラムに割り当てられたURLを指定し、Webブラウザでアクセスする。   〔LBによるWebサーバの負荷分散の動作〕  LBは、各部署の PC からWebサーバに対するアクセスをラウンドロビン方式でWebサーバ1~3に分散して接続する。LBを利用することによって、Webサーバ 1 台で運用した場合と比較して、応答性能と可用性の向上を実現している。  Webブラウザで Web業務システムの URL を指定してアクセスすると、LBは、Webサーバを一つ選択して、当該サーバ宛てにパケットを送出する。例えば、Webサーバ 2 が選択された場合、LBはパケットの送信元のIPアドレスをa、送信先のIPアドレスをbに置き換えてパケットを送出する。  また LBは、pingコマンドを用いたヘルスチェック機能を有しており、pingコマンドに対して応答しなかったWebサーバへのアクセスを停止する。   〔不具合事象の発生〕  ある日、Web業務システムの定期保守作業において、販売管理機能のプログラムをバージョンアップしたところ、応答時間が急に遅くなり、Webブラウザにエラーが表示される、という報告が営業部から情報システム課に多く寄せられた。   〔不具合事象の切分け〕  営業部の多くの PC で同様な事象が発生していたので、Eさんは PC が原因ではないと考え、PC とWebサーバ間の通信に不具合が発生したと考えた。  Eさんは、営業部の PC を利用して、原因の切分けを行った。確認項目と確認結果を表1に示す。
応用情報技術者試験(平成30年度 秋期 午後 問05 表01)
 Eさんはここまでの調査結果を整理して、今回の不具合の原因として想定される被疑箇所について次のような仮説を立てた。  項番1と2の結果から、PCとWebサーバ1~3の間のIP層のネットワーク通信には問題がない.また、項番3の結果から、Web業務システムのURLに対する名前解決にも問題はない.項番4と6の結果から、①特定のWeb画面を表示するときだけ、WebブラウザでHTTP通信がタイムアウトとなり、タイムアウトエラーを表示していると考えた。    Eさんは、ネットワーク通信の不具合についての仮説に対する確認テストを行うために、Web業務システムを開発したF社のテスト環境を利用して不具合を再現させ、ネットワークモニタとシステムリソースモニタを利用して状況を詳細に調べたところ、Webサーバ1~3で利用可能なTCPポートが一時的に枯渇する事象が発生していることが分かった。
 F社から、Webサーバ1~3での利用可能なTCPポート数の増加。②Webサーバ1~3でのTCPコネクションが閉じるまでの猶予状態であるTIME_WAIT状態のタイムアウト値の短縮、及び販売管理機能のプログラムの実行環境においてWebサーバからDBサーバへの通信時のTCPポート再利用について、Eさんは改善項目の回答をもらった。   〔改善すべき問題点〕  Eさんは、不具合の修正が終わった後に、不具合の切分け作業の問題点を考えた。  ③Webサーバ1~3やL3SW,LBのそれぞれに記録されたログメッセージの対応関係の特定を推測に頼らざるを得ず難しかった。また、Webサーバで通信ログを調べる際に④送信元のPCがすぐに特定できなかった。  Eさんは、ネットワーク運用の観点から改善策の検討を進めた。

設問1

本文中のabに入れる適切なIPアドレスを答えよ。

模範解答

a:172.16.10.5 b:172.16.10.12

解説

解答の論理構成

  1. 【問題文】に「LBは、各部署の PC から Webサーバに対するアクセスをラウンドロビン方式で Webサーバ1~3に分散して接続する。」とあります。したがって、アクセスは必ず LB を経由します。
  2. さらに「例えば、Webサーバ 2 が選択された場合、LBはパケットの送信元のIPアドレスをa、送信先のIPアドレスをbに置き換えてパケットを送出する。」と明示されています。ここで行われるのは NAT(アドレス変換)です。
  3. NAT では、Webサーバ側から見る送信元が LB になるように書き換えます。図1より LB の IP アドレスは「172.16.10.5」です。したがって a=「172.16.10.5」となります。
  4. 送信先は選択された Webサーバ 2 のアドレスに変更されます。同図より Webサーバ 2 の IP アドレスは「172.16.10.12」です。したがって b=「172.16.10.12」となります。
  5. まとめると、 a:172.16.10.5
    b:172.16.10.12

誤りやすいポイント

  • Webサーバが“クライアント PC の IP アドレス”を直接受け取ると勘違いし、aを PC 側のアドレスと誤記する。NAT で送信元は LB に書き換えられる点を見落としやすいです。
  • 図1の IP アドレスを読み違え、Webサーバ 1(172.16.10.11)や Webサーバ 3(172.16.10.13)を bにしてしまう。設問は「Webサーバ 2 が選択された場合」と限定しています。
  • 「ヘルスチェック結果が良好なので LB はアドレスを書き換えない」と早合点する。ヘルスチェックの有無にかかわらず、負荷分散方式が NAT であれば常に書き換えは行われます。

FAQ

Q: なぜ LB は送信元アドレスまで書き換えるのですか?
A: 返信パケットを必ず LB 経由で戻させるためです。送信元が PC のままだと Web サーバは直接 PC に返信し、負荷分散やセッション管理が成立しません。
Q: DNS はどのアドレスを返しているのですか?
A: 通常は「LB の仮想 IP」を返します。クライアントは LB に接続し、LB が内部の Web サーバへ振り分ける仕組みです。
Q: ヘルスチェックで Web サーバが落ちていた場合、アドレス変換はどうなりますか?
A: 該当サーバが選択対象から外れるだけで、アドレス変換ロジック自体は同じです。正常サーバが選ばれ、そのサーバの IP が送信先に設定されます。

関連キーワード: NAT, ラウンドロビン、ヘルスチェック、TCPポート、TIME_WAIT

設問2〔不具合事象の切分け〕について、(1)〜(3)に答えよ。

(1)表1中のcに入れる適切な字句を答えよ。

模範解答

c:nslookup 又は dig

解説

解答の論理構成

  1. 【問題文】には、表1の項番3として
    「PCでcコマンドを用いた、社内DNSサーバの名前解決テストの結果は良好か。」
    と記載されています。
  2. “名前解決テスト”と明示されていることから、cは DNS レコードを問い合わせるためのコマンドでなければなりません。
  3. 一般的にクライアント PC から DNS 名の解決を確認する代表的なコマンドは
    ・「nslookup」
    ・「dig」
    の 2 つです。
  4. いずれも DNS サーバへの直接問い合わせを行い、応答内容を表示して名前解決の可否を判定できます。
  5. よって、c に入る適切な字句は「nslookup 又は dig」です。

誤りやすいポイント

  • ping や traceroute は IP 到達性や経路状態の確認用であり、DNS 名の正引き・逆引きを直接確認するものではありません。
  • “host” コマンドも名前解決に使えますが、試験で代表格として採り上げられるのは「nslookup」か「dig」です。
  • DHCP 関連コマンド(ipconfig /renew など)と混同しがちですが、これは IP アドレスの再取得であり DNS とは別用途です。

FAQ

Q: nslookup と dig のどちらを覚えれば良いですか?
A: 両方覚えておくと実務で便利ですが、試験対策としてはどちらか一方を確実に使えるようにしておけば十分です。
Q: Windows と Linux でコマンドは異なりますか?
A: Windows には標準で「nslookup」が搭載されています。Linux はディストリビューションによって「dig」が標準の場合がありますが、どちらもパッケージで追加可能です。
Q: DNS の応答が得られない場合、最初に何を確認すべきですか?
A: DNS サーバの IP アドレス設定(/etc/resolv.conf やネットワークアダプタ設定)とフィルタリング装置で UDP/TCP 53 が閉じていないかを確認します。

関連キーワード: DNS, 名前解決、nslookup, dig, コマンドライン

設問2〔不具合事象の切分け〕について、(1)〜(3)に答えよ。

(2)本文中の下線①について、具体的にどのような不具合が生じていると考えたかを30字以内で述べよ。

模範解答

Webサーバから DB サーバへのアクセスがエラーとなった。

解説

解答の論理構成

  1. 項番4の確認結果
    • 【問題文】「Webブラウザにエラーが表示されたときのWebサーバとPC間におけるHTTP通信メッセージそのものが存在しなかった。」
    • HTTPリクエスト自体が Webサーバ側で処理されていないため、原因は Webサーバより“後段”にあると推定できます。
  2. 項番6の確認結果
    • 【問題文】「WebサーバからDBサーバへのアクセスエラーメッセージ、及びTCPポートが確保できないという内容のエラーメッセージがあった。」
    • Webサーバは DB サーバと通信しようとして失敗していることが明示されています。
  3. 上記 1・2 から導ける事象
    • PC→LB→Webサーバ間の通信は正常(項番1~3)。
    • Webサーバは PC からの要求を受け取るものの、DB サーバへ接続できず処理が完了しない。
    • その結果、HTTP応答がクライアントに返せず「タイムアウト」となる(下線①)。
  4. よって下線①で問われる「具体的にどのような不具合か」は、
    • Webサーバが DB サーバへ接続する段階でエラーが発生している、という一点に集約されます。

誤りやすいポイント

  • HTTPタイムアウトを「PC と Webサーバ間の通信障害」と短絡する
  • 「TCPポートが確保できない」というログから LB や OS のポート枯渇と結び付け、DB との接続失敗を見落とす
  • 「販売管理機能のバージョンアップ」を直接的なバグ要因と決めつけてネットワーク層の調査を省略する

FAQ

Q: なぜ HTTP 通信ログが無かったのに Web サーバ側のログは残っていたのですか?
A: HTTPログはリクエスト完了時に書き込まれます。DB アクセスでエラーになり処理が中断すると、HTTPログは出力されず、アプリケーションやシステムログだけが残ります。
Q: 「TCPポートが確保できない」というメッセージは何を示していますか?
A: DB との通信に使用したポートが TIME_WAIT に残り続け、再利用できなくなった状態です。このため新規接続が張れず、DB アクセスが失敗します。
Q: LB のヘルスチェック(ping)は正常でしたが、なぜ障害を検知できなかったのですか?
A: ping は ICMP 応答のみを確認するため、アプリケーション層(HTTP→DB)の不具合までは検出できません。

関連キーワード: HTTPタイムアウト、TCPポート枯渇、TIME_WAIT, アプリケーション層、ヘルスチェック

設問2〔不具合事象の切分け〕について、(1)〜(3)に答えよ。

(3)本文中の下線②によって得られる改善の効果を35字以内で述べよ。

模範解答

Webサーバ1〜3で再利用できる TCP ポート数を増やせること

解説

解答の論理構成

  1. 問題文では、調査結果として「Webサーバ1~3で利用可能なTCPポートが一時的に枯渇する事象が発生」と明記されています。この時点で対策は“ポートを確保する”方向に向かうと分かります。
  2. 具体的な改善策として、本文に「②Webサーバ1~3でのTCPコネクションが閉じるまでの猶予状態であるTIME_WAIT状態のタイムアウト値の短縮」とあります。
  3. TIME_WAIT が長いままだと同一ポートを再利用できず、枯渇が続きます。タイムアウトを短縮すると同ポートが早くリサイクルされ、利用可能ポート数が増えます。
  4. したがって、②の効果は「Webサーバ1〜3で再利用できる TCP ポート数を増やせること」と結論づけられ、模範解答と一致します。

誤りやすいポイント

  • TIME_WAIT を「接続待ち」と誤解し、待ち時間を短くすると通信が不安定になると勘違いする。実際は“コネクション終了後の保護期間”であり、短縮しても通常の通信には影響しにくいです。
  • 枯渇しているのはサーバ側ポートであり、クライアント(PC)側ポートではない点を見落とす。
  • 「TCPポート数の増加」と「同時アクセス数の増加」を混同し、同時接続設定を変更しようとしてしまう。

FAQ

Q: TIME_WAIT を短縮すると安全性は下がりませんか?
A: RFC 793 の推奨を大幅に下回らなければ問題は少なく、負荷が高いWebサーバでは一般的な調整項目です。
Q: LB でラウンドロビンしているのにポートが枯渇するのはなぜ?
A: ラウンドロビンはサーバ台数間で負荷を分散しますが、各サーバ内の TIME_WAIT ポート数が多ければ個別に枯渇します。
Q: DBサーバ側で同様の設定は不要ですか?
A: 今回の枯渇はWebサーバ側で発生したため、優先度はWebサーバ側のチューニングです。必要ならDB側も確認します。

関連キーワード: TCP, TIME_WAIT, ポート枯渇、負荷分散、ヘルスチェック

設問3〔改善すべき問題点〕について(1)、(2)に答えよ。

(1)本文中の下線③について、適切な解決方法を解答群の中から選び、記号で答えよ。
解答群  ア:NTPによる時刻同期機能を導入する。  イ:ウイルス対策ソフトを導入する。  ウ:各機器で取得したログファイルを個々に確認する。  エ:各機器のデバッグログも表示されるようにする。

模範解答

解説

解答の論理構成

  1. 問題文には、切分け作業の問題点として
    「③Webサーバ1~3やL3SW,LBのそれぞれに記録されたログメッセージの対応関係の特定を推測に頼らざるを得ず難しかった」
    とあります。複数機器のログ時刻がずれていると、同一事象を示すエントリを関連付けるのが困難になります。
  2. この課題を解決するには、各機器のログに記録される“時刻”をそろえ、同一タイムスタンプを基準に突き合わせられるようにすることが有効です。
  3. 解答群を見ると、時刻を同期する仕組みを提供するものは「ア:NTPによる時刻同期機能を導入する。」しかありません。NTP(Network Time Protocol)はネットワーク機器やサーバのシステムクロックを統一し、ログの時系列整合性を確保する典型的な手段です。
  4. よって、適切な解決方法は「ア」となります。

誤りやすいポイント

  • 「イ:ウイルス対策ソフト」はセキュリティ向上が目的であり、ログの時刻不一致を直接解決しない点を見落としやすいです。
  • 「ウ:各機器で取得したログファイルを個々に確認する。」は現状と同じ手作業を続けるだけで、根本的解決策ではありません。
  • 「エ:各機器のデバッグログも表示されるようにする。」はログ量を増やすだけで、時系列の整合性課題を悪化させる可能性があります。

FAQ

Q: NTPサーバは社内に設置すべきですか、外部公開NTPサーバでもよいですか?
A: 精度・安定性・セキュリティを考慮し、一次参照先として外部の信頼できる上位NTPサーバ、社内機器は社内NTPサーバを二次参照先とする階層構成が推奨されます。
Q: ログ時刻がずれていると、他にどんな影響がありますか?
A: インシデント対応の証跡不整合、障害解析のタイムライン誤認、監査ログ不備など多方面に支障を来します。

関連キーワード: NTP, 時刻同期、ログ管理、トラブルシューティング、可観測性

設問3〔改善すべき問題点〕について(1)、(2)に答えよ。

(2)本文中の下線④について、送信元のPCをすぐに特定できない理由を25字以内で述べよ。

模範解答

送信元のIPアドレスはLBのものになるから

解説

解答の論理構成

  • 【問題文】の〔LBによる Webサーバの負荷分散の動作〕では、ロードバランサが実パケットを書き換えることが明示されています。
    引用:「LBは…パケットの送信元のIPアドレスをa、送信先のIPアドレスをbに置き換えてパケットを送出する。」
    ― ここで送信元 IP が置き換えられるため、Webサーバ側には元々の PC の IP ではなく LB の IP が記録されます。
  • 本文中の下線④は「送信元のPCがすぐに特定できなかった」と述べています。なぜ特定できないのかを考えると、Webサーバに残るログに PC の IP が残らないことが直接原因です。
  • したがって、解答は「送信元のIPアドレスはLBのものになるから」となります。

誤りやすいポイント

  • ファイアウォールで NAT が行われていると誤解し、FW の IP が記録されると考えてしまう。実際に送信元を書き換えているのは LB です。
  • ロギング設定が不十分で PC が特定できないと誤答するケース。設定以前に IP 変換という構造的理由があります。
  • Syslog など集中管理で解決できると短絡的に判断し、根本原因(送信元 IP の書き換え)を見落とす。

FAQ

Q: ロードバランサを透過型に設定すれば PC の IP は残せますか?
A: 透過型(DR モードなど)に変更すれば残せますが、LB と Web サーバ双方の ARP/TCP 設定が必要で、既存構成(NAT モード)とは別物になります。
Q: Web サーバ側で X-Forwarded-For ヘッダを見れば PC を特定できますか?
A: LB がそのヘッダを付加する設定になっていれば可能ですが、本問題文にはその設定が示されていません。
Q: FW でも NAT を行う構成は一般的ですか?
A: インターネット側との境界でグローバル/プライベート変換を行う例は多いですが、本問題は社内 LAN 内の LB が送信元を書き換えています。

関連キーワード: NAT, ロードバランシング、IPアドレス変換、ログ解析、X-Forwarded-For
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について