BCP/DRのTierについて解説してみる(バックアップの目的の話)
この記事は最終更新日から7年以上が経過しています。
海外のエンジニアに、日本のシステム開発におけるバックアップの目的を聞かれたが答えられなかった。 その時にBCP/DRのTierについての説明を聞いて感動したが、後日調べても日本語の記事が見当たらなかったので書いてみました。 間違ってる箇所は修正リクエスト上げてもらえると助かります。
TL;DR
- バックアップやレプリケーションは手段であって目的ではない。ちゃんと目的を設定しましょう。
- 目標とする Tier を設定して、そのコストが妥当か検討しましょう。
- 現在のBCP/DRのための施策は Tier いくつにあたる?その施策はシステムの重要度にマッチしてる?
BCP/DR
BCP/DRを考えるための重要な概念としてRPOとRTOがある。 この2つの値の組み合わせで Tier が決定される。
- RPO (Recovery Point Objective)
- 日本語だと
目標復旧時点
- 障害が起きた場合に、いつ時点のデータを復旧できるようにするかの目安
- 日本語だと
- RTO (Recovery Time Objective)
- 日本語だと
目標復旧時間
- 障害が起きた場合に、どれくらいの時間で復旧できるようにするかの目安
- 日本語だと
どちらも0に近ければ近いほど良いが、その分コストが高くなる。 この2つを満たすために行う手段が「バックアップ」だったり「レプリケーション」だったりするのだが 本質を忘れて手段自体が目的になりがち。
Tier
RPOとRTOの組み合わせでから決定されるランク付けのようなもの Tier 1 に近づくほど要求レベルが高くなりコストがかかる。
Tier 1
最も可用性が高く、復旧時間も短いカテゴリ
- RPO < 15 minutes
- RTO < 1 hour
Tier 1 を実現するためには以下が必要です。
- 遅延が0に近いか、リアルタイムのデータレプリケーション
- RPO を満たすため
- 自動フェールオーバー
- 自動ではなく手動でフェールオーバーを行う場合は Tier 2
- 障害時に常に人手を用意することができるわけではないため RTO を満たすためには自動化が必須
Tier 1 を維持するコストは、大きすぎるため多くのシステムでは Tier 2 以降を選択することになります 主にADサーバーやDNSサーバーが Tier 1 に該当します
Tier 2
多くのシステムにとって最適なカテゴリ
- RPO < 4 hours
- RTO < 24 hours
Tier 2 を実現するためには以下が必要です。
- 代替サイトへのデータレプリケーション
- ホット/ウォーム スタンバイ環境の準備
- 何かしらのアーカイブデータからのリカバリが必要な場合は Tier 3 または Tier 4
多くのWebアプリケーションサーバーやDBサーバーなどが Tier 2 に該当します
Tier 3
最も多く使われているカテゴリ
- RPO < 24 hours
- RTO < 48 hours
Tier 3 を実現するためには以下が必要です。
- コールドスタンバイ環境の準備(ウォームでも良い)
- 同一サイトのデータか、RTOの時間内で展開できる別サイトのアーカイブからのリカバリ
Tier 4
中・大規模のデータを持ちあまり重要ではないシステムのためのカテゴリ
- RPO < 24 hours
- RTO < 5 days
Tier 4 を実現するためには以下が必要です。
- アーカイブデータからの手動リカバリプロセス
まとめ
BCP/DRのカテゴリとして Tier の考え方を解説しました。 ただバックアップを準備するだけではなく、 Tier の考え方に沿うとシステムに必要なBCP/DRの施策やコストが見えてくる。 バックアップとるだけだと Tier 3 か Tier 4 にしかならないので、 Tier 1 や Tier 2 に属するシステムを運用するには注意が必要。