PCDBE 合格対策
🔬 DEEP DIVE

Cloud SQL ディープダイブ

公式ドキュメントに基づく Cloud SQL の内部アーキテクチャ・HAの仕組み・PITR・Enterprise Plus 差分 の徹底解説。

MySQL PostgreSQL SQL Server 出題比重 〜25%

📑 目次

  1. 1. アーキテクチャ概観
  2. 2. HA 構成の内部メカニズム
  3. 3. フェイルオーバーのタイムライン
  4. 4. Enterprise vs Enterprise Plus 完全比較
  5. 5. PITR と Binary Log の仕組み
  6. 6. 接続方式の選定マトリクス
  7. 7. スケーリングの限界と移行判断
  8. 8. 試験で問われる落とし穴 / リスク

1. アーキテクチャ概観

Cloud SQL は Google Cloud のフルマネージド リレーショナル DB サービス。MySQL / PostgreSQL / SQL Server の 3 エンジンを提供。アーキテクチャ的には Compute Engine VM 上にエンジンを動かす設計だが、マネージドサービスとして VM へのアクセスは閉ざされている

Compute

Primary Instance

  • vCPU + RAM (マシンタイプ)
  • Read / Write 両対応
  • アプリの接続先
Storage

Regional Persistent Disk

  • 2 ゾーン同期レプリ
  • SSD or HDD
  • 自動増加可能
Compute (HA only)

Standby Instance

  • 別ゾーン
  • 同期スタンバイ
  • ⚠️ 直接接続不可
Optional

Read Replica

  • 非同期 (or 同期)
  • 同/別リージョン
  • 読み取り分散
🏗 Cloud SQL データ永続化の鍵: HA 構成では Regional Persistent Disk を使用。すべての書き込みは 2 つのゾーンの永続ディスクへ同期的に書き込まれた後で初めて commit 完了 として応答される(synchronous replication to each zone's persistent disk)。

2. HA 構成の内部メカニズム

2-1. 同期スタンバイの実態

Cloud SQL HA は マスター/スレーブのストリーム複製ではなく、ストレージ層レベルの同期複製 です。これは MySQL/PG の論理レプリではなく Regional Persistent Disk の物理書き込み複製 による実装で、データロスゼロを保証する根拠になっています。

アプリ (write クエリ) │ ▼ ┌──────────────────┐ │ Primary Instance │ (zone-a) │ PG/MySQL │ └────────┬─────────┘ │ I/O 発行 ▼ ┌─────────────────────┐ │ Regional Persistent │ │ Disk (zone-a + b) │ ← 2ゾーン同期書き込み完了を待って commit └─────────────────────┘ ▲ │ 障害時のみ Standby が引き継ぎ ┌────────┴─────────┐ │ Standby Instance │ (zone-b) │ (idle, ヒート) │ └──────────────────┘
Standby に直接接続することはできない。「読み取りスケールをしたい」というシナリオで「Standby を使う」を選ぶと不正解。読み取り分散は Read Replica の役割(インスタンスが別に必要)。

2-2. ヘルスチェック

Cloud SQL は 毎秒のハートビート(heartbeat detection occurring each second)でインスタンスの健全性を監視。複数回連続でハートビートが失敗すると自動フェイルオーバーがトリガーされる。

3. フェイルオーバーのタイムライン

  1. 0s — 障害発生 Primary インスタンスが応答しなくなる。アプリの既存接続は徐々にタイムアウト。
  2. 〜数秒 — 検知 連続ハートビート失敗で Cloud SQL コントロールプレーンが障害を確定。
  3. 〜30s — 切替準備 Standby が Regional Persistent Disk をマウントし、PostgreSQL/MySQL を起動。クラッシュリカバリ実行。
  4. 〜60s — 完了 shared static IP address を Standby が引き継ぎ、アプリは同じ接続文字列で再接続可能に。RPO=0 / RTO≒60s
  5. 〜数分 — 新 Standby 作成 元の Primary は廃棄され、別のゾーンに新しい Standby が自動構築される。再度 HA 状態に戻る。
公式ダウンタイム目安
~60s
"about sixty seconds"
SLA
99.95%
Regional HA
RPO
0
同期レプリのため
ハートビート
1s
毎秒検査

フェイルオーバーが ブロックされる 条件

試験で「Cloud SQL HA だから障害時は無条件にフェイルオーバーする」を選ぶと不正解。Standby の健全性が前提条件。アプリ側は ConnectionResetError の再試行ロジックを必ず実装すること。

4. Enterprise vs Enterprise Plus 完全比較

項目EnterpriseEnterprise Plus備考
最大 vCPU 96 (N4) 128 (N2) / 72 (C4A) N2 系のみ 128 まで
最大 RAM 624 GB 864 GB 1:8 比率
Data Cache (NVMe) なし あり (最大 4倍読み取り改善) ローカル SSD を読み取りキャッシュとして利用
Near-Zero Downtime メンテナンス ~30秒 sub-second(<1秒) パッチ・マイナーのみ。メジャーは対象外
計画オペレーション 数分 sub-second スケール変更・フェイルオーバーなど
書き込みレイテンシ 標準 2x 改善 Hyperdisk 技術
ストレージ Persistent Disk Hyperdisk IOPS・スループットが個別調整可
PITR トランザクションログ保持 最大 7日 最大 35日 ⚠️公式ドキュメント記載値
価格 標準 約 1.5〜2x Edition による課金
選定ガイド:「メンテダウンタイムを 10 秒以下に抑えたい」「読み取り 4 倍速」「PITR 35 日が必要」これらいずれか 1 つでも該当すれば Enterprise Plus。それ以外は Enterprise でコスト最適化。
PITR 35日は Enterprise Plus 限定。Enterprise の最大は 7日。試験で「Enterprise で 30 日 PITR」が選択肢にあったら 除外

5. PITR と Binary Log の仕組み

Point-in-Time Recovery は 「直近フルバックアップ + その後のトランザクションログ」 の組み合わせで実現される。任意の時点(秒単位)まで巻き戻し可能。

時系列 → 日次バックアップ (T0) │ ▼ ┌─────────┐ binary log / WAL を継続記録 │ baseline│ ───────────────────────────────────► 現在 └─────────┘ ↑ ↑ ↑ T1 T2 T3 (任意の時点に巻き戻し可能) リストア手順: 1. ベースバックアップを別インスタンスに復元 2. T1 までの binary log/WAL を再生 → T1 時点の状態
PITR 有効化 → MySQL の場合 binary log を ON(PostgreSQL は WAL Archiving)。binary log は時間とともに容量が増えるため、保持期間 = ストレージコスト。
DBPITR 最大保持バックアップ最大保持備考
Cloud SQL Enterprise7 日365 日デフォルト 7 日自動バックアップ
Cloud SQL Enterprise Plus35 日365 日長期 PITR が必要なら Plus
AlloyDB35 日 (Continuous Backup)365 日連続バックアップ標準装備
Spanner7 日365 日Backup は別途
Firestore7 日Native モード
「バックアップから PITR で復元」と聞かれた時に注意:PITR は元のインスタンスへの上書きではなく、新しいインスタンスとして復元される。アプリの接続文字列を切り替える必要があるため、運用手順に組み込む。

6. 接続方式の選定マトリクス

方式暗号化IAMVPC用途
Public IP 直接 手動 TLS なし 不要 開発・PoC
Public IP + Auth Proxy 自動 TLS あり 不要 開発・サーバーレス
Private IP 自動 TLS DB ロール 必要 (Peering) 本番標準
Private IP + Auth Proxy 自動 TLS あり 必要 本番 + IAM 認証
Private Service Connect (PSC) 自動 TLS あり VPC エンドポイント マルチ VPC, IP 重複耐性
2026年現在の推奨は PSC + IAM DB認証。VPC ピアリングよりも IP 重複耐性が高く、推移的接続不可問題も解決。複数の顧客 VPC からアクセスする SaaS には必須。

7. スケーリングの限界と移行判断

Cloud SQL は 垂直スケール(マシンタイプアップ)が基本。水平スケールは リードレプリカ追加のみで、書き込みは Primary 1台に集中する。

Cloud SQL の物理的な上限: vCPU 128(Enterprise Plus)、RAM 864GB、ストレージ 64TB(PostgreSQL/MySQL)。これを超える要件は Cloud SQL では対応不可

「Cloud SQL → 別 DB」への移行判断シグナル

8. 試験で問われる落とし穴 / リスク TOP 10

  1. Storage Auto-Increase は縮小不可。一度増えたら別インスタンスへの移行が必要。
  2. メジャーバージョンアップのインプレースはロールバック不可。Blue-Green + DMS が安全。
  3. Cross-region Read Replica の Promote は手動のみ。自動フェイルオーバーは同一リージョン内(HA)のみ。
  4. CMEK 鍵を無効化するとインスタンス停止。鍵削除には待機期間あり(KMS の destroy schedule)。
  5. Standby インスタンスへの直接接続不可。読み取り分散には別途 Read Replica が必要。
  6. Cloud SQL は CSEK 非対応。顧客鍵管理は CMEK のみ。
  7. Cross-region Replica の昇格後、旧 Primary はレプリカに戻らない。手動で再構築。
  8. Auto Storage Increase 無効 + ストレージ満杯 → DB ダウン。本番では必ず有効化。
  9. サーバーレスからの大量接続は枯渇する。Cloud Run/CF + PgBouncer or Auth Proxy 必須。
  10. SQL Server は BYOL 対応(既存ライセンス持ち込み可)。試験で「license-included のみ」は罠。
公式参考リソース