結論:バックアップの成功と、復旧の成功は別です
法人サイトでは「何を保存するか」だけでなく、「どの時点まで戻せればよいか」「何時間で復旧したいか」を先に決めます。取得結果の確認と、安全な環境での復元試験までを、運用の一部として設計します。
1. RPO・RTOを業務側と決めます
RPO(目標復旧時点)は、どれだけ前のデータに戻ることを許容できるかという時間の目標です。RTO(目標復旧時間)は、サービス停止から復旧までに許容する時間の目標です。業務影響に基づいて設定する考え方を、AWS Well-Architectedの復旧目標の解説で確認できます。
業務側が「前日の内容まで戻せればよい」「停止から4時間以内に戻したい」と合意したと仮定すると、検討の出発点はRPO 24時間・RTO 4時間です。これは推奨値や実測値ではありません。更新の多い受注・予約データに、そのまま適用しないでください。
RTOにはファイルの転送だけでなく、検知、担当者への連絡、復旧可否の判断、作業、動作確認も含めて見積もります。夜間に担当者がいない体制なら、作業時間だけを測って目標達成と判断しないことが重要です。
2. 保存対象を棚卸しします
WordPressでは、通常、データベースとサイトのファイルの両方が復元に必要です。ファイルだけをダウンロードしても、投稿や設定等を含むデータベースの保護にはなりません。WordPress公式のBackupsを参照し、構成に応じた対象を確認します。
| 対象 | 保存・確認するもの | 復元時の注意点 |
|---|---|---|
| 静的サイト | 公開HTML・画像・CSS・ソース・生成手順 | ソースから公開物を再現できるか確認 |
| CMS | ファイル・DB・構成情報 | ファイルとDBの時点・バージョンの整合を確認 |
| DNS・契約 | DNS設定の記録、契約先、管理権限 | 変更権限と代理管理者の有無を確認 |
| 外部連携 | フォーム、メール等の設定・依存先 | サイト側の保存だけでは、外部サービス内のデータは保護できない |
| 秘密情報 | 復旧に必要な鍵・接続情報の安全な保管方法 | 公開リポジトリや公開ディレクトリには入れない |
3. 保存間隔・保持期間・保存先を別々に決めます
取得間隔は失ってよい更新量に、保持期間は不具合に気づくまでの期間に影響します。毎日取得していても、問題が発覚する前に健全な世代が消えていれば復旧に使えません。また、本番環境と同じ管理権限で全バックアップを削除できる構成には、権限侵害の影響が及ぶ可能性があります。
以下は本稿の設計例です。実際のデータ量・要件・契約条件に合わせて変更してください。
- 小規模な広報サイトの検討例として、日次の取得と、重要な更新直前の追加取得を組み合わせます。
- 保持期間は一律に決めず、誤更新の発見や確認に何日かかるかを踏まえて選びます。
- 本番と別の保存先や、削除権限を分離する方法を検討します。暗号化・復号鍵の保管も含めます。
- 取得失敗・容量不足を担当者に通知し、「取得したはず」のまま放置しない運用にします。
ファイル同期やミラーだけでは、誤削除まで反映する場合があります。過去の状態を保護できるか、復元する機能と保持条件を確認してください。
4. 復元試験を運用に組み込みます
AWSの災害復旧テストの指針では、復旧方法とRTO・RPOの達成を試験で確認する考え方が示されています。小規模サイトでは、まず本番に影響しない検証環境で、次の手順を確認する方法を提案します。
- 試験条件を決める:対象世代、開始時点、合格基準、担当者、想定障害を記録します。
- 検証環境を隔離する:外部公開、実メール送信、決済、予約登録などを無効化・制限します。
- ファイルとDBを復元する:構成情報とバージョンを合わせ、認証情報は安全な経路で設定します。
- 業務機能を確認する:トップだけでなく記事、画像、管理画面、フォーム連携も試験用条件で確認します。
- 時間と欠損を測る:作業時間と戻せたデータ時点を記録し、想定RTO・RPOとの隔たりを整理します。
- 手順を更新する:不足した権限、失敗した操作、担当不在時の課題を記録します。
一例として四半期ごとの確認と、重要な構成変更後の再試験を検討できます。頻度は本稿の例示であり、どのサイトにも十分だという保証ではありません。本番への切替試験が必要なシステムは、別途承認と切戻し計画を用意します。
参考資料と確認範囲
- AWS — Define recovery objectives for downtime and data loss:RPO・RTOの定義と設定の考え方。
- AWS — Test disaster recovery implementation:復旧方法を試験する目的。
- WordPress — Backups:DBとファイルの両方を保護する必要性。