ウォームスタンバイとは

ウォームスタンバイ(Warm Standby)とは、コンピュータシステムやネットワークにおいて、稼働系システムに障害が発生した場合に備えて、予備の待機系システムをあらかじめ起動し、主要なサービスやアプリケーションを立ち上げた状態で待機させておく冗長化方式を指します。

これにより、コールドスタンバイと比較して、障害発生後のサービス復旧時間(RTO: Recovery Time Objective)を大幅に短縮することができます。

ウォームスタンバイの基本的な概念

ウォームスタンバイは、アクティブ-スタンバイ構成の一種であり、待機系の準備状態によってコールドスタンバイとホットスタンバイの中間に位置します。

主な概念は以下の通りです。

  1. 高可用性(High Availability, HA): システムが障害発生時にも継続して機能し、サービスを提供できる能力を指します。ウォームスタンバイは、サービスの中断時間を最小限に抑えることを目的としたHA構成です。
  2. 稼働系(Active System): 通常時において、実際に処理を実行し、サービスを提供しているシステムです。
  3. 待機系(Standby System): 稼働系に障害が発生した場合に、その処理を引き継ぐために準備されているシステムです。ウォームスタンバイでは、この待機系が以下の状態にあります。
    • OSと基本的なミドルウェア(Webサーバー、データベースサーバーなど)は起動済み。
    • 主要なアプリケーションも起動済みだが、リクエスト処理は行わない状態(または、一部の非クリティカルな処理のみ行う状態)。
    • 稼働系からのデータ同期は行われているが、ホットスタンバイほどリアルタイム性や完全性を追求しない場合が多い。
  4. コールドスタンバイとの違い: コールドスタンバイでは、待機系システムは電源がオフの状態であったり、OSやアプリケーションがインストールされていない状態であるため、障害発生後の復旧に時間がかかります。ウォームスタンバイは、起動やアプリケーションの立ち上げにかかる時間を削減します。
  5. ホットスタンバイとの違い: ホットスタンバイでは、待機系システムは稼働系とほぼ同等の状態にあり、常にデータがリアルタイムに同期され、即座にサービスを切り替えることができます。ウォームスタンバイは、ホットスタンバイほどの厳密な同期や即時切り替えは求めないため、より少ないリソース消費で済む場合があります。

ウォームスタンバイの動作原理と復旧プロセス

ウォームスタンバイ構成における動作原理と障害発生時の復旧プロセスは以下の通りです。

  1. 通常稼働時:
    • 稼働系システムがすべてのリクエストを受け付け、サービスを提供します。
    • 待機系システムは起動しており、OSや主要なアプリケーションが起動済みです。
    • 稼働系と待機系間でデータの同期が行われます。この同期は、ホットスタンバイのようなリアルタイムの同期ではなく、定期的なバッチ処理(例: 数分、数時間ごとのログ転送やスナップショット転送)で行われることが多いです。そのため、障害発生時に若干のデータ損失が発生する可能性があります。
  2. 障害検知:
    • 待機系システムや外部の監視システムが、稼働系システムからの応答がない、サービスが停止しているなどの障害を検知します。
  3. フェイルオーバー(Failover)の開始:
    • 障害検知後、待機系システムは自身をアクティブ系に昇格させる準備を開始します。
    • この際、不足している最新のデータを稼働系から取得したり(可能な場合)、最終的なデータ整合性チェックを行ったりします。
    • ロードバランサーやDNS設定の切り替えにより、クライアントからのリクエストが新しいアクティブ系(旧待機系)にルーティングされるように変更されます。
  4. サービス復旧:
    • 新しいアクティブ系(旧待機系)がリクエストを受け付け始め、サービスが再開されます。コールドスタンバイに比べて、OS起動やアプリケーション立ち上げの時間が不要なため、復旧時間は大幅に短縮されます。しかし、データの最終同期やセッションの引き継ぎなど、完了までに要する時間はホットスタンバイより長くなる傾向にあります。

ウォームスタンバイのメリットとデメリット

メリット

  • RTO(復旧時間目標)の短縮: コールドスタンバイと比較して、OSやアプリケーションの起動時間が不要なため、サービス復旧時間を短縮できます。
  • コスト効率のバランス: ホットスタンバイのように常に完全に同期された状態を維持する必要がないため、ハードウェアリソースやネットワーク帯域の消費を抑えられ、コストと可用性のバランスを取りやすいです。
  • データ損失の許容: ホットスタンバイほどの厳密なデータ同期を行わない場合、若干のデータ損失(RPO: Recovery Point Objective)を許容することで、システムの設計と運用が簡素化されます。

デメリット

  • 完全なデータ整合性の保証が困難: 同期がリアルタイムではないため、フェイルオーバー時に、最後に同期されてからのデータが失われる可能性があります。RPOの要件によっては許容できない場合があります。
  • 復旧までのダウンタイムの存在: ホットスタンバイのように即座に切り替わるわけではなく、データ同期の最終処理や仮想IPアドレスの引き継ぎなど、サービス再開までに一定のダウンタイムが発生します。
  • リソース消費: コールドスタンバイよりは多くのリソース(電力、メモリ、CPU)を待機系で消費します。
  • 複雑なデータ同期の設計: 定期的なデータ同期の仕組みを適切に設計・実装し、障害発生時に確実に最新の状態に近づけるための考慮が必要です。

ウォームスタンバイの主な適用例

  • データベースシステム: プライマリデータベースからスタンバイデータベースへ、トランザクションログを定期的に転送・適用するログシッピング(Log Shipping)などの手法を用いた構成。これにより、フェイルオーバー時に最新のデータに近づけることができます。
  • ファイルサーバー: 重要な共有ファイルを提供するサーバーにおいて、定期的なファイル同期やミラーリングを設定した待機系を用意し、メインサーバー障害時に切り替える構成。
  • ビジネスアプリケーションサーバー: 基幹業務システムやWebアプリケーションのバックエンドサーバーで、OSやミドルウェア、アプリケーションが起動済みで、一部データのみが定期的に同期されている状態。
  • 災害対策(DR: Disaster Recovery): 遠隔地に災害対策サイトを構築する際に、コストとRPO/RTOのバランスを考慮してウォームスタンバイ構成が採用されることがあります。

ウォームスタンバイは、稼働系システムに障害が発生した場合に備え、予備の待機系システムをあらかじめ起動し、主要なサービスやアプリケーションを立ち上げた状態で待機させておく冗長化方式です。コールドスタンバイよりも短い復旧時間(RTO)を実現し、ホットスタンバイよりコストを抑えられる点で、コストと可用性のバランスに優れています。

ただし、リアルタイムなデータ同期を行わない場合、障害発生時に若干のデータ損失(RPO)が発生する可能性があることや、ホットスタンバイのような即時切り替えはできない点に留意が必要です。データベースシステム、ファイルサーバー、ビジネスアプリケーションサーバー、災害対策などで広く利用されており、システムの可用性を向上させるための実用的な選択肢となります。

関連用語

アクティブ-アクティブ | 今更聞けないIT用語集
N+1冗長化 | 今更聞けないIT用語集
クラウドソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。