AWS SAA(Solutions Architect - Associate)対策

DR戦略とRTO・RPO

このレッスンでできるようになること。要件文に書かれた「どれだけ早く戻すか」と「どこまでのデータを失ってよいか」を読み分けて、4つの災害復旧戦略から1つを選べるようになります。

要件の文から入る

ある会社が、単一リージョンで EC2 と RDS を使った業務システムを動かしています。事業継続の見直しで「リージョン規模の障害が起きても復旧できること。数時間の停止は許容できるが、平常時のコストは可能な限り抑えたい」と決まりました。どの構成を選びますか。

この一文には、判断に必要な材料がすべて入っています。「数時間の停止は許容」が復旧までの時間の要件、「平常時のコストは抑えたい」が待機側にどれだけリソースを置くかの要件です。SAA の DR 問題は、ほぼこの2つの言い回しだけで答えが決まります。答えは後半の表で確認します。まずは2つの指標を分けます。

RTO と RPO を先に分ける

混同しやすいので、必ず別の質問として持ちます。

指標答える質問短くするために効くもの
RTO (目標復旧時間)障害からサービス再開まで、どれだけ待てるか待機側にどれだけ環境を作り置きしておくか
RPO (目標復旧時点)障害の何分前・何時間前までのデータなら失ってよいかデータを複製する頻度。連続複製かスナップショットか

つまり RTO はコンピューティング側、RPO はデータ側の話です。要件文に「直近のデータを1件も失えない」とあれば RPO の要件なので、EC2 を何台置くかではなく、レプリケーションを連続にするかを考えます。逆に「復旧までに数分しか許されない」とあれば RTO の要件で、待機環境をどこまで起こしておくかを考えます。ここを取り違えると、惜しい選択肢に確実に引っ掛かります。

4つの戦略

AWS が整理している4戦略を、復旧の速さとコストの並びで押さえます。この順序そのものが出題の骨格です。

戦略待機リージョンの状態RTO と RPO の傾向平常時のコスト
バックアップと復元ほぼ何も動いていない。バックアップだけを別リージョンに置くどちらも最も長い最も安い
パイロットライトデータの複製だけ常時稼働。アプリ層は停止した状態で用意復元より短く、ウォームスタンバイより長い安い
ウォームスタンバイ本番と同じ構成を縮小規模で常時稼働パイロットライトより短い中程度
マルチサイトアクティブアクティブ両リージョンが本番として稼働し、常に処理を受ける最も短い。ほぼゼロに近づけられる最も高い

言い換えると、待機側でどこまで火を点けておくかの度合いが4段階あるだけです。バックアップと復元は火が消えている状態、パイロットライトは種火だけ残した状態、ウォームスタンバイは小さく燃やし続けている状態、アクティブアクティブは両方で本番を焚いている状態です。

冒頭の要件に戻ります。「数時間の停止は許容」なので最速は要りません。「コストは抑えたい」ので常時稼働のリソースは持ちたくありません。この2つを同時に満たすのがパイロットライトです。バックアップと復元でも動きはしますが、環境をゼロから作り直す分だけ復旧が長引き、数時間に収まる保証が弱くなります。ウォームスタンバイは要件より速い代わりに、縮小構成とはいえ常時課金が発生します。

要件語から構成への対応表

要件文の言い回し選ぶ戦略
停止は数時間から1日程度まで許容。とにかく安くバックアップと復元
数時間の停止は許容だが、コストは抑えたいパイロットライト
停止は数十分まで。ある程度のコストは払えるウォームスタンバイ
停止時間をほぼゼロにしたい。片方が落ちても利用者に影響を出さないマルチサイトアクティブアクティブ
データは1件も失えないRPO の要件。連続レプリケーションを選ぶ
昨日時点まで戻せればよいRPO の要件。日次スナップショットで足りる
復旧作業の手順を人が実行する余裕はない自動フェイルオーバーを含む構成へ寄せる

よくある引っ掛け

1つめは、RPO の要件に対して待機環境の規模で答えてしまうものです。「直近の注文データを失えない」と書かれているのに、待機側の EC2 を増やす選択肢を選んでも RPO は1ミリも改善しません。効くのはデータの複製頻度です。

2つめは、コスト要件を無視した過剰構成です。「コストを最小限に」と明記された問題でマルチサイトアクティブアクティブを選ぶと、要件は満たしますが最適ではありません。SAA では、要件をすべて満たす中で最も安いものが正解になります。動くかどうかではなく、要件をちょうど満たすかを見ます。

まとめ

  • RTO は復旧までの時間、RPO は失ってよいデータの範囲。別々の質問として読みます
  • 4戦略は待機側をどこまで起こしておくかの4段階で、速さとコストが同じ向きに並びます
  • 「数時間許容かつ低コスト」はパイロットライト、「ほぼ停止させない」はアクティブアクティブです
  • RPO を短くするのは複製の頻度、RTO を短くするのは待機環境の充実度です
  • 要件を満たす選択肢が複数あるときは、最も安いものを選びます
生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部

復習ミニクイズ

ある企業が単一リージョンで基幹の Web システムを運用しています。事業継続計画の見直しで「リージョン全体の障害時も復旧できること。復旧まで数時間の停止は許容するが、平常時に待機環境へ支払うコストは可能な限り抑えたい。データは直近のものまで保持したい」と決まりました。最も適切な DR 戦略はどれですか。