ITパスポート 令和6年度 問67:computer_systemに関する問題
図に示す2台の Web サーバと1台のデータベースサーバから成る Web システムがある。Web サーバの稼働率はともに 0.8 とし、データベースサーバの稼働率は 0.9 とすると、このシステムの小数第3位を四捨五入した稼働率は幾らか。ここで、2台の Web サーバのうち少なくとも1台が稼働していて、かつ、データベースサーバが稼働していれば、システムとしては稼働しているとみなす。また、それぞれのサーバはランダムに故障が起こるものとする。[構成] Webサーバ×2(並列) → データベースサーバ(直列)
- a0.04
- b0.58
- c0.86正答
- d0.96
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは c の「0.86」 です。
Webサーバは2台あって「どちらか1台でも動いていればOK」。つまり両方同時に壊れないかぎりセーフです。両方壊れる確率は 0.2×0.2=0.04 なので、どちらか動く確率は 1−0.04=0.96。
そのうえで「データベースも動いていないとダメ」なので、0.96 とデータベースの 0.9 をかけて、0.96×0.9=0.864 → 約 0.86 です。
👉 覚え方:「どちらかでOK=両方ダメを引く」「両方ともOKが必要=かけ算」。
ほかの選択肢(0.04・0.58・0.96)は途中の数字や計算手順を間違えたときに出てしまう値です。
なぜこれが正解か
正解は c(0.86)。
- Webサーバ2台は並列(1台でも稼働すればよい)。並列の稼働率は 1−(両方故障)=1−(1−0.8)×(1−0.8)=1−0.04=0.96。
- これにデータベースサーバが直列(必須)でつながるので、全体は掛け算:0.96×0.9=0.864。
- 小数第3位を四捨五入して 0.86。
各選択肢の検証
- a 0.04:両方のWebが故障する確率を出して止まった誤り。
- b 0.58:Web2台を直列扱い(0.8×0.8×0.9)にした誤り。
- d 0.96:Web並列部分だけで止め、DBを掛け忘れた誤り。
覚え方・ひっかけ注意
「直列=掛け算」「並列=1−(全部故障の積)」。並列は“足し算”ではない点が最大の引っかけ。問題文の「少なくとも1台」=並列、「かつ」=直列、と日本語から構成を読み取る。
理論的背景
本問はシステム稼働率の計算問題であり、直列と並列の複合構成を扱う。並列接続の稼働率計算には補集合の考え方(少なくとも1台が稼働=全台停止でない確率)を用いる。Webサーバ2台並列の稼働率は「1 - (1-0.8)×(1-0.8) = 1 - 0.04 = 0.96」。これをデータベースサーバ(稼働率0.9)と直列接続するので全体稼働率は「0.96 × 0.9 = 0.864 ≒ 0.86(小数第3位四捨五入)」。この計算の数学的背景はベルヌーイ試行と確率の乗法定理であり、「独立した故障が確率的にランダムに発生する(指数分布に従う)」という仮定の下で成立する。現実のシステムでは共通故障モード(Common Cause Failure:電源障害・冷却システム故障)が存在するため、純粋な独立性仮定は楽観的すぎるケースがあり、FMEA(Failure Mode and Effects Analysis)やFTA(Fault Tree Analysis)で補完される。
実務での使われ方
稼働率(Availability)はSLA(Service Level Agreement)の主要KPIの一つであり、クラウドサービス(AWS・Azure・GCP)はSLAで「99.9%(スリーナイン)」「99.99%(フォーナイン)」等の数値を保証している。年間ダウンタイムに換算すると99%≒87.6時間/年、99.9%≒8.76時間/年、99.99%≒52.6分/年となり、目標稼働率によって必要な冗長化構成が大きく変わる。本問の0.96稼働率WebサーバはELB(Elastic Load Balancer)のようなロードバランサーで2台以上並列化した構成に相当。RTO(Recovery Time Objective:目標復旧時間)とRPO(Recovery Point Objective:目標復旧時点)と組み合わせたBCP設計では、稼働率だけでなく平均修復時間(MTTR)と平均故障間隔(MTTF)も考慮してAvailability = MTTF/(MTTF+MTTR)の式で評価する。
試験での位置づけ
稼働率計算はITパスポートで毎年出題される定番計算問題。直列×並列の複合構成の計算手順(並列を先に計算→直列で掛ける)を確実に習得していることが前提。近年の傾向として「部分稼働時のシステム全体評価」「3台以上の並列」など複雑化した構成の出題が増加している。計算ミスのパターンは「並列を直列のように掛けてしまう(0.8×0.8=0.64)」または「直列を並列のように計算してしまう(1-(1-0.9)×(1-0.96)=0.996)」の2種類が典型。基本情報技術者(FE)ではMTBF・MTTR・稼働率の相互関係、信頼性設計の考え方(フォールトトレランス・フェイルセーフ・フールプルーフ)まで問われる。
選択肢の発展補足
選択肢a(0.04)はWebサーバ2台が同時停止する確率(0.2×0.2)のみを計算しており、稼働率ではなく「全停止確率」を求めた場合の誤答パターン。選択肢b(0.58)はWebサーバ稼働率を0.8×0.8=0.64と誤計算(並列を直列扱い)し、0.64×0.9=0.576≒0.58とした誤答パターン。選択肢d(0.96)はWebサーバ並列の稼働率(0.96)のみでDBサーバとの直列計算を忘れた誤答パターン。この問題で試験委員が仕掛けている罠の構造を理解することで、類題の誤答回避に活用できる。発展的な稼働率設計では「スタンバイ冗長(ホット/コールド/ウォームスタンバイ)」と「アクティブ-アクティブ冗長」の違いも重要で、前者は切り替え時間が発生するためRTOへの影響を考慮する必要がある。
出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和6年度 問67/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。