模擬問題集 › GCP-PCA › 練習問題 10

GCP-PCA 練習問題 10|技術プロセスとビジネス プロセスの分析と最適化

Professional Cloud Architect・無料公開(全 200 問中 15 問を無料公開中)

問題
ある大手医療機関の主要な電子健康記録(EHR)アプリケーションは、Cloud SQL for PostgreSQL データベースを使用する Compute Engine インスタンス上で稼働しており、すべて us-west1 リージョンに配置されています。新たな規制により、事業継続計画(BCP)の実装と文書化が義務付けられました。この計画では、目標復旧時間(RTO)2 時間、目標復旧時点(RPO)15 分で、EHR アプリケーションを地理的に異なるリージョンで完全に復旧し、稼働可能にできることを保証しなければなりません。これらの厳格な BCP 要件を満たす障害復旧(DR)戦略を設計する必要があります。 どうすればよいですか?

選択肢と解説

  • 1
    us-west1 と us-east1 の両方にアクティブなマネージド インスタンス グループ(MIG)をデプロイし、その前段にグローバル外部 HTTP(S) ロードバランサを配置する。データベースには us-east1 のクロスリージョン リードレプリカを使用し、障害時にはロードバランサのヘルスチェックによってすべてのトラフィックが自動的にフェイルオーバーされることに任せる。
  • ✓
    Terraform を使用してアプリケーションのコンピューティング インフラストラクチャを定義する。障害発生時には、us-west1 の Cloud SQL データベースが us-east1 のクロスリージョン リードレプリカを使用するように構成し、us-east1 に環境を構築して、レプリカを昇格する。
  • 3
    Compute Engine のディスクと Cloud SQL データベースのスナップショットを毎日取得する。これらのスナップショットを us-east1 の Cloud Storage バケットにコピーする。障害発生時には、最新のスナップショットから仮想マシン(VM)とデータベースを手動で復元する。
  • 4
    高可用性のために us-west1 にリージョン MIG をデプロイし、リージョンがオンラインであり続けることについては Google Cloud の SLA に頼る。

解説

【正解】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 戦略の代わりにはなりません。

【参考】
障害復旧計画ガイド
データの障害復旧シナリオ
アプリケーションの障害復旧シナリオ
← 練習問題 9練習問題 11 →
GCP-PCA の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-PCA の模試を受ける料金プランを見る

GCP-PCA の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15