負荷分散と可用性

高可用性 こうかようせい

HA(High Availability)冗長化フェイルオーバーSLAダウンタイム稼働率
高可用性について教えて

簡単に言うとこんな感じ!

「システムをできる限り止めない」ための設計思想だよ!たとえばコンビニのATMが24時間使えるのは、機器が二重化されていて一部が壊れても動き続ける仕組みがあるから。それが高可用性ってこと!


高可用性とは

高可用性(High Availability/HA) とは、システムやサービスが障害・メンテナンス・障害などがあっても、可能な限り止まらずに稼働し続けられる性質のことです。「いつでも使える状態を維持する」ことを設計の中心に置いた考え方で、企業の基幹業務システムやECサイト、金融システムなど「止まると損失が大きい」場面で特に重視されます。

高可用性を実現するためには、単一障害点(SPOF: Single Point of Failure)をなくすことが基本です。サーバーが1台だけなら、それが壊れた瞬間にサービスは止まります。そこで複数台を用意して冗長化し、1台が落ちても残りが自動的に引き継ぐ(フェイルオーバー)仕組みを作ります。

実務では「稼働率99.9%」「99.99%」などの数字で語られることが多く、この目標値はSLA(サービスレベル合意)として契約に盛り込まれることもあります。「ナインズ(Nines)」という業界の通称で呼ばれ、9が多いほど高い可用性を意味します。


稼働率「ナインズ」の実態

高可用性の水準は「9が何個並ぶか」で表現されます。数字で見ると、わずかな差が大きなダウンタイムの差になることがわかります。

稼働率通称年間ダウンタイム(目安)主な用途例
99%Two Nines約87.6時間社内の非重要システム
99.9%Three Nines約8.7時間一般的なWebサービス
99.99%Four Nines約52分ECサイト・業務システム
99.999%Five Nines約5分金融・通信インフラ

覚え方:「9が1個増えるたびに約10倍シビアになる」

「ナインを1つ増やすと、許容ダウンタイムがざっくり10分の1になる」と覚えておくと便利です。99.9%(年8時間)→ 99.99%(年52分)→ 99.999%(年5分)、という具合です。

高可用性を実現する主な手法

  • サーバー冗長化:同じ役割のサーバーを複数台用意し、1台が壊れても自動切り替え
  • ロードバランサー:複数サーバーに処理を分散させ、特定1台への負荷集中を防ぐ
  • データベースレプリケーション:DBも複数台持ち、マスター障害時はスレーブが昇格
  • 地理的分散(マルチリージョン:データセンターを地理的に分散し、地域災害に備える
  • ヘルスチェックと自動復旧:監視ツールが異常を検知し、自動でフェイルオーバーを実行

歴史と背景

  • 1960年代:IBMのメインフレームが企業向けに冗長電源・冗長ストレージを実装。高可用性の概念が生まれる
  • 1980年代:タンデムコンピューターズ(現HP)が「ノンストップシステム」を製品化。金融・航空向けに普及
  • 1990年代:インターネットの普及でWebサービスが登場。「24時間365日止まらないサービス」が求められるように
  • 2000年代仮想化技術(VMwareなど)の普及でフェイルオーバーが低コスト化。中堅企業でもHAが現実的に
  • 2010年代以降:クラウド(AWS・Azure・GCPなど)がマルチAZ・マルチリージョン構成を標準提供。高可用性がクラウドのデフォルト設計になる

高可用性 vs 関連概念の整理

高可用性は「障害対策」の文脈でよく似た言葉と混同されやすいです。整理しておきましょう。

概念目的キーワード
高可用性(HA)止まらないこと冗長化・フェイルオーバー・稼働率
災害復旧(DR災害後に復旧できることバックアップ・RTO・RPO
フォールトトレランス障害があっても無停止で継続二重化・完全冗長・NASAの宇宙機など
負荷分散(LB)パフォーマンスの均等化ロードバランサー・スケールアウト

HA と DR はよく組み合わせて設計されますが、HA は「止まる時間を最小にする」、DR は「止まった後にどう戻すか」という違いがあります。

下図は、高可用性を実現する典型的なアーキテクチャ(アクティブ-スタンバイ構成)の概念図です。

高可用性:アクティブ-スタンバイ構成 ユーザー (クライアント) ロードバランサー ヘルスチェック・振り分け サーバー A ● アクティブ(稼働中) サーバー B ○ スタンバイ(待機中) 障害発生時にフェイルオーバー 通常トラフィック 待機系(平常時は不使用) 障害時の切り替え(フェイルオーバー)

関連する規格・RFC

規格・RFC番号内容
RFC 5798VRRP(Virtual Router Redundancy Protocol)ルーターの冗長化プロトコル
IEEE 802.1AXリンクアグリゲーション(複数の物理リンクを束ねて冗長化)
ISO/IEC 25010ソフトウェア品質モデル(信頼性・可用性の定義を含む)
ITIL v4サービス可用性管理のフレームワーク(SLA設計の指針)

関連用語

  • フェイルオーバー — 障害発生時に待機系へ自動切り替えする仕組み
  • 冗長化 — 障害に備えて構成要素を二重・三重に備えること
  • SLA — サービスレベル合意。稼働率などの品質目標を定めた契約
  • ロードバランサー — 複数サーバーへトラフィックを分散する装置
  • 単一障害点(SPOF) — これが壊れるとシステム全体が止まる箇所
  • 災害復旧(DR) — 大規模障害・災害後にシステムを復旧させるための設計・手順