平成23年特別試験午後問題 問4

問4 システムアーキテクチャ

⇱問題PDF
非機能要件の定義に関する次の記述を読んで,設問1~4に答えよ。
 R社は,インターネット上で商品の販売を行う中堅企業である。現在稼働しているシステムでは,画面や業務ロジックといった機能要件だけを追求し,可用性や性能といった非機能要件を明らかにしていなかった。その結果,サーバの故障による取引データの消失,ネットワーク機器の故障による長時間にわたるサービス停止,取引トランザクションの増加によるレスポンスの低下などが起きている。データ消失や計画外のシステム停止は信用低下という問題を,サービスの停止やレスポンスの低下は販売機会損失の発生という業務上の問題を引き起こしている。
 そこで,R社のシステム部では,これらの問題に対応するため,現行システムをリプレースすることにした。新システムの要件定義においては,想定以上の取引が発生した際のレスポンス低下や不正を追跡するなどの内部統制への対応を考慮した。また,投資は必要最低限の範囲に抑える方針で,非機能要件を表1のとおり整理した。
pm04_1.png
〔可用性の検討〕
 新システムでは,各機器の故障による問題を回避するために,表1の耐障害性の項にあるように,各機器を二重化する。ただし,データベースのディスクを二重化することはコストが非常に掛かるので二重化はせず,二つのデータベースサーバでディスクを共有する構成にして,そのディスクをRAID1+0による冗長構成にすることで,稼働率を上げることにした。
 新システムの構成案を図1に示す。この図のとおり,共有ディスク以外のすべての機器,回線及びLANが二重化された構成である。FW1,FW2はWebサーバへの負荷を分散させるロードバランサの機能を兼ねる。LANは,アクティブスタンバイ方式で二重化されている。また,災害復旧サイトとして,同じ構成のバックアップシステムを遠隔地に配置する。
pm04_2.png
〔性能の検討〕
 必要なLANの転送速度について考える。現行システムのトランザクションを調査したところ,画像データやカタログデータの閲覧から注文完了までの1トランザクション当たりの平均転送量は0.6Mバイトだった。性能目標値である1時間当たりの最大トランザクション数は2,400件なので,1秒当たりの最大転送量はbMビットである。LAN上での実効転送速度は20%低下するとして,LANの最大利用率50%を考慮すると,転送速度は最低でもcビット/秒は必要である。
 性能目標値については,応答時間5秒以内,遵守率95%を確保するために,災害復旧サイトへのリアルタイムデータ配信は実施しないことにする。

〔拡張性の検討〕
 将来の拡張のために,表1のリソース拡張性を検討している。このうちWebサーバについては,単体での拡張性は求められていない。これは,Webサーバの性能が不足した場合,aすることによってWebサーバ全体の性能を向上させることができるからである。

〔セキュリティの検討〕
 セキュリティ要件として挙げられているデータ暗号化は,個人情報を扱う今回のシステムでは必須の要件である。ただし,データを暗号化するとCPUリソースを消費し,さらに,暗号化したデータはサイズが大きくなるので,ディスク及びネットワークリソースも消費する。

設問1

〔可用性の検討〕について,(1),(2)に答えよ。
  • 稼働率99.9%を満たすためには,1年間を365日とすると,1年間のサービス中断時間の累計は最大何時間か。答えは,小数第3位を四捨五入して小数第2位まで求めよ。
  • ファイアウォールの稼働率を f,Webサーバの稼働率を w,データベースサーパの稼働率を d,共有ディスクの稼働率を s,ネットワークの稼働率を1とした場合,図1の新システムの稼働率を解答群の中から選び,記号で答えよ。
解答群
  • (1-(1-f)2)2(1-(1-w)2)(1-(1-d)2)s
  • 1/2(1-(1-f)2)2(1-(1-w)2)(1-(1-d)2)s
  • (1-f2)(1-w2)(1-d2)s
  • f2w2d2s

解答例・解答の要点

  • 8.76

解説

  • 稼働率99.9%を満たすためには、1年間のサービス中断時間の累計を最大0.1%に収めないといけません。許容されるサービス中断時間を求める計算式は次の通りです。

     365[日]×24[時間]×0.001=8.76時間

    ∴8.76

  • 新システムを使える状態に保つには、すべての機器が正常に稼働している必要があります。よって、新システムの稼働率は次の計算式で求めることができます。

    ファイアウォールの稼働率×Webサーバの稼働率×データベースサーバの稼働率×共有ディスクの稼働率×ネットワークの稼働率

    問題文の〔可用性の検討〕に「共有ディスク以外のすべての機器,回線及びLANが二重化された構成である」という記述があります。二重化されている部分は、少なくともどちらか1台が稼働していれば、システム全体は正常に稼働すると考えられます。ファイアウォールは2ヶ所(計4台)ありますが、FW1とFW2、FW3とFW4はそれぞれどちらか1つでも稼働していれば問題ありません。二重化されている部分の稼働率は「1-(2台同時に停止する確率)」で求められます。

    上記を踏まえて、それぞれの機器の稼働率を求めます。
    • ファイアウォール(FW1・FW2)の稼働率:1-(1-f)2
    • ファイアウォール(FW3・FW4)の稼働率:1-(1-f)2
    • Webサーバの稼働率:1-(1-w)2
    • データベースサーバの稼働率:1-(1-d)2
    • 共有ディスクの稼働率:s
    • ネットワークの稼働率:1
    これをシステム全体の稼働率を表す式に代入すると「ア」の式になります。FWの部分は「(1-(1-f)2)×(1-(1-f)2)」なので、(1-(1-f)2)2 にまとめられています。

    ∴ア:(1-(1-f)2)2(1-(1-w)2)(1-(1-d)2)s

設問2

〔性能の検討〕について,(1),(2)に答えよ。
  • 本文中のbに入れる適切な数値を答えよ。答えは,小数第2位を四捨五入して小数第1位まで求めよ。
  • 本文中のcに入れる適切な字句を解答群の中から選び,記号で答えよ。
c に関する解答群
  • 10M
  • 100M
  • 1G
  • 10G

解答例・解答の要点

  • b:3.2
  • c:

解説

  • bについて〕
    平均転送量0.6Mバイトのトランザクションを1時間当たり最大で2,400件処理するので、1秒当たりの転送量は、

     0.6[Mバイト]×2,400[件]÷3,600[秒]
    =0.6×2÷3=0.4[Mバイト]

    解答単位は"Mビット"なのでビット単位に直します。1バイト=8ビットなので、

     0.4[Mバイト]×8[ビット]=3.2[Mビット]

    b=3.2

  • 必要な転送速度を"nビット/秒"とします。LAN上での実効転送速度は20%低下することを計算に入れつつ、LANの最大利用率は50%に収めた状態で、(1)で求めた1秒当たりの最大転送量"3.2Mビット/秒"を実現できる転送速度にしなければいけません。これを計算により求めます。

     n×(1-0.2)×0.5=3.2
     n×0.4=3.2
     n=8

    よって、最低でも8Mビット/秒の転送速度が必要です。解答群のうちこれを満たし、かつ最も少ない「10M」ビットが正解となります。

    c=ア:10M

設問3

〔拡張性の検討〕について,(1),(2)に答えよ。
  • aに入れる適切な字句を答えよ。ここで,表1及び本文中のaには同じ字句が入る。
  • 新システムでは,現状のシステム上の問題を解決するために,データベースサーバ及びWebサーバ全体にリソース拡張性をもたせることにした。これによって,R社ではどのようなシステム上の問題を回避し,業務上の問題を解決することができるか。それぞれ適切な字句を答えよ。

解答例・解答の要点

  • a:水平分散 又は スケールアウト
  • システム上の問題:レスポンスの低下
    業務上の問題:販売機会損失の発生

解説

  • aについて〕
    リソース拡張の手段は大きく2種類あります。1つは「スケールアップ」で、サーバ自体をより高性能なものにすることで、サーバ単体の性能を向上させることを指します。もう1つは「スケールアウト」で、サーバの数を増やして負荷分散させることにより、リソースを拡張する方法です。各サーバに均等に分散して処理をさせるため、水平分散とも言います。
    今回はサーバ単体の拡張性は求められていないということなので、もう一つの方法、つまり「スケールアウト(または水平分散)」でリソース拡張することになります。

    a=水平分散 又は スケールアウト

  • データベースサーバ及びWebサーバ全体にリソース拡張性をもたせることにより、今後トランザクションが増加しても、データベースやWebサーバでの処理に必要なリソースを十分に確保できるようになります。これにより、現状の問題であった「取引トランザクションの増加によるレスポンスの低下」というシステム上の問題を回避することができます。
    また、問題文にある通り「レスポンスの低下は販売機会損失の発生という業務上の問題を引き起こしている」ため、レスポンスの低下を回避することにより「販売機会損失の発生」という業務上の問題を解決することができます。

    ∴システム上の問題:レスポンスの低下
     業務上の問題:販売機会損失の発生

設問4

新システムの非機能要件を検討した結果,採用された対応はどれか。正しい記述を解答群の中からすべて選び,記号で答えよ。
解答群
  • 可用性及び性能で定義した指標よりも良い結果が期待できるシステム構成や各種機器は,費用が高くても採用する。
  • 災害復旧サイトへのデータ配信は,性能の低下を回避するためにリアルタイムには実施しない。
  • 性能目標値である応答時間やスループットへの影響を回避するため,決済データへの操作の一部の処理に絞ってログを取得する。
  • 伝送データ及び蓄積データの暗号化を行うとリソース拡張性に影響があるが,個人情報を扱うので暗号化は行う。

解答例・解答の要点

イ,エ

解説

解答群の記述を一つずつ検討していきます。
  • 問題文の冒頭で「投資は必要最低限の範囲に抑える方針」という記述があります。実際に〔可用性の検討〕には、「データベースのディスクを二重化することはコストが非常に掛かるので二重化はせず,…」とあり、コストを抑える方法をとっています。費用が高くても採用するのはシステム方針に反するため不適切です。
  • 正しい。〔性能の検討〕に「性能目標値については,応答時間5秒以内,遵守率95%を確保するために,災害復旧サイトへのリアルタイムデータ配信は実施しないことにする」という記述があります。検討結果と同じことが述べられているので、採用すべき対応となります。
  • 表1のセキュリティの不正追跡・監視の項目を見ると「決済データへのすべての操作内容のログを取得」という要件があります。ログの取得を一部の処理に絞ると非機能要件を満たせないので不適切です。
  • 正しい。〔セキュリティの検討〕に「セキュリティ要件として挙げられているデータ暗号化は,個人情報を扱う今回のシステムでは必須の要件である。ただし,…ディスク及びネットワークリソースも消費する」という記述があります。暗号化は必須の要件ですから、リソース拡張性への影響への有無にかかわらず採用しなくてはなりません。
∴イ,エ
模範解答

Pagetop