コンテンツにスキップ

障害時のデータ復旧手順が考慮されているか?

Type: DeepDive
Category: 災害対策・可用性
Audience: 設計リーダー / SRE / インフラ設計者 / レビュー担当者


背景・概要

障害発生時に失われたデータをどのように復元するかを明示しておくことは、サービス品質の担保に直結する

保存・ログ出力・再取得APIの有無など、復旧方針によって設計が大きく異なるため、早期に合意しておく必要がある


  • 通知送信ログをBigQuery・Redshift・Azure Data Explorerなどの分析基盤や、RDBMS(PostgreSQL/MySQL等)にアーカイブし、失敗通知は再送可能に
  • 重要イベントのOutboxパターンにより、DB更新ログから再送処理が可能
  • バックアップからのDBスナップショットリストア手順を手順書に記載済み

よくある失敗例

  • 障害時にデータが失われ、復元できないことが後から発覚
  • 復旧方法がバックアップのみで、数時間分のデータ損失が確定
  • 誰も復旧方法を知らず、試行錯誤している間にSLAを超過

FAQ

Q. 自動バックアップだけで十分?

A. リカバリポイントまでの復元(RPO)と復旧までの時間(RTO)を意識しないと、意外と間に合わないものです

Q. データ復旧対象はどこまで考える?

A. 「ユーザーが修正できないデータ」はすべて復旧対象とすべきかな。マスターデータや機密データは特に注意が必要


関連観点