災害復旧

大規模障害や災害からシステムを復旧するための計画と仕組み

運用可用性

災害復旧とは

災害復旧 (Disaster Recovery, DR) は、大規模障害 (リージョン障害、データセンター障害) からシステムを復旧するための計画と仕組みである。RPO (目標復旧時点) と RTO (目標復旧時間) で要件を定義する。詳細は「RPO/RTO」を参照。

DR 戦略

戦略 RTO コスト 説明
Backup & Restore 数時間 最低 バックアップから復元
Pilot Light 数十分 最小限のリソースを常時稼働
Warm Standby 数分 縮小版のシステムを常時稼働
Multi-Site Active/Active 秒〜分 最高 複数リージョンで同時稼働

AWS での DR 構成

プライマリ (ap-northeast-1)     セカンダリ (us-east-1)
┌──────────────────┐          ┌──────────────────┐
│ CloudFront       │          │ CloudFront       │
│ API Gateway      │          │ API Gateway      │
│ Lambda           │          │ Lambda           │
│ DynamoDB         │ ──────→  │ DynamoDB         │
│ (Global Tables)  │  レプリ   │ (Global Tables)  │
│ S3               │ ──────→  │ S3               │
│ (Cross-Region)   │  ケーション│ (Cross-Region)   │
└──────────────────┘          └──────────────────┘

サーバーレスの DR 優位性

観点 サーバーレス サーバーベース
インフラの復旧 不要 (マネージド) EC2/RDS の起動が必要
データの復旧 DynamoDB Global Tables RDS のリードレプリカ昇格
コスト (待機時) ほぼゼロ 常時稼働コスト
切り替え Route 53 のフェイルオーバー DNS + インフラ起動

DR テスト

テスト 頻度
バックアップの復元テスト 月 1 回
フェイルオーバーテスト 四半期 1 回
全体 DR 訓練 年 1 回

災害復旧の理解を深めるには関連書籍が参考になる。

関連用語