RPO / RTO
災害復旧の目標指標で、許容できるデータ損失量 (RPO) と復旧時間 (RTO) を定義する
可用性耐障害性
RPO / RTO とは
RPO (Recovery Point Objective) は「どこまでのデータ損失を許容するか」、RTO (Recovery Time Objective) は「どれだけの時間で復旧するか」を定義する災害復旧 (DR) の目標指標である。
RPO と RTO
RPO RTO
←─────────────────┤─────────────────────→
最後のバックアップ 障害発生 復旧完了
↑ この間のデータは失われる ↑ この間はサービス停止
| 指標 | 定義 | 例 |
|---|---|---|
| RPO | 許容できるデータ損失量 | RPO 1 時間 = 最大 1 時間分のデータ損失 |
| RTO | 許容できるダウンタイム | RTO 4 時間 = 4 時間以内に復旧 |
AWS サービスの RPO / RTO
| サービス | RPO | RTO |
|---|---|---|
| DynamoDB (PITR) | 秒単位 | 数分〜数時間 |
| DynamoDB (グローバルテーブル) | 秒単位 | 秒単位 |
| RDS Multi-AZ | 0 (同期レプリケーション) | 60〜120 秒 |
| Aurora | 0 | 30 秒以内 |
| S3 | 0 (11 9's の耐久性) | 即座 |
| EBS スナップショット | スナップショット間隔 | 数分 |
DR 戦略
| 戦略 | RPO | RTO | コスト |
|---|---|---|---|
| バックアップ & リストア | 時間 | 時間 | 最低 |
| パイロットライト | 分 | 分〜時間 | 低い |
| ウォームスタンバイ | 秒〜分 | 分 | 中程度 |
| マルチサイトアクティブ | 0 | 秒 | 最高 |
バックアップ & リストア
通常時: S3 にバックアップを定期保存
障害時: バックアップから新環境を構築
RPO: バックアップ間隔 (例: 24 時間)
RTO: 環境構築時間 (例: 数時間)
マルチサイトアクティブ
Route 53 (レイテンシベースルーティング)
├── ap-northeast-1 (東京) ← アクティブ
└── us-east-1 (バージニア) ← アクティブ
DynamoDB グローバルテーブルで双方向レプリケーション
RPO: 0 (同期)
RTO: 秒 (DNS 切り替え)
ビジネス要件との対応
ブログなら RPO/RTO ともに 24 時間でバックアップ & リストアで十分。EC サイトなら RPO/RTO 1 時間でウォームスタンバイ。金融取引なら RPO 0・RTO 秒でマルチサイトアクティブが必要。RPO/RTO を厳しくするほどコストが増加する。
全体像を把握するには関連書籍も有用。