【こうかようせい】

高可用性(HA) とは?

最終更新:
💡 障害や更新に備えて、利用できない時間を減らす

必要なときにサービスを利用できる状態を、高い割合で維持する性質。冗長化、切り替え、測定条件、バックアップとの役割の違いを解説します。

📌 このページのポイント
高可用性:障害時も使える状態を目指す利用者の要求障害の検知・通信の振り分け正常な相手へ切り替える送らない送るA:障害復旧の手順へB:正常残る容量を確認検知・切り替え・接続の復旧には時間が必要共通の依存先と測定条件も確認
障害時にBへ要求を送る構成例です。A側の破線は送信しない接続で、振り分け機能やDBの冗長化は省略しています。二台あるだけで停止ゼロや特定の可用性を保証するものではありません。
ひよこ ひよこ
高可用性は、絶対に壊れないという意味?
ペンギン先生 ペンギン先生
壊れないことだけを目指すのではなく、障害や更新があっても、利用できない時間や影響を減らす考え方だよ。利用者に必要な機能が使えているかが大切で、サーバーの電源が入っているだけでは十分ではないんだ。
ひよこ ひよこ
サーバーを二台にすれば、完成?
ペンギン先生 ペンギン先生
正常な相手へ通信を切り替える仕組みと、障害の検知が必要だ。同じ障害で両方が止まる配置や、残った一台では処理しきれない構成もある。DBや外部サービスなど、依存先も含めて確認しよう。
ひよこ ひよこ
99.9%と99.99%は、どれくらい違う?
ペンギン先生 ペンギン先生
365日をすべて数える時間ベースの単純計算なら、99.9%は約8.76時間、99.99%は約52.56分の停止に相当する。実際のSLAでは月単位の計算や除外条件などがあるので、そのまま契約上の値だとは考えないようにしよう。
ひよこ ひよこ
自動で切り替わるなら、止まる時間はゼロ?
ペンギン先生 ペンギン先生
検知や切り替えに時間がかかり、接続のやり直しが必要になる場合もある。自動化だけで判断せず、利用者の処理がどう復旧するかを試す。戻す手順や、誤検知で切り替えを繰り返さない設定も確認するんだ。
ひよこ ひよこ
なるべく高い数字を選べばよい?
ペンギン先生 ペンギン先生
事業に必要な目標を決めよう。厳しい目標は、構成や運用、検証の費用にも関わる。測定期間と何を成功と数えるかをそろえ、障害時だけでなく更新作業も含めて確認する。仕組みを作った後の監視と訓練も大切だよ。
もっと詳しく知りたい人へ

冗長化とバックアップは、同じ役割?

冗長化や複製は、障害時に処理を続けたり切り替えたりする助けになります。ただし誤削除や破損も複製される場合があります。過去の状態へ戻すには、必要な復旧目標に合うバックアップや時点復元、復元の検証が必要です。

稼働時間だけで、可用性を測る?

時間で測る方法のほか、利用者の有効な要求がどれだけ成功したかで測る方法もあります。サービスの目的に合う指標と期間を決めます。DBなどの必須の依存先が停止すると、アプリのサーバーが動いていても、必要な機能を提供できない場合があります。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「高可用性」って出てきたら「必要なときにサービスを使える状態を、高い割合で保つこと」と思えばだいたいOK!
📖 おまけ:英語の意味
「High Availability」 = 高い利用可能性
💬 Highは高い、Availabilityは利用できることを表します。HAと略します。特定の構成名だけで、測定結果や契約上の可用性が決まるわけではありません。

参考資料

← 用語集にもどる