コンテンツにスキップ

📚 GCP PCA 学習: 2026-04-13

セクション: 1.2 技術要件を満たすソリューションインフラの設計 前回からの繋がり: 1.1でビジネス要件を技術選択に翻訳する方法を学んだ。今回はその技術要件を実際のインフラ設計(HA・スケーリング・マイグレーション)に落とし込む方法を掘り下げる。


① 一言サマリー

「技術要件を満たすインフラ設計とは、一言でいうと "壊れない・伸び縮みする・移せる" の3つを同時に設計する作業 です」

PCA 試験では「どのサービスを使えば HA になるか」だけでなく、「なぜその構成が選ばれるのか・どこにトレードオフがあるのか」を問います。


② たとえ話

高速道路を想像してください。

  • 高可用性(HA): 車線が複数あるので1車線が工事中でも渋滞しない(= ゾーン冗長)
  • フォルトトレランス: 橋が落ちても迂回路が自動で開通する(= フェールオーバー)
  • 弾力性: 朝の通勤ラッシュには車線を増やし、深夜は減らす(= オートスケール)
  • マイグレーション: 古い道路を壊さずに横に新しい道路を作って徐々に切り替える(= 段階移行)

GCP でのインフラ設計も同じ考え方です。「常に動く」「需要に追従する」「安全に移せる」を同時に実現します。


③ 図解

graph LR
    subgraph 技術要件の分類
        A[技術要件] --> B[高可用性 / HA]
        A --> C[フォルトトレランス]
        A --> D[弾力性 / スケーラビリティ]
        A --> E[マイグレーション]
    end

    subgraph HA 設計パターン
        B --> B1[マルチゾーン配置]
        B --> B2[ロードバランサー]
        B1 --> B3[Cloud SQL HA
GKE Multi-zone
MIG Regional] end subgraph フォルトトレランス設計 C --> C1[マルチリージョン] C --> C2[フェールオーバー自動化] C1 --> C3[Cloud Spanner
Global LB
Multi-region GCS] end subgraph スケーリング設計 D --> D1[水平スケーリング] D --> D2[垂直スケーリング] D1 --> D3[MIG Autoscaler
GKE HPA
Cloud Run] D2 --> D4[Machine Type
変更 / Committed Use] end subgraph マイグレーション設計 E --> E1[Lift & Shift] E --> E2[段階移行] E1 --> E3[Migrate to VMs] E2 --> E4[Traffic Splitting
Blue/Green Deploy] end style A fill:#4285F4,color:#fff style B3 fill:#34A853,color:#fff style C3 fill:#34A853,color:#fff style D3 fill:#34A853,color:#fff style E4 fill:#34A853,color:#fff

技術要件は4つの軸に分類され、それぞれに対応する GCP の設計パターンがあります。PCA 試験ではこの マッピングを即座に引き出せるか が問われます。


④ 仕組みの深掘り

高可用性(High Availability)とフォルトトレランスの違い

HA とフォルトトレランスとは

一言でいうと、HA は「障害を最小化する設計」、フォルトトレランスは「障害が起きても継続する設計」 です。 たとえると、HA は「事故を起こしにくい車(安全装備が充実)」、フォルトトレランスは「タイヤが4本パンクしても走れる戦車」のようなものです。

設計 目標 GCP の実装例 コスト
HA 99.9〜99.99% SLA Cloud SQL HA / MIG マルチゾーン
フォルトトレランス 99.999%+ / RPO=0 Cloud Spanner / グローバル LB

PCA 試験のポイント: 「ダウンタイムを許容できない」= HA。「データ消失を1秒も許容できない」= フォルトトレランス(Spanner)。


弾力性とスケーラビリティの設計

水平スケーリング vs 垂直スケーリング

スケーリングとは

一言でいうと、水平スケーリングは「レジを増やす」、垂直スケーリングは「レジを高性能化する」 です。

方式 GCP の実装 特徴
水平(スケールアウト) MIG Autoscaler / GKE HPA / Cloud Run 無停止で追加・削除可能、コスト効率良
垂直(スケールアップ) GCE Machine Type 変更 再起動が必要、上限あり

MIG オートスケーラーのトリガー

MIG Autoscaler とは

一言でいうと、「CPU 使用率などの指標を見て VM を自動で増減させる仕組み」 です。

  • CPU 使用率: 閾値(例: 60%)を超えたら VM 追加
  • カスタムメトリクス: Cloud Monitoring のメトリクスでスケール(例: キューの深さ)
  • Cloud Load Balancing のリクエスト数: 1VM あたりのリクエスト数でスケール
  • スケジュール: 定時(例: 毎朝 8:00)に最小インスタンス数を増やす

PCA 試験でよく出る判断基準: - 「バースト的なトラフィック」→ Cloud Run(0→N の高速スケール、コールドスタートに注意) - 「定常的なワークロード + スパイク」→ MIG + Committed Use Discount の組み合わせ


マイグレーション要件への対応

ライブマイグレーション vs カットオーバー

ライブマイグレーションとは

一言でいうと、「新幹線を走らせたまま線路を交換する技術」 です。ユーザーに影響を与えずにシステムを切り替えます。

GCP での実現方法:

1. Strangler Fig パターン(徐々に機能を新システムへ移行)
   旧システム → LB → 新システム(一部トラフィック)
                  ↘ 旧システム(残りのトラフィック)
   ↓ トラフィックを段階的に切り替え
   → 最終的に旧システムを廃止

2. Blue/Green デプロイ(Cloud Run / GKE で実現)
   Blue(現行): 100% トラフィック
   ↓ 新バージョン(Green)をデプロイ
   Green: 段階的にトラフィックを増やす(10% → 50% → 100%)
   ↓ 問題なければ Blue を廃止

マイグレーションツールの選定

移行対象 ツール 特徴
オンプレ VM → GCE Migrate to Virtual Machines エージェントレス移行
オンプレ コンテナ Migrate to Containers VM → コンテナ自動変換
大容量データ Transfer Appliance ネットワーク帯域が足りない場合(100TB+)
オンライン DB 移行 Database Migration Service 最小ダウンタイムの CDC(変更データキャプチャ)

PCA 試験のポイント: 「ネットワーク帯域が不十分」→ Transfer Appliance。「DB の最小ダウンタイム移行」→ Database Migration Service(CDC)。


⑤ 他サービスとの使い分け

HA / フォルトトレランスのサービス選定フロー

SLA 要件は?
│
├─ 99% 以下 → シングルゾーン構成でも許容
│
├─ 99.9%(年8.76時間まで)
│   └─ マルチゾーン構成
│       ├─ DB: Cloud SQL HA(ゾーン内フェールオーバー)
│       └─ 計算: MIG(マルチゾーン)/ GKE(マルチゾーンクラスタ)
│
├─ 99.99%(年52.6分まで)
│   └─ マルチリージョン構成
│       ├─ DB: Cloud Spanner(グローバル)/ Cloud SQL クロスリージョンレプリカ
│       └─ 計算: グローバル LB + マルチリージョン MIG
│
└─ 99.999%(RPO/RTO ≒ 0)
    └─ Cloud Spanner(True Time による同期レプリケーション)
        + グローバル外部 LB

⑥ 実務への応用

Web 系スタートアップのスケーリング設計

シナリオ: 月100万 PV のサービスが EC サイトへ拡大。セール時に10倍トラフィックを想定。

推奨構成(スケーラビリティ重視):
├─ フロントエンド: Cloud CDN(静的アセット配信)
├─ API サーバー: Cloud Run(0→N の自動スケール)
├─ DB: Cloud SQL(PostgreSQL)
│   ├─ Primary: 書き込み
│   └─ Read Replica × 2: 読み取り分散
└─ キャッシュ: Memorystore(Redis)でDB負荷軽減

セール時の追加対策:
└─ Cloud Run の最小インスタンス数を事前に増やす
   (コールドスタートによるレイテンシスパイクを防ぐ)

レガシーシステムのマイグレーション戦略

シナリオ: オンプレの Java アプリ(VM 10台)を段階移行したい。

Phase 1(Rehost, 0〜3ヶ月):
└─ Migrate to VMs でオンプレ VM を GCE に移行
   リスク最小・ダウンタイム最小

Phase 2(Refactor, 3〜6ヶ月):
└─ Cloud SQL への DB 移行(Database Migration Service)
   アプリ変更なしで DB だけクラウド移行

Phase 3(Rearchitect, 6ヶ月以降):
└─ Migrate to Containers でコンテナ化
   GKE / Cloud Run へ段階移行
   Blue/Green でトラフィックを徐々に切り替え

⑦ よくある誤解・落とし穴

落とし穴 1: Cloud SQL HA = フォルトトレランスという誤解

誤解: Cloud SQL の HA 構成はフェールオーバー時に無停止。 正解: Cloud SQL HA は ゾーン障害時に30〜60秒のフェールオーバーが発生する。RPO=0・RTO=0 が必要なら Cloud Spanner 一択。

落とし穴 2: オートスケーリングは即時に反応するという思い込み

誤解: トラフィックが急増したらすぐに VM が追加される。 正解: MIG のスケールアウトには2〜3分かかる(VM 起動時間 + ヘルスチェック)。スパイクに備えるなら: - Cloud Run: コンテナの起動が速い(秒単位) - 事前スケール: スケジューラーで最小インスタンス数を事前に増やす - ウォームプール: インスタンスを事前に起動しておく

落とし穴 3: マイグレーション = 一括移行という思い込み

誤解: システムを全部一気にクラウドに移せば良い。 正解: 一括移行は最もリスクが高い。PCA 試験では Strangler Fig パターン(徐々に移行)や Blue/Green を選ぶ選択肢が正解になることが多い。

落とし穴 4: 垂直スケーリングを忘れる

誤解: スケーリング = 水平スケーリング(VM 追加)だけ。 正解: ステートフルな DB(Cloud SQL)は水平スケーリングが難しいため、垂直スケーリング(Machine Type アップグレード) が現実的な選択肢になる。Read Replica との組み合わせが定石。


⑧ 理解度チェック

以下のシナリオを読んで、GCP アーキテクチャを考えてください:

シナリオ A:

決済システムを GCP に移行したい。 要件: - トランザクション中のダウンタイムは一切許容しない(RTO=0) - 過去のトランザクションデータは失えない(RPO=0) - 決済件数はセール時に平常の50倍になる

考えてみてください: どのDBサービスを選びますか?計算レイヤーはどう設計しますか?

シナリオ B:

10年前に作ったオンプレの社内基幹システム(Java + Oracle DB、VM 20台)を GCP に移行したい。 ビジネス要件: 「移行中も業務を止めたくない」「まずリスクを最小化したい」

考えてみてください: どの移行戦略(Rehost / Refactor / Rearchitect)から始めますか?どのツールを使いますか?


次回: 1.3 ネットワーク・ストレージ・コンピュートリソースの設計(VPC・ストレージ選定・コンピュート設計)