平成25年春期試験午後問題 問5
問5 ネットワーク
⇱問題PDF
アプリケーションサーバの増設に関する次の記述を読んで,設問1~3に答えよ。
アプリケーションサーバの増設に関する次の記述を読んで,設問1~3に答えよ。
広告
M社は,コンピュータ関連製品の販売会社である。M社では,販売を支援する業務システムを稼働させている。業務システムは,アプリケーションサーバ(以下,APサーバという),データベースサーバ(以下,DBサーバという)などから構成されている。現在の業務システムのネットワーク構成を,図1に示す。〔障害の発生と対応〕
業務システムに新機能を追加してから数日後,多くの社員から情報システム部に,業務システムの応答が遅くなり,業務に支障を来すというクレームが入った。クレームを受けた情報システム部では,N主任とJ君が対応した。
J君がサーバの稼働状態を調査したところ,APサーバのCPU使用率が高い値を示していた。稼働中のプロセスをチェックした結果,新機能のプログラムが,設計時に予想した以上の負荷をCPUに与えていることが分かった。
この状況について報告を受けたN主任は,APサーバの能力増強が必要と判断した。今後も,更なる新機能の追加による負荷の増大が予測できたので,N主任は,サーバロードバランサ(以下SLBという)を用いてAPサーバを2台構成にする方法の検討を,J君に指示した。
〔SLBの機能〕
J君は,まず,SLBの機能と使用方法を調査した。
一般にSLBには,サーバへの処理要求の振分け機能,クライアントとサーバの間のセッション維持機能,サーバの稼働監視機能などがある。セッション維持の方式は,OSI基本参照モデルのレイヤを基に,三つの方式に分類される。レイヤ3方式では送信元IPアドレスを基に,レイヤ4方式では送信元IPアドレスとポート番号を基に,レイヤ7方式ではクッキー又はURL情報に埋め込まれたaを基に,セッション維持が行われる。サーバの稼働監視については,レイヤ3ではbパケットによる装置監視,レイヤ4ではc確立要求に対する応答を確認するサービス監視,レイヤ7ではアプリケーション監視が行われる。
〔SLBの導入構成案1〕
今回は,導入が容易なレイヤ4方式を採用し,SLBをPCとサーバの間に設置する。APサーバは,1台増設してAPサーバ1とAPサーバ2の構成にする。
SLBには,それ自体のIPアドレスの他に,負荷分散対象の2台のAPサーバを代表する,仮想的な一つのIPアドレス(以下,VIPという)を設定する。PCがVIP宛てに処理要求を行うと,その処理要求は,SLBによって最適なサーバに転送される。その際,SLBは,送信元IPアドレスの変換は行わない。
SLB導入時の構成(構成案1)と,PCとAPサーバ1の間の通信の順序を図2に,その時のPCとAPサーバ1の間のフレーム内のアドレス情報を表1に示す。 J君が構成案1の内容をN主任に報告したときの会話を,次に示す。
〔SLBの導入構成案2〕
SLBには,PCから送信されたパケットをAPサーバに転送するとき,送信元IPアドレスを,SLB自体に設定されたIPアドレスに変換してサーバ宛てに送信する,ソースNAT機能がある。
ソースNAT機能使用時の構成(構成案2)と,PCとAPサーバ1の間の通信の順序を図3に,その時のPCとAPサーバ1の間のフレーム内のアドレス情報を表2に示す。 J君が構成案2の内容をN主任に報告したときの会話を,次に示す。
業務システムに新機能を追加してから数日後,多くの社員から情報システム部に,業務システムの応答が遅くなり,業務に支障を来すというクレームが入った。クレームを受けた情報システム部では,N主任とJ君が対応した。
J君がサーバの稼働状態を調査したところ,APサーバのCPU使用率が高い値を示していた。稼働中のプロセスをチェックした結果,新機能のプログラムが,設計時に予想した以上の負荷をCPUに与えていることが分かった。
この状況について報告を受けたN主任は,APサーバの能力増強が必要と判断した。今後も,更なる新機能の追加による負荷の増大が予測できたので,N主任は,サーバロードバランサ(以下SLBという)を用いてAPサーバを2台構成にする方法の検討を,J君に指示した。
〔SLBの機能〕
J君は,まず,SLBの機能と使用方法を調査した。
一般にSLBには,サーバへの処理要求の振分け機能,クライアントとサーバの間のセッション維持機能,サーバの稼働監視機能などがある。セッション維持の方式は,OSI基本参照モデルのレイヤを基に,三つの方式に分類される。レイヤ3方式では送信元IPアドレスを基に,レイヤ4方式では送信元IPアドレスとポート番号を基に,レイヤ7方式ではクッキー又はURL情報に埋め込まれたaを基に,セッション維持が行われる。サーバの稼働監視については,レイヤ3ではbパケットによる装置監視,レイヤ4ではc確立要求に対する応答を確認するサービス監視,レイヤ7ではアプリケーション監視が行われる。
〔SLBの導入構成案1〕
今回は,導入が容易なレイヤ4方式を採用し,SLBをPCとサーバの間に設置する。APサーバは,1台増設してAPサーバ1とAPサーバ2の構成にする。
SLBには,それ自体のIPアドレスの他に,負荷分散対象の2台のAPサーバを代表する,仮想的な一つのIPアドレス(以下,VIPという)を設定する。PCがVIP宛てに処理要求を行うと,その処理要求は,SLBによって最適なサーバに転送される。その際,SLBは,送信元IPアドレスの変換は行わない。
SLB導入時の構成(構成案1)と,PCとAPサーバ1の間の通信の順序を図2に,その時のPCとAPサーバ1の間のフレーム内のアドレス情報を表1に示す。 J君が構成案1の内容をN主任に報告したときの会話を,次に示す。
- J君:
- SLBを,図2の構成で導入します。その際,PCのアクセス先のAPサーバのIPアドレスをVIPに変更します。また,通信は,表1のようになります。
- N主任:
- よく調べたね。しかし,図2の構成では,大きな変更が必要になってしまう。現在の業務システムの,PC,APサーバ及びDBサーバのサブネットマスク値は,fとなっているから,これを,gに変更するとともに,(ⅰ)サーバのその他のネットワーク情報も変更することになる。
- J君:
- 変更の少ない方法があるのでしょうか。
- N主任:
- SLBのソースNAT機能を使用する方法を調べてみなさい。
〔SLBの導入構成案2〕
SLBには,PCから送信されたパケットをAPサーバに転送するとき,送信元IPアドレスを,SLB自体に設定されたIPアドレスに変換してサーバ宛てに送信する,ソースNAT機能がある。
ソースNAT機能使用時の構成(構成案2)と,PCとAPサーバ1の間の通信の順序を図3に,その時のPCとAPサーバ1の間のフレーム内のアドレス情報を表2に示す。 J君が構成案2の内容をN主任に報告したときの会話を,次に示す。
- J君:
- ソースNAT機能を使用すると,図3の構成になります。その際,通信は,表2のようになります。この方式では,現在の構成を変更する必要がありません。
- N主任:
- そうだね。図3の構成では,APサーバとDBサーバのネットワークケーブルの接続変更が必要ないだけでなく,PC,APサーバ及びDBサーバのネットワーク情報の変更も必要ない。ただし,ソースNAT機能を使うと,(ⅱ)APサーバのログを基にAPサーバの利用状況を調査するときに,制約が生まれる。しかし,運用管理に支障を来すわけではないので,図3の方法で進めてくれないか。
広告
設問1
本文中のa~cに入れる適切な字句を解答群の中から選び,記号で答えよ。
a,b,c に関する解答群
- ICMPエコー要求
- ICMPリダイレクト
- TCPコネクション
- アプリケーションセッション
- シーケンス番号
- セッションID
解答例・解答の要点
a:カ
b:ア
c:ウ
b:ア
c:ウ
解説
〔aについて〕レイヤ7方式におけるセッション維持に必要な情報が入ります。レイヤ7とは、OSI基本参照モデルの第7層であるアプリケーション層のことを指しています。[a]の直前に「クッキー又はURL情報」という字句があるので、Webアプリケーション(HTTP通信)のセッション管理に関する回答を選択することがわかります。
Webサービスで使用されるHTTP(S)は、クライアントからのリクエスト、リクエストに対するサーバからのレスポンスの組みから成るステートレスな通信であり、セッション維持の仕組みが規定されていません。
- ステートレス
- システムが状態の保持を行わず、入力内容によってのみ出力が決まる方式
セッションIDは、クッキーとしてブラウザに埋め込まれたり、URLのパラメータ部に組み込まれたり※してクライアントからサーバに送られます。選択肢にはレイヤ7でやり取りする情報が他にないので「セッションID」が正解となります。
∴a=カ:セッションID
※URLパラメータにセッションIDを埋め込むと、セッションIDが丸見えでセッションハイジャックの危険性があるので推奨されません。
〔bについて〕
サーバの稼働監視とは、サーバが稼働していることを定期的に確認することです。死活監視やヘルスチェックなどとも呼ばれます。
サーバの稼働監視は使用するプロトコルによって幾つかの方法があります。
- pingチェック(レイヤ3)
- pingを実行して、応答が返ってくるかどうかで確認する
- ポートチェック(レイヤ4)
- TCP接続要求を出して、コネクションが確立できるかどうかで確認する
- アプリケーションチェック(レイヤ7)
- 特定のアプリケーションコマンドを送信して、応答があるかどうかで確認する
なお「イ:ICMPリダイレクト」は、同じICMPのメッセージですがサーバの稼働監視に使用されるものではありません。このメッセージは、パケットが誤ったネットワークに送信された際、送信元ホストへ「送信先が誤っている」ことを知らせるためのメッセージなので不適切です。
∴b=ア:ICMPエコー要求
〔cについて〕
レイヤ4方式のサービス監視に関する字句が入ります。問題文では「c確立要求」と続くので、選択肢の中だと「エ:アプリケーションセッション」または「ウ:TCPコネクション」のいずれかになります。
前述の通り、レイヤ4ではサービスが待ち受けるポート番号に対してTCP接続要求を出し、応答が返ってくることでそのサービスが稼働しているかどうかを判断します。アプリケーションセッションの確立要求はレイヤ7方式に分類されるので誤りです。
∴c=ウ:TCPコネクション
広告
設問2
〔SLBの導入構成案1〕について,(1)~(3)に答えよ。
- 表1中のd,eに入れる適切なアドレスを,図2中の表記で答えよ。
- 本文中のf,gに入れるサブネットマスクの値を,10進表記で答えよ。
- 本文中の下線(ⅰ)のネットワーク情報とは何か。適切な字句を答えよ。
解答例・解答の要点
- d:SLB1MAC
e:172.16.0.50
- f:255.255.0.0
g:255.255.255.0
- 経路表(ルーティングテーブル) 又は デフォルトゲートウェイ
解説
- 〔dについて〕
図2を確認すると、①ではPC(172.16.0.50)から送信されたリクエストをSLBが受け取り、転送先を検索した後、②でAPサーバ1(172.16.1.1)に転送していることが確認できます。
イーサネットヘッダーのMACアドレスは機器を中継するたびに書き換えられるので、SLBが転送した際、イーサネットヘッダーに記載されていたPCのMACアドレスがSLBの(送出側の)MACアドレスに変更されます。
∴d=SLB1MAC
〔eについて〕
構成案1では「PCがVIP宛てに処理要求を行うと,その処理要求は,SLBによって最適なサーバに転送される。その際,SLBは,送信元IPアドレスの変換は行わない」と説明されています。この説明にある通り、本方式では中継の際に送信元IPアドレスの変換を行わないので、[e]にはPCのIPアドレス「172.16.0.50」が入ります。
∴e=172.16.0.50 - 〔fについて〕
図1を確認すると左上に「172.16.0.0/16」と記載されています。これは、IPアドレスのうち上位16ビットがネットワークアドレスであることを表しているので、サブネットマスクは上位16ビットを1に、それ以外を0にした以下のビット列になります。
11111111 11111111 00000000 00000000
これを8ビットずつドットで区切り10進数表記に直すと「255.255.0.0」となります。
∴f=255.255.0.0
〔gについて〕
図2を確認するとPCが設置されているネットワークは「172.16.0.0/24」、サーバ群が設置されているネットワークの左上に「172.16.1.0/24」に変更されています。どちらも、IPアドレスのうち上位24ビットがネットワークアドレスですので、サブネットマスクは上位24ビットを1に、それ以外を0にした以下のビット列になります。
11111111 11111111 11111111 00000000
これを8ビットずつドットで区切り10進数表記に直すと「255.255.255.0」となります。
∴g=255.255.255.0 - 図1と図2ではサーバ群のIPアドレスが同じであり、前文にてサブネットマスクの変更について言及されているので、それ以外に変更しなければならないネットワーク情報について考えます。
図1と図2で変わったことは、PCとサーバ群が異なるネットワークセグメントに所属することになったことです。図1では、PCとサーバ群が同じネットワークセグメントだったので直接送信することができました。しかし、図2ではPCとサーバが異なるネットワークセグメントに所属しているため、直接の通信ができないという違いがあります※。
送信元ホストは、宛先IPアドレスが自身とは別のネットワークセグメントに属していた場合、自身のルーティングテーブル(経路表)からデフォルトゲートウェイ(通常はルータ)のIPアドレスを確認し、デフォルトゲートウェイにパケットの中継を依頼します。図2の構成では、SLBがデフォルトゲートウェイの役割を担っています。
図1の構成では全てのホストが同一のネットワークセグメントに属しているため、ルーティングテーブルやデフォルトゲートウェイの設定は特段不要ですが、図2の構成では、PCと通信するために、サーバ群のルーティングテーブルとデフォルトゲートウェイにSLBのIPアドレス(172.16.1.10)を設定しなければなりません。
∴経路表(ルーティングテーブル) 又は デフォルトゲートウェイ
※説明を平易にするために詳細を割愛していますが、ARP要求(ブロードキャスト)がネットワークの境界を越えられないため、送信先のMACアドレスが得られず、宛先ホストをMACアドレスに設定したフレームを送信できないということです。
※ネットワーク情報としては他にDNSサーバのIPアドレスやDHCPの情報などがありますが、本問ではどちらもネットワークに存在しません。
広告
設問3
〔SLBの導入構成案2〕について,(1),(2)に答えよ。
- 表2中のh,iに入れる適切なアドレスを,図3中の表記で答えよ。
- 本文中の下線(ⅱ)の制約とは何か。25字以内で述べよ。
解答例・解答の要点
- h:SLB0MAC
i:172.16.0.101
- APサーバを使用したPCが特定できなくなる (21文字)
解説
- 〔hについて〕
図3を確認すると、①でPC(172.16.0.50)から送信されたリクエストを、②でSLBがAPサーバ1(172.16.1.1)に転送していることが確認できます。
[d]と同様に、SLBが転送した際、イーサネットヘッダーに記載されていた送信元MACアドレスがPCのものからSLBのMACアドレスに変更されます。
∴h=SLB0MAC
〔iについて〕
構成案2でもSLBが通信を中継することは変わりませんが、構成案1と異なるのは「PCから送信されたパケットをAPサーバに転送するとき,送信元IPアドレスを,SLB自体に設定されたIPアドレスに変換してサーバ宛てに送信する」点です。
②の通信は、①でPCから受け取ったフレームをAPサーバ1に転送するものですので、送信元IPアドレスはSLBのIPアドレスである「172.16.0.101」に変更されています。
∴i=172.16.0.101 - 通常、サーバのログにはアクセスした日時、送信元IPアドレス、リクエスト内容などが記録されます。構成案2では、ソースNAT機能によりAPサーバに届くリクエストの送信元IPアドレスが全てSLBのIPアドレス(172.16.0.101)になっているので、ログを見てもどのPCからアクセスがあったのか特定できません。このため、ログ分析を行う際にはSLBのログと照合しながら行うなどの工夫が必要となります。
∴APサーバを使用したPCが特定できなくなる
広告
広告