【あーるてぃーおー・あーるぴーおー】

RTO / RPO とは?

最終更新:
💡 「いつまでに復旧?」「どの時点のデータまで守る?」

障害からの復旧目標を表す2つの指標。RTO(目標復旧時間)は止まってから復旧するまでに許容できる時間、RPO(目標復旧時点)はどの時点までのデータを取り戻せればよいか(どれだけの期間のデータ損失を許容するか)を表す。

📌 このページのポイント
RTO と RPO 時間 最終バックアップ 障害発生 復旧完了 この幅 ≤ RPO この幅 ≤ RTO ← この間の更新は失われうる → ← この間サービス停止 → RPO(目標復旧時点) Recovery Point Objective どの時点のデータまで取り戻せればよいか RTO(目標復旧時間) Recovery Time Objective 停止から何時間以内に復旧するか
RTO/RPOのイメージ
ひよこ ひよこ
RTOとRPOの違いがわかりにくい…
ペンギン先生 ペンギン先生
時間軸で考えるとわかりやすいよ。障害が起きた「今」を起点に、RPOは「過去に向かって、どの時点までのデータを取り戻せればよいか」。RTOは「未来に向かって、何時間以内に復旧するか」。RPOが1時間なら最大1時間分のデータ損失を受け入れる目標、RTOが4時間なら止まってから4時間以内に戻す目標、ということだよ
ひよこ ひよこ
RPO=0って可能なの?
ペンギン先生 ペンギン先生
書き込みが複数の機器に反映されてから完了とする同期レプリケーションなら、機器の故障によるデータ損失を0に近づけられるよ。ただ書き込みが遅くなるし、誤った削除やデータ破損はそのまま複製される。だから時点を指定して戻せるバックアップも欠かせないんだ。AWSのガイドでも、0を目標にすると構成によっては実現できないと注意されているよ
ひよこ ひよこ
RTOとRPOの値はどう決めるの?
ペンギン先生 ペンギン先生
そのシステムが止まったり、データを失ったりしたときの影響を調べて決めるんだ。「1時間止まったら売上や信用にどう響く?」「1日分のデータが消えたら、ほかから作り直せる?」といった問いに答えて、業務側と技術側の担当者で合意する。技術チームだけで決めるものじゃないのがポイントだね
ひよこ ひよこ
両方ほぼ0にしたいなら、どんな構成になるの?
ペンギン先生 ペンギン先生
代表的なのは、複数の拠点で同時にサービスを動かすアクティブ/アクティブ構成だよ。AWSのホワイトペーパーでは、多くの災害で復旧時間をほぼ0にできる一方、最も複雑でコストが高い方式とされている。しかもデータ破損や誤削除からの復旧にはバックアップが必要で、その場合の復旧時間と失うデータは0にならないんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「RTO/RPO」って出てきたら「復旧までの時間の目標と、失ってよいデータの幅の目標」と思えればだいたいOK!
📖 おまけ:英語の意味
「Recovery Time Objective / Recovery Point Objective」 = 目標復旧時間 / 目標復旧時点
💬 Time(時間)とPoint(時点)の違いがポイント。「いつまでに戻すか」と「どの時点まで遡れればよいか」を決めるよ

参考資料

← 用語集にもどる