災害復旧(DR)
災害復旧とは
災害復旧(DR: Disaster Recovery)は、地震・火災・大規模障害などでシステムが丸ごと失われたときに、事業を復旧させるための計画と仕組みです。サーバー1台の故障は [[高可用性設計]] の冗長化で耐えられますが、データセンターごと使えなくなる規模の事態には、別の場所への備えが必要になります。
「起きたら考える」では手遅れになるため、平時に計画(DR 計画)を作り、訓練しておくことが本質です。
RTOとRPO — 2つの重要指標
DR 計画は、次の2つの指標を決めるところから始まります。
| 指標 | 意味 | 問いかけ |
|---|---|---|
| RTO(目標復旧時間) | 停止からどれだけの時間で復旧させるか | 「何時間止まってよいか?」 |
| RPO(目標復旧時点) | どの時点までのデータ復元を保証するか | 「何時間ぶんのデータ消失まで許せるか?」 |
たとえば「RTO 4時間・RPO 1時間」なら、「4時間以内にサービスを再開し、失うデータは最大でも直近1時間ぶん」という目標です。RTO・RPO を短くするほどコストが跳ね上がるため、事業への影響度と費用のバランスで決めます。
代表的なDR構成
コストの低い順に、代表的な構成パターンがあります。
- バックアップ&リストア — 遠隔地に [[バックアップとリカバリ]] のデータだけ保管し、被災時に環境を作り直す。最安だが復旧に時間がかかる
- パイロットライト — 最小限の環境(データベースの複製など)だけ遠隔地で動かしておき、被災時に拡張する
- ウォームスタンバイ — 縮小版の環境を常時稼働させ、被災時に本番規模へ拡大する
- マルチサイト(ホットスタンバイ) — 別拠点でも本番同等の環境を常時稼働。即座に切り替えられるが最も高コスト
[[クラウドコンピューティング]] の普及で、遠隔リージョンに待機環境を持つ DR は以前よりはるかに実現しやすくなりました。データの同期には [[レプリケーション]] が使われます。
初学者向けポイント
- バックアップを「同じ建物」に置くのは DR にならない — 遠隔地・別リージョンに離すのが原則
- 復旧訓練をしていない DR 計画は機能しないと考える。年1回でも切り替え・リストアの練習をする
- クラウドのリージョン障害は実際に起きる。重要システムはマルチリージョンの検討対象
- 同一リージョン内のアベイラビリティゾーン(AZ)分散は日常的な障害への冗長化であり、リージョンごと使えなくなる事態には別リージョンの備えが要る — [[クラウドコンピューティング]] の2段階の拠点分けがそのまま備えの2段階に対応する
- まず自社システムの RTO・RPO を「知っている」だけでも新人としては大きな一歩
関連技術とのつながり
- [[バックアップとリカバリ]] — DR の土台。遠隔地保管とリストア訓練が要点
- [[高可用性設計]] — 日常の障害対策。DR はそれを超える規模への備え
- [[クラウドコンピューティング]] — マルチリージョン構成で DR のハードルが大きく下がった
- [[レプリケーション]] — 遠隔地へのデータ同期の実現手段
Q: RPO(目標復旧時点)が表すものはどれ?
- [ ] 停止から復旧までにかけてよい時間
- [x] どの時点までのデータ復元を保証するか(許容するデータ消失量)
- [ ] 復旧作業にかけられる費用の上限
解説: RPO は「何時間ぶんのデータ消失まで許せるか」を表す指標です。復旧までの時間は RTO が表します。
Q: DR 用のバックアップ保管場所として適切なのはどれ?
- [ ] 本番サーバーと同じ建物内
- [ ] 本番サーバーと同じディスク内
- [x] 遠隔地や別リージョン
解説: 災害はデータセンターごと失われる規模を想定するため、バックアップは地理的に離れた場所へ置くのが原則です。
Q: 最も高コストだが即座に切り替えられる DR 構成はどれ?
- [ ] バックアップ&リストア
- [x] マルチサイト(ホットスタンバイ)
- [ ] パイロットライト
解説: マルチサイトは別拠点でも本番同等の環境を常時稼働させる構成で、即時切り替えが可能な反面、最も高コストです。