【正解】B
【0からの解説】
① 前提知識・
RTO(目標復旧時間): 障害発生からサービスを再開するまでに許容される時間。本問では 2 時間。
・
RPO(目標復旧時点): 失ってもよいデータの量を時間で表したもの。本問では 15 分=障害発生時点から遡って 15 分より前のデータは失ってはならない。
・Google の障害復旧計画ガイドでは、DR のパターンをコールド(障害時にゼロから構築)、ウォーム(データは常時複製し、計算資源は最小限または必要時に構築)、ホット(両リージョンで常時稼働)に分類し、RTO / RPO とコストのバランスで選ぶよう推奨しています。
・
Cloud SQL のクロスリージョン リードレプリカ: プライマリから別リージョンのレプリカへ非同期で継続的にデータを複製します。通常のレプリケーション遅延は数秒程度です。プライマリのリージョンで障害が起きたときは、レプリカを
昇格(promote)すると、書き込み可能な独立したプライマリになります。レプリカは平常時から作成しておく必要があります(障害で us-west1 が使えなくなった後では作成できません)。
・
Terraform でインフラをコード化しておくと、障害時に別リージョンへ同じ構成を短時間・確実に再構築できます。
② 要件と制約語の整理・
地理的に異なるリージョンで
完全に復旧・稼働できること。
・
RTO 2 時間: 2 時間以内に別リージョンでサービスを再開。
・
RPO 15 分: データ損失は 15 分以内 → 1 日 1 回のバックアップでは不十分で、継続的なデータ複製が必要。
③ 正解 B が要件をどう満たすか・まず選択肢 B の文面に注意が必要です。文面どおりに読むと「障害発生時に」クロスリージョン リードレプリカの構成も行うように読めます。しかし、us-west1 が障害で使えなくなった後では、そのプライマリからレプリカを新たに作成することはできず、仮にできてもレプリカの作成と初期データのコピーに時間がかかり、それまでのデータも守れません。そのため実際の設計としては、
レプリカは平常時から us-east1 に作成しておき、障害時に行うのは us-east1 での環境構築とレプリカの昇格、と解釈する必要があります。文面には不正確な点がありますが、データの継続的な複製(ウォーム スタンバイ)と IaC による再構築という方針を示しているのは B だけで、他の選択肢はいずれも要件を根本的に満たさないため、B が最も適切な答えになります。
・Cloud SQL のクロスリージョン リードレプリカを us-east1 に置いておくことで、データは数秒程度の遅延で継続的に複製され、
RPO 15 分を十分に満たします。
・コンピューティングは Terraform で定義しておき、障害発生時に us-east1 へ環境を構築し、レプリカを昇格してアプリケーションの接続先を切り替えます。VM の構築とレプリカの昇格は数十分程度で完了するため、
RTO 2 時間に収まります。
・平常時に us-east1 で稼働させるのはデータベースのレプリカだけなので、両リージョンで常時フル稼働させるホット構成よりコストを抑えられます。手順を文書化してテストしておけば、BCP として文書化の要件にも対応できます。
【誤りの選択肢】
A:ロードバランサのヘルスチェックが自動で切り替えるのは HTTP(S) トラフィックの送信先(バックエンドの MIG)だけで、データベースのフェイルオーバーは行いません。us-east1 のクロスリージョン リードレプリカは読み取り専用のままなので、昇格しない限りアプリケーションは書き込みができず、「完全に稼働」した状態になりません。さらに両リージョンで MIG を常時稼働させるため、RTO 2 時間という要件に対して過剰なコストもかかります。
C:スナップショットが 1 日 1 回では、最悪で約 24 時間分のデータを失うため、
RPO 15 分を満たせません。障害時に手動で VM とデータベースを復元する手順は時間がかかり、ミスのリスクもあります(なお、ディスク スナップショットや Cloud SQL のバックアップは Cloud Storage バケットにコピーして管理するものではなく、それぞれの保存ロケーションの設定で管理します)。
D:リージョン MIG は us-west1 内の複数ゾーンに VM を分散するため、ゾーン障害には強くなりますが、リージョン全体の障害には対応できません。「地理的に異なるリージョンでの復旧」という要件を満たしていません。また SLA は障害時に利用料金のクレジットが返還されるといった契約上の取り決めであり、可用性を保証する技術的な対策や DR 戦略の代わりにはなりません。
【参考】
障害復旧計画ガイドデータの障害復旧シナリオアプリケーションの障害復旧シナリオ