1 RPOの概要
1.1 RPOの定義と目的
RPO(Recovery Point Objective、目標復旧時点)は、災害やシステム障害などの発生時に、データをどの時点まで復旧できていれば業務として許容されるかを示す目標指標である。ここでいう「復旧できる時点」は、データ管理方式(バックアップや複製)によって実現可能な履歴の範囲と整合する必要がある。 RPOの目的は、復旧作業の技術的要件を抽象的な復旧方針から具体的な到達点へ落とし込み、投資判断や設計の基準を明確化する点にある。
1.2 RPOの指標の考え方
1.2.1 失ってよいデータ量の時間換算
RPOは「失ってもよいデータ量」を時間に換算して扱うのが一般的である。例えば、更新が連続して行われる環境では、バックアップや複製が最後に取り込んだ時刻より新しい更新分が失われる可能性がある。このため、最後の取得時刻から復旧点までの時間差が、許容されるデータ損失の範囲となる。 換算は、データ更新の頻度や業務の許容損失に基づき、分・時間・日などの粒度で定義される。結果として、目標復旧時点は「復旧後に参照できるデータが、障害発生前のいつ時点に相当するか」という形で記述される。
1.2.2 バックアップ・レプリケーションとの関係
RPOの達成可能性は、バックアップ方式とレプリケーション方式の特性に強く依存する。バックアップでは、取得間隔と保持期間が到達できる復旧時点を規定する。レプリケーションでは、送信頻度や転送遅延、反映のタイミングが最終的な復旧点に影響する。 したがって設計時には、目標復旧時点(RPO)が要求する履歴の鮮度を、利用する方式の「最大遅延」「到達可能な粒度」「失われ得る更新範囲」に照らして評価する必要がある。
1.3 RTOとの違い
1.3.1 RPOとRTOを併用する理由
RPOが「どこまで(いつの時点まで)データを戻すか」を示すのに対し、RTO(Recovery Time Objective、目標復旧時間)は「いつまでに復旧を完了させ、業務を再開できるか」を示す指標である。両者は目的が異なるため、片方だけでは復旧計画の全体像を表せない。 たとえばデータが十分鮮度高く復元できても、復旧手順や復旧環境の構築に時間がかかりすぎれば業務再開が遅れる。また、復旧時間は満たしても復元点が古く、業務に必要な整合性や記録が不足する場合もある。併用する理由は、復旧の結果を時間面とデータ面の双方から評価し、設計の抜けを防ぐ点にある。
1.3.2 指標設定時の典型的な整理
多くの組織では、BIA(事業影響分析)で業務の重要度と許容停止時間を整理し、RTOの目標値を先に定める。その後、業務上の許容できる記録欠損の程度からRPOを設定するという順序が見られる。 さらに、同一システムでも機能やデータ種別によって許容損失が異なることがあり、その場合は部位別・データ別に目標を分ける判断が行われる。最終的には、RPOとRTOを満たすためのコスト、運用負荷、検証可能性を同時に見積もり、無理のない設計へ落とし込む。
2 RPO設定の進め方
2.1 事業影響分析(BIA)との連携
2.1.1 業務損失とデータ損失の紐づけ
BIAは、停止や劣化による損失を定量・定性の両面で把握する活動である。RPO設定では、業務に与える影響を「業務が止まること」と「データが戻ること(更新が失われること)」に分解し、データ損失が引き起こす実害を整理する。 例えば、受注や請求に関わる記録は欠損が直接的な手続き負担につながりやすい。一方で、ログの一部など復元が遅れても業務継続に直結しにくいデータでは、目標鮮度を緩められる場合がある。この紐づけにより、「どのデータが、どの程度古い状態までなら許容できるか」をRPOに変換する。
2.1.2 システム重要度に基づく目標値
システムの重要度は、複数の業務に波及する度合いや代替性、復旧後の影響範囲などで評価される。重要度が高いほど、データ損失による二次損害が拡大しやすく、結果としてRPOは短く設定される傾向がある。 ただし重要度が高い場合でも、同じデータを確実に再現する手段(後工程での再登録や外部ソースへの再取得)があるなら、RPOを一律に厳しくせず、現実的な目標へ調整する余地が生じる。重要度に基づくのはあくまで優先順位付けであり、最終値は実装可能性と損失の種類に照らして定める。
2.2 現状評価とギャップ分析
2.2.1 現行のバックアップ頻度・間隔
現状把握では、バックアップの取得スケジュール、方式(フル・差分・増分など)、復旧時に利用可能な粒度、保存期間を整理する。ここで重要なのは「バックアップが成功した場合に限ったときの到達点」であり、失敗や遅延が起きた場合の挙動も含めて評価する点である。 さらに、復旧作業で必要となる一連の手順(バックアップからの復元、追加適用、整合性確認)の所要時間も確認し、RPOが実際の復旧フローで達成できるかを見極める。
2.2.2 現行のレプリケーション遅延
レプリケーションを採用している場合、目標鮮度に対して現行の遅延がどの程度かを測る必要がある。遅延は、送信側の更新量、転送経路の混雑、受信側の処理性能、同期方式の有無など複合要因で変動する。 したがって単一の平均値ではなく、ピーク時や劣化時を想定した分布で把握し、最悪に近い条件でもRPO要件を満たせるかを判断する。加えて、フェイルオーバー時のスイッチオーバー手順が復旧点にどのように影響するかも確認対象となる。
2.3 現実的な目標値の決定
2.3.1 要件とコストのバランス
目標復旧時点は、要件(損失の許容度)とコスト(インフラ、ライセンス、運用工数、ネットワーク費用、検証費用)の折り合いで現実化される。RPOを短くするほど、更新の頻度に追随する仕組みが必要になりやすく、追加の設備や複雑な運用が求められる。 そのため、全システムを同一の厳しさで統一せず、影響度の高い領域を重点的に投資し、低リスク領域は現実的な目標へ段階化する設計が採られることが多い。
2.3.2 運用体制と改善サイクル
RPOは「一度決めたら終わり」ではなく、運用状況の変化に応じて調整される。人員配置、監視の仕組み、障害時の切り分け体制、定期テストの頻度など、運用体制が不十分だと、理論上のRPO達成が実際には崩れる。 改善サイクルでは、測定値(遅延や成功率)と実験結果(復旧テストの到達点)を照合し、設定の妥当性を継続的に検証する。変更管理の枠組みも重要で、設定値の更新と仕組みの変更を同時に管理できる体制を整えることが望ましい。
3 RPOを満たすための技術・方式
3.1 バックアップ方式による達成
3.1.1 世代管理と保持戦略
バックアップ方式でRPOを満たすには、取得世代と保持戦略が鍵になる。取得間隔が長い場合、最新の復旧点はその時刻までしか戻せないため、目標復旧時点に対して間隔が短いほど要求を満たしやすい。 一方で保持期間を無制限に延ばすと、容量と管理負荷が増える。そこで一般に、日次・週次・月次などの粒度で保持世代を設計し、復旧の必要性が高い時間帯の鮮度を優先する。復旧に必要な復号鍵やアクセス制御の設計も含め、保持戦略が運用可能な形になっているかを確認する。
3.1.2 差分・増分の活用
フルバックアップのみでは取得時間や容量が大きくなり、頻度を上げにくいことがある。差分バックアップや増分バックアップを活用すると、直近の更新をより小さいデータ量で取得でき、結果としてRPOを短縮できる場合がある。 ただし増分では、復元時に複数の世代を組み合わせる手順が増えるため、復旧時間や失敗時の復旧複雑性が上がることがある。RPO達成だけでなく、復旧プロセス全体の整合性と実行可能性を含めて方式選定を行うのが実務的である。
3.2 レプリケーション方式による達成
3.2.1 同期レプリケーションと非同期レプリケーション
レプリケーションには同期方式と非同期方式がある。同期レプリケーションは、書き込みが反映されるまで応答を返さないため、データ損失を小さくしやすい。一方で、通信遅延や相手側の処理遅れがアプリケーションの応答時間に影響する可能性がある。 非同期レプリケーションは、送信側が更新を進めた後に複製が反映されるため、性能への影響を抑えやすいが、転送遅延分が失われ得る。よって、目標復旧時点に対して遅延の最大値や変動を評価し、許容範囲に収まるかを判断する。
3.2.2 トランザクション整合性の確保
データベースや業務アプリケーションでは、更新が複数のテーブルやログにまたがることが多く、単純な複製では整合性を維持できない場合がある。RPO達成と同時に、復旧時にトランザクションが壊れないこと、参照関係が破綻しないこと、制約条件が破られないことが重要になる。 そのため、レプリケーション方式側でログの適用順序を保証する、あるいは復元時に整合性チェックや整合性維持の処理を組み込むなど、方式に応じた設計が必要となる。整合性の担保はRPO指標の外側に見えても、実運用では達成可否を左右する要件として扱われる。
3.3 データ保護の設計要素
3.3.1 スナップショットと整合性
スナップショットは、特定時点の状態を保持することで復元点を作る技術である。RPOは、スナップショットの作成間隔や作成時の整合性確保の方式により左右される。 ただしストレージの瞬間切り取りであっても、アプリケーション層で必要な整合状態(例えば書き込み中のデータやキャッシュ反映の扱い)が保証されないと、復旧後の利用に支障が生じる。よって、スナップショット作成時にアプリケーションの状態を適切に扱う仕組みや、整合性を保証する運用手順を組み合わせることが求められる。
3.3.2 ミドルウェア・アプリ層の整合性
データ保存はストレージやDBだけで完結しない。メッセージング、キャッシュ、バッチ処理、セッション情報など、ミドルウェアやアプリ層が持つ状態も復旧時の品質に影響する。RPOで示される復元点に戻しても、アプリ層の整合性が取れていなければ業務として再開できないことがある。 このため、復旧手順にはアプリケーションの初期化、キューの取り扱い、依存関係の再構築、整合性チェックの実行などが含まれることが多い。結果として、技術要素の組み合わせがRPO達成と実運用可用性の両方を支える。
3.3.3 ネットワーク帯域と遅延の影響
レプリケーションやバックアップの送信では、ネットワーク条件が実効RPOに直結する。帯域不足は転送の遅れにつながり、非同期方式では失われ得る更新範囲を拡大させる。同期方式では応答遅延が増え、性能劣化として現れる可能性がある。 また遅延は固定ではなく変動するため、ピーク負荷時の挙動を含めて見積もり、余裕を持たせる設計が望ましい。暗号化や圧縮などの処理により実効的な送信能力が変化する点も考慮対象となる。
4 運用・検証・改善
4.1 RPOのモニタリング指標
4.1.1 レプリケーション遅延の監視
RPO要件の達成状況を確認するには、複製の遅延を継続的に計測する必要がある。監視対象としては、送信キューの滞留、反映までの時間、失敗やリトライの回数などが含まれる。 閾値設定では、目標復旧時点に対して安全側の基準値を設け、遅延が継続的に悪化する兆候を早期に検知する。通知先や一次対応手順も合わせて整備し、検知から是正までの時間が運用全体の品質を左右する。
4.1.2 バックアップ成功率と到達性
バックアップでは、成功・失敗の記録とともに、復元可能であること(到達性)を確認する視点が重要である。成功したように見えても、世代が欠落している、復号やマウントが失敗する、整合性検証が通らない場合、実効的なRPOを満たせないことがある。 そのため、定期的な復元テスト、メタデータ整合性のチェック、保持世代の欠損検知などが組み合わされる。成功率の指標は一つの要素に過ぎず、「必要な時点に戻せるか」を示す補助指標として扱うのが実務的である。
4.2 復旧テストと結果評価
4.2.1 復旧時点の検証方法
復旧テストでは、復元したデータが目標復旧時点に相当するかを検証する。具体的には、時刻に基づく整合性確認、更新履歴の突合、参照整合の確認などが行われる。 加えて、復旧点が正しくても、復旧作業中に必要な前提条件(鍵管理、設定復元、外部依存の準備)が欠けると業務再開に至らないため、データ点と手順の両方を評価する。
4.2.2 成功・失敗の切り分け
テスト結果の評価では、失敗を単なる「復元できなかった」で終わらせず、原因を階層化して切り分ける必要がある。例えば、データ欠損、復号エラー、整合性チェックの不通過、復旧手順の逸脱、依存サービスの未準備など原因の種類は複数に分かれる。 切り分けが整理されると、設計のどこを改善すべきかが明確になり、同種障害の再発を抑えられる。記録と学習を運用に組み込むことが、指標の信頼性を高める。
4.3 継続的改善
4.3.1 設計変更によるRPO改善
継続改善では、遅延要因や復元点の不足を特定し、技術設計を調整する。バックアップの取得間隔を縮める、差分や増分の構成を見直す、レプリケーションの経路や優先度を最適化する、整合性検証やスナップショット運用を改善する、といった変更が取り得る。 変更は段階的に実施し、テストとモニタリングの結果で効果を確認する。コスト増や運用負荷の増大に配慮し、最適点を探る姿勢が求められる。
4.3.2 障害事例からの学習と反映
実障害の事例は、目標値と現実のギャップを明らかにする材料となる。レプリケーション遅延が発生した時の原因(転送能力、処理能力、設定不整合、操作ミスなど)や、復旧テストで見つかった問題(復元手順の手戻り、欠落世代の発生など)を分析し、設計・運用の両面に反映する。 学習の反映では、再発防止策の有効性を測定可能な形にし、監視や手順書、教育を更新することが重要である。これにより、RPOを示す数値が現場の実態に追随し続ける。