高可用性(HA)とディザスタリカバリ(DR)とは?何が違う?

こんばんは。今日はITシステム運用における高可用性とディザスタリカバリについて理解を整理してみようと思います。

Micrsoft AzureのHADR(High Availability – Disaster Recovery)機能について調べていたら、HAとDRを区別して言葉を使い分けていたため気になった次第です。

それでは参ります。

高可用性(High Availability/HA)とは

High availability (HA) is a characteristic of a system which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period.

Wikipediaより

上の通り、Wikipedia先生によると”合意したレベルの運用性能(稼働時間)を通常よりも高い水準に確保することを目標としたシステムの特性”と説明されている。

信頼性工学における高可用性実現の原則は以下とされている。

  • 単一障害点の排除:ある部分の故障がシステム全体の故障を意味しないように、システムに冗長性を持たせること
  • 信頼性の高いクロスオーバー:ある部分の故障が発生した場合に信頼性高く(≒システム全体の故障に繋がることなく?)切り替えなどが行われること
  • 故障が発生した際に発見できること

ディザスタリカバリ(Disaster Recovery/DR)とは

Disaster recovery involves a set of policies, tools, and procedures to enable the recovery or continuation of vital technology infrastructure and systems following a natural or human-induced disaster.

Wikipediaより

上の通り”自然災害または人為的災害後の重要な技術インフラ、システム復旧、あるいは被害を最小限に抑えるための予防措置”と説明されている。

ディザスタリカバリは、プライマリサイトが(少なくともしばらくの間)回復できない前提で、元の場所に復元するプロセス以外に、データとサービスをセカンダリの存続サイトに復元するプロセスを検討する。とも説明がある。

HAとDRに共通する点

  • どちらもビジネス継続性*を実現するための取り組み
*ビジネス継続性

中断 (特にそのコンピューティング インフラストラクチャに対する) が発生した場合でもビジネス活動を続けることができるようにするメカニズム、ポリシー、手順

HAとDRの異なる点

  • HAは主にシステムの設計により実現する。単一障害点を減らし、冗長性を確保した上で、フェイルオーバやリカバリーの手順を自動化することで、システム全体の障害を防ごうとする。
  • DRはポリシー、手順、ツールも合わせて実現する。地域の災害などでプライマリシステムに大きな障害が発生し、システムの復旧に時間がかかる(=ダウンタイムが発生する)ことを前提としている。システムのダウンタイムを防ぐ(理想的には0にする)ことを目指すHAとここが大きく異なる。

このため、

  • HAでは、可用性(99.999%、など)という指標で検討する。可用性は、SLAとして合意されている場合も多い。
  • DRでは、RTO(目標復旧時間)とRPO(目標復旧時点)という指標で検討する
RTOとRPO
  • RTO(目標復旧時間):障害や問題が発生してからリソースをオンラインに戻す際に利用できる時間の上限
  • RPO(目標復旧時点):どの時点までデータベースを復旧すべきかであり、企業が進んで受け入れることのできるデータ損失の最大量に相当

ミッションクリティカルなシステムなどではもちろんRTO 0でRPOもなるべく直近で損失を許容しないことが理想だが、現実的にはコスト、技術者のスキルなど様々な要因からその実現は難しい。ダウンタイムによって発生が想定される損失が推定できれば、それをもとに許容できるRTO/RPOを設計していくことができる。

HAとDRの関係については、Teradataのブログにあった以下の図の整理が分かりやすいと思った。ビジネス継続性はHA, DRを包含した考え方であり、DRはHAを包含していると考えることができそう。

https://www.teradata.jp/Blogs/Demystifying-the-Business-Continuity-Space-Part-One

勉強になりました!

参考

https://en.wikipedia.org/wiki/High_availability

https://jpcodeqa.com/q/e0f62925cdd067a8a435f5adb48b13a1

https://www.teradata.jp/Blogs/Demystifying-the-Business-Continuity-Space-Part-One

https://docs.microsoft.com/ja-jp/learn/modules/describe-high-availability-disaster-recovery-strategies/2-describe-recovery-time-objective-recovery-point-objective

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。