問題
問96
システムの稼働率を向上させるために、システムのコンポーネントを二重化し、片方が故障した場合でももう片方が処理を継続できるようにする設計はどれか。
- シングルポイントオブフェイラー
- ロードバランシング
- 冗長化
- フェイルオーバー
正解
正解は「ウ」です。
解説
正解は「ウ」の冗長化です。冗長化とは、システムの信頼性や可用性(稼働率)を高めるために、サーバやネットワーク機器、電源といったシステムの構成要素(コンポーネント)に、あらかじめ予備(冗長な要素)を用意しておく設計のことです。これにより、稼働中のコンポーネントに障害が発生しても、待機していた予備のコンポーネントが処理を引き継ぐことで、システム全体の停止を防ぎ、サービスを継続させることができます。
例えば、飛行機に複数のエンジンが搭載されているのは、一つのエンジンが故障しても他のエンジンで飛行を続けられるようにするためで、これは冗長化の身近な例です。問題文の「コンポーネントを二重化し、片方が故障してももう片方が処理を継続できるようにする」という説明は、まさに冗長化の基本的な考え方を表しています。
ア(シングルポイントオブフェイラー):
単一障害点。その一箇所が故障するとシステム全体が停止してしまうような、冗長化されていない重要な要素のことです。
イ(ロードバランシング):
複数のサーバに処理の負荷(ロード)を均等に分散(バランス)させる仕組みです。性能向上や安定稼働が目的です。
エ(フェイルオーバー):
冗長化されたシステムにおいて、稼働中の機器に障害が発生した際に、自動的に待機系の機器に処理を切り替える仕組みのことです。冗長化を実現する具体的な技術の一つです。
解法のポイント
システムの信頼性に関する用語は、それぞれの関係性を理解することが重要です。「冗長化」は「予備を用意する」という設計思想そのものを指します。そして、その冗長化された構成で、実際に障害時に処理を引き継ぐ仕組みが「フェイルオーバー」です。また、冗長化されていない弱点が「シングルポイントオブフェイラー」となります。問題文は「予備を用意する設計」について問うているため、「冗長化」が最も適切な答えとなります。これらの用語をセットで覚えておきましょう。
用語補足
冗長化:
故障に備えて予備を準備しておくことです。自動車にスペアタイヤを積んでおくことが、身近な冗長化の例です。
稼働率:
システムが、定められた期間中に正常に稼働していた時間の割合です。この率が高いほど、信頼性の高いシステムと言えます。
コンポーネント:
システムを構成する部品や要素のことです。ハードウェア(CPU, メモリなど)やソフトウェア(OS, アプリケーションなど)がこれにあたります。
フェイルオーバー:
障害発生時に、自動で予備のシステムに切り替わる仕組みです。主役の俳優が体調を崩した際に、代役がすぐに舞台に上がるようなものです。


