平成25年度 秋期 ITパスポート試験 問47 解説 システムの高可用性設計
無停止のシステムを実現するために, システムの方式を設計するときの検討事項として, 適切なものはどれか。
- ア ソフトウェアの部品化
- イ データの暗号化
- ウ ハードウェアの省電力化
- エ ハードウェアの多重化 ✓ 正答
解説
無停止システムを実現する鍵は「単一障害点の排除」
無停止(高可用性)を目的としたシステム設計では、システムの一部が故障しても動作し続ける仕組みが必要です。特定の箇所が故障した瞬間にシステム全体が停止してしまうような箇所を「単一障害点(SPOF:Single Point of Failure)」と呼びます。このSPOFを排除するために、ハードウェアを複数用意して予備を持たせる「多重化(冗長化)」が最も直接的で適切なアプローチとなります。
なぜハードウェアの多重化が必要なのか
システムが停止する要因として最も多いのが、サーバーやネットワーク機器などのハードウェアの故障です。もし1台のサーバーだけでサービスを提供している場合、そのサーバーが故障すればサービスは即座に停止します。
これを防ぐには、同じ役割を持つ機器を2台以上並べて設置する必要があります。一方が故障しても、もう一方が処理を引き継ぐ(フェイルオーバーする)ことで、利用者から見てシステムが止まっていない状態、つまり無停止状態を維持できるのです。
他の選択肢が誤りである理由
- ソフトウェアの部品化は、開発の効率性や保守性を高める手法です。ソフトウェアの修正を容易にしますが、直接的にハードウェアの故障に対する耐性を高めるものではありません。
- データの暗号化は、情報の機密性を守るための手法です。外部からの盗聴や漏洩を防ぐものであり、システムの停止を防ぐ技術ではありません。
- ハードウェアの省電力化は、ランニングコストの削減や環境負荷低減を目的とするものです。システムの安定稼働や継続性とは直接結びつきません。
システム設計の現場における「可用性」の考え方
ITパスポート試験で問われる「無停止」とは、専門用語で「高可用性(High Availability)」と言います。実際のシステム開発現場では、多重化以外にも以下のような工夫が組み合わされます。
まず、機器を二重化するだけでなく、電源やネットワーク回線も個別に引き込むなど、物理的な障害がシステム全体に波及しないよう設計します。さらに、定期的なメンテナンスを考慮して、サービスを止めることなく部品を交換できる「ホットスワップ」という仕組みなども導入されます。
このように、可用性を高める設計は、単に機器を並べるだけでなく、故障が起きた時にどうやって検知し、どうやって切り替えるかという「運用シナリオ」とセットで検討することが重要です。この問題は、インフラ設計の基本である「壊れることを前提にシステムを構築する」という考え方を理解しているかを問うています。