デュプレックスシステムの解説(基本情報技術者シラバス用語)

目次

デュプレックスシステムとは

デュプレックスシステム(Duplex System)とは、信頼性を高めるシステム構成方式の一つで、稼働する「主系(アクティブ)」と、予備として待機する「従系(スタンバイ)」の2系統を用意しておく仕組みのことです。通常時は主系だけが本番の業務処理を行い、従系はいつでも交代できるように準備をしておきます。主系が故障した際には、予備の従系に処理を引き継いでシステムを継続します。待機状態には、電源を入れて即座に切り替えられる「ホットスタンバイ」と、普段は別の処理をしており切り替えに多少の時間がかかる「コールドスタンバイ」があります。

具体例

舞台の演劇において、主役の役者(主系)と、舞台の裏で出番を待つ代役の役者(従系:アンダースタディ)が用意されている状態と同じです。主役が突然体調を崩した際に、代役がすぐに舞台に上がって劇を続行します。このとき、衣装を着てメイクも済ませて舞台袖で待機している状態が「ホットスタンバイ」、普段は別の役を演じていて交代時に着替える必要がある状態が「コールドスタンバイ」に相当します。

// 監視システムのプログラム例
if (ActiveSystem.isAlive() == false) {
    StandbySystem.activate(); // 主系がダウンしたら予備系を起動する
    Router.changeRouteTo(StandbySystem);
}
\n

もう少し詳しく

デュプレックスシステムは、システムを「主系(稼働系)」と「従系(待機系)」に分けて構成する方式です。システムのダウンタイム(停止時間)を最小限に抑えるための重要な技術であり、主に以下の3つの待機方式に分類されます。

  • ホットスタンバイ:従系のシステムをいつでも本番稼働できる状態(電源を入れ、アプリケーションも立ち上げた状態)で待機させておきます。主系に障害が発生した場合、瞬時に処理を引き継ぐ(フェイルオーバー)ことができるため、停止時間を極小化できます。
  • ウォームスタンバイ:従系の電源は入れておきますが、アプリケーションの一部は起動していない、あるいはデータベースの同期を定期的にのみ行う状態です。ホットスタンバイよりコストを抑えられますが、切り替えに数分〜数十分の時間がかかります。
  • コールドスタンバイ:従系の電源を切っておき、障害発生時にはじめて電源を入れて環境を構築する方式です。コストは最も低いですが、復旧までに長時間がかかります。

システム間で互いに通信し、正常に稼働しているかを確認する仕組みを「ハートビート(心臓の鼓動)」と呼びます。ハートビートが途絶えた場合、従系は主系がダウンしたと判断し、自動的にシステムの切り替え(フェイルオーバー)を行います。また、障害が解消されたあとに再び元の構成に戻すことを「フェイルバック」と呼びます。

注意点として、ネットワークの切断などにより両方のシステムが「自分が主系として動くべきだ」と判断してしまう「スプリットブレイン」という現象への対策(例えば監視専用の第三のサーバーを置くなど)も設計時に必要となります。

試験でのポイント

基本情報技術者試験では、よく「デュアルシステム」と「デュプレックスシステム」の違いが問われます。名前が似ているため混同しやすいので注意が必要です。

名称構成イメージ特徴
デュアルシステム主系 + 主系2つのシステムが全く同じ処理を同時に行い、結果を照合する(常に両方稼働)。
デュプレックスシステム主系 + 従系片方は待機しておき、主系が故障したときに従系に切り替える(片方のみ稼働)。

問題文に「待機系」「ホットスタンバイ」「切り替えて処理を続行する」というキーワードがあれば、デュプレックスシステムが正解となります。「結果を照合する」「クロスチェック」などの記述があればデュアルシステムです。

関連する用語

常に2系統が並行して動く デュアルシステム や、障害発生時に自動的に待機系へ処理を引き継ぐ フェイルオーバー、待機系を即座に稼働できる状態で保つ ホットスタンバイ などが密接に関連する用語です。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ