平成30年春期試験午後問題 問4

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】

問4 ネットワーク

クラウドサービス上でのシステム構築に関する次の記述を読んで,設問1,2に答えよ。

 G社は,J社が運営するクラウドサービス上で,写真投稿サービス及び写真検索サービスを構築することにした。
  • 写真投稿サービスは,利用者から投稿された写真を受け付け,自動で分類し,保管するサービスである。
  • 写真検索サービスは,利用者から指定された条件に合致する写真を,保管されている写真の中から検索し,表示させるサービスである。
  • 利用者は,PC,スマートフォンなど(以下,クライアントという)を用いてサービスを利用する。
 システム構成を図1に示す。図1中の矢印の向きはアクセスの方向を示している。
pm04_1.png
写真投稿サービスにおける処理の概要は,次のとおりである。
  • フロントサーバは,クライアントから写真を受け取り,一意なIDを写真に割リ当て,ストレージサーバに保存する。
  • フロントサーバは,写真のID,ストレージサーバ上での写真の保存場所などを,その写真の属性情報としてDBサーバに登録する。
  • フロントサーバは,キューサーバに写真のIDを格納する。
  • バックサーバは,キューサーバから写真のIDを取得する。
  • バックサーバは,(4)で取得したIDに該当する写真の属性情報をDBサーバから検索し,ストレージサーバから写真を取得する。
  • バックサーバは,(5)で取得した写真をあるアルゴリズムによって分類し,分類結果をDBサーバのその写真の属性情報に付加する。
  • レプリケーションサーバは,ストレージサーバに定期的にアクセスし,新規に保存された写真を取得して自サーバ上に保存する。レプリケーションサーバ上の写真の保存場所は,ストレージサーバ上のそれと一意に対応付けられるように,あらかじめ定めてある規則に従って決定する。
 写真検索サービスにおける処理の概要は,次のとおりである。
  • フロントサーバは,クライアントから検索要求を受け取り,条件に合致する写真の属性情報をDBサーバから検索する。
  • フロントサーバは,検索された写真の属性情報から,レプリケーションサーバに保存された写真にアクセスするためのURLを作成する。
  • フロントサーバは,作成したURLを含むHTMLデータを生成してクライアントに返す。
  • クライアントは,フロントサーバから返されたHTMLデータに基づきレプリケーションサーバにアクセスし,写真を取得して表示する。
 なお,クライアントは,インターネットと負荷分散装置を介して,フロントサーバとレプリケーションサーバにアクセスする。

 サーバは仮想マシン上で稼働させる。フロントサーバ及びバックサーバを稼働させる仮想マシンの主記憶容量やディスク容量は十分にあり,負荷に応じて台数を増減できる。
 計算処理能力やネットワーク処理能力に着目すると,仮想マシンには幾つかのタイプがある。仮想マシンのタイプを表1に示す。
pm04_2.png
 表1中の計算処理能力は,タイプAの計算処理能力を1としたときの相対的な値である。ネットワーク処理能力は,タイプAのネットワーク処理能力を1としたときの相対的な値である。
 "1秒の計算処理量"とは,タイプAの仮想マシン1台を計算処理能力の100%で1秒間使用したときの処理量をいう。また,"1秒のネットワーク処理量"とは,タイプAの仮想マシン1台をネットワーク処理能力の100%で1秒間使用したときの処理量をいう。

 フロントサーバにおいては,1要求当たり,計算処理量は0.1秒,ネットワーク処理量は0.07秒である。
 クライアントからの要求が非常に多いとき,フロントサーバのコストを最も低く抑えることができる仮想マシンのタイプはaである。ここで,各仮想マシンの計算処理能力とネットワーク処理能力の平均の使用率は,それぞれ50%以下に抑えることとする。

 バックサーバにはタイプDの仮想マシンを使用する。
 バックサーバの写真1枚当たりの計算処理量は,25秒である。1時間当たり4,000枚の写真の投稿があるとき,計算処理能力の平均の使用率を50%以下とするのに最低限必要な仮想マシンの台数はb台である。ここで,ネットワーク処理能力は足りているものとする。

 図1中の各サーバ及び負荷分散装置(以下,サーバ類という)は表2に示すいずれかのグループに属しており,グループごとに他のグループやインターネットからのアクセス許可を設定することができる。サーバ類が受け付けるプロトコルを表3に示す。
pm04_3.png
 各グループが許可するアクセスを必要最低限とすることにした結果,cが許可するアクセスは一致する。また,グループ3が許可するアクセスは表4に示すとおりになった。
 表4は,グループ3に属するサーバ類が,アクセス元に指定したグループに属するサーバ類からの,指定したポート番号のポートを介してのアクセスを許可することを示している。
pm04_4.png

設問1

本文中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
  • A
  • B
  • C
  • D
b に関する解答群
  • 4
  • 7
  • 28
  • 56
c に関する解答群
  • グループ1,2,5及び6
  • グループ2,5及び6
  • グループ2及び6
  • グループ5及び6
解答選択欄
  • a:
  • b:
  • c:
  • a=
  • b=
  • c=

解説

aについて〕
計算処理能力については「A→B→C→D」の順に計算処理能力当たりのコストが安くなっていきますが、ネットワーク処理能力についてはそうはなっていないことに注意します。ここでは仮に10,000要求を処理する場合を想定し、それに要するコストについて考えてみます。

10,000要求を処理するとなると、(0.1秒×10,000要求=)1,000秒の計算処理量及び(0.07秒×10,000要求=)700秒のネットワーク処理量が生じます。これをタイプA~Dの仮想マシンで処理するとなると、
タイプA
・計算処理時間:1,000÷1=1,000(秒)
・ネットワーク処理時間:700÷1=700(秒)
2つを比較すると計算処理がボトルネック(処理完了までに仮想マシンを1,000秒稼働させなければならない)になります。タイプAは10円/時間ですので10,000要求の処理に必要なコストは、
・コスト:1,000秒÷3,600秒×10円≒2.8
タイプB
・計算処理時間:1,000÷2=500(秒)
・ネットワーク処理時間:700÷1.5≒467(秒)
2つを比較すると計算処理がボトルネックになります。タイプBは18円/時間ですので10,000要求の処理に必要なコストは、
・コスト:500秒÷3,600秒×18円=2.5
タイプC
・計算処理時間:1,000÷4=250(秒)
・ネットワーク処理時間:700÷2=350(秒)
2つを比較するとネットワーク処理がボトルネックになります。タイプCは34円/時間ですので10,000要求の処理に必要なコストは、
・コスト:350秒÷3,600秒×34円≒3.3
タイプD
・計算処理時間:1,000÷8=125(秒)
・ネットワーク処理時間:700÷2=350(秒)
2つを比較するとネットワーク処理がボトルネックになります。タイプDは60円/時間ですので10,000要求の処理に必要なコストは、
・コスト:350秒÷3,600秒×60円=5.8
このように、計算処理能力とネットワーク処理能力のバランスがG社の構築するシステムに合っているタイプBが最も割安になります。

a=イ:B

aの導き方については当サイトの掲示板[スレッドNo.1132]に幾つかの方法が寄せられています。ぜひ参考にしてみてください。

bについて〕
まず写真1枚当たりの計算処理量と1時間当たりの投稿数から、バックサーバが1時間当たりに処理すべき計算処理量を計算します。

 25秒×4,000枚=100,000秒

また、タイプDの1時間当たりの計算処理量は以下の通りです。

 8×3,600秒=28,800

そして、設問の条件として「計算処理能力の平均の使用率を50%以下とする」とあるので、計算処理能力28,800(100%使用時)のうち実際に使用できるのは半分(50%)の14,400だけになります。

この2つの数値をもとに仮想サーバの台数をN台とした一次不等式を立て、答えを導きます。

 14,400N≧100,000
 N≧6.9444…

したがって最低限必要な仮想マシンの台数は7台とわかります。

b=イ:7

cについて〕
写真投稿/検索サービスの概要をもとに、システムを構成するサーバごとにアクセスを許可する要求元を整理すると次のようになります。
pm04_5.png
図1の〔システム構成〕を見ると、負荷分散装置はクライアントからの要求(HTTPS)を一旦受け取り、リクエストの内容に応じて適切なサーバにHTTPで代理アクセスすることがわかります。フロントサーバとレプリケーションサーバは、ともに負荷分散装置からのHTTPアクセスを受け付けるのみなので許可ルールが一致します。

c=ウ:グループ2及び6

設問2

クライアントからの写真へのアクセスを,ストレージサーバがインターネットを介して直接受ける方法も考えられるが,この方法ではなく,図1のように負荷分散装置を介し,レプリケーションサーバが受けることの利点として適切な答えを,解答群の中から二つ選べ。
解答群
  • クライアントからの写真へのアクセスが増加しても,ストレージサーバの負荷は高まらない。
  • クライアントと写真へのアクセスに応答するサーバとの間に介在するサーバ類の台数が少ないので,ネットワーク遅延が小さい。
  • ストレージサーバに障害が発生しても,写真検索サービスの提供を継続できる。
  • ストレージサーバに障害が発生しても,写真投稿サービスの提供を継続できる。
  • 全てのフロントサーバに障害が発生しても,写真検索サービスの提供を継続できる。
解答選択欄
  •  
  •  
  •  
  •  
※順不同

解説

  • 正しい。クライアントが写真にアクセスする際には、レプリケーションサーバ上の画像を参照するので、アクセス要求が増えてもストレージサーバの負荷は高まりません。
  • ストレージサーバがアクセスを直接受ける方法と比較すると、アクセスごとにフロントサーバが画像URLを作成してクライアントに伝達しなければならない分だけ、ネットワーク負荷は高くなります。
  • 正しい。写真検索サービスでは、クライアントはレプリケーションサーバに保存された画像にアクセスするのでストレージサーバへのアクセスは生じません。このため、たとえストレージサーバが停止しても写真検索サービスを継続できます。
  • 投稿された写真はストレージサーバに保存されることになっているため、ストレージサーバが停止すると写真投稿サービスを継続できません。
  • フロントサーバは、写真検索サービスにおいて写真にアクセスするためのURLを作成し、クライアントにそのURLを返す役割を担います。全てのフロントサーバに障害等により停止すると、クライアントは画像URLを取得できなくなるので、写真検索サービスの提供を継続できません。

Pagetop