コンテンツにスキップ

📚 GCP PCA 学習: 2026-04-30

セクション: 2.1 ネットワークトポロジーの設定 前回からの繋がり: マイグレーション計画で検討した「ネットワーク接続方式」を、実装レベルで設定する段階。VPC・Interconnect・VPN の選択が実務を左右する。


① 一言サマリー

「ネットワークトポロジーの設定とは、GCP リソースと社内 DC・複数リージョン間の通信を、セキュリティと性能を両立させて構築することです。」


② たとえ話

イメージ:部屋同士を繋ぐ配線工事

  • VPC = 一つの部屋を仕切る壁。その部屋内で自由に通信(ファイアウォール開放)
  • サブネット = 部屋をさらに小部屋に分割。グループごとに異なるセキュリティ規則を適用
  • ルーティング = 「別の部屋へ行くには、この廊下を通りなさい」という配線図
  • Cloud VPN = 鍵をかけた細い通路で遠方の拠点と接続(遅延あり、セキュア)
  • Cloud Interconnect = 太い直結パイプで専用接続(高速、遅延小、コスト高)
  • Cloud NAT = 部屋の中では内線で通話、外に出る時だけ公開番号に変換して発信

この「配線設計」を誤ると、通信が遅い、外部から侵入されるといった問題が発生します。


③ 図解

ネットワークトポロジー全体図

graph LR
    subgraph OnPrem["オンプレミス / DC"]
        DC["データセンター
192.168.0.0/16"] end subgraph GCP1["GCP リージョン1
us-central1"] VPC1["VPC: prod-vpc
10.0.0.0/16"] Subnet1["Subnet
10.0.1.0/24"] VM1["Compute Engine
内部IP: 10.0.1.10"] end subgraph GCP2["GCP リージョン2
europe-west1"] VPC2["VPC: prod-vpc
10.1.0.0/16"] Subnet2["Subnet
10.1.1.0/24"] VM2["Compute Engine
内部IP: 10.1.1.10"] end Internet["インターネット"] DC -->|Cloud Interconnect
100 Mbps+| VPC1 DC -->|Cloud VPN
バックアップ| VPC1 VPC1 -->|VPC Peering| VPC2 VPC1 -->|Cloud NAT| Internet VM1 -->|Cloud CDN| Internet

VPC トポロジー選択マトリクス

graph LR
    A["ネットワーク管理
責任体制は?"] B["一つのチーム
集中管理"] C["複数チーム
分散管理"] D["異なる
組織"] B -->|非常に単純| E["単一 VPC
複数 Subnet"] C -->|同一 GCP Project
内の分割] --> F["共有 VPC
Host Project"] D -->|別 Project| G["VPC Peering"] A --> B A --> C A --> D

接続方式の速度・遅延・コスト比較

graph LR
    A["接続要件"] --> B{"DL 検証
アクティブ
共存"} B -->|不要
低遅延| C["Cloud Interconnect
VLAN × 複数
遅延: <1ms
コスト: 月4万円"] B -->|必要
高セキュア| D["Cloud VPN
IPSec 暗号化
遅延: 10-50ms
コスト: 月5,000円"] B -->|教育用
低コスト| E["HTTP/HTTPS
API 経由
遅延: 100ms
コスト: トラフィック課金"]

④ 仕組みの深掘り

4.1 VPC とサブネットの構造

VPC(Virtual Private Cloud) は: - IP アドレス空間を定義するコンテナ - 例:10.0.0.0/16 を宣言すると、VPC 内のすべてのリソースがこの範囲内の IP を持つ - 複数 VPC は独立し、通信するには Peering か VPN が必要

  • ファイアウォールルール(FW)は VPC 単位で適用される
  • VPC A のリソースと VPC B のリソースが Peering で繋がっていても、FW で遮断すれば通信できない
  • つまり「ネットワーク接続」と「通信許可」は独立した概念

サブネット(Subnet) は: - VPC 内の IP レンジをさらに分割したもの - VPC 10.0.0.0/16 を 4 つのサブネット(10.0.1.0/24, 10.0.2.0/24, ...)に分割 - リージョンごとに 1 つ以上のサブネットが必須 - 同じ VPC 内のサブネット間は「ルーティングテーブル不要」で自動的に接続

  • GKE・Cloud Run など、マネージドサービスはサブネットを「自動予約」する可能性がある
  • IP アドレスが枯渇したら、GKE クラスタの Pod が起動できない
  • PCA 試験では「IP アドレス計画」は出題ホットスポット

4.2 ルーティングの実体

ルーティング(経路制御) は、VPC 内で定義される: - ローカルルート(自動): 同一 VPC 内のサブネット間は直結 - 10.0.1.0/24 のリソース → 10.0.2.0/24 のリソース = ローカルルートで転送

  • カスタムルート(手動): VPC 外へのトラフィック経路を明示
  • 例:0.0.0.0/0Cloud NAT → インターネット
  • 例:192.168.0.0/16VPN Gateway → オンプレ DC

ルーティングの優先度: 1. ローカルルート(常に最優先) 2. より詳細なプレフィックス(例:192.168.1.0/24192.168.0.0/16 より優先) 3. 同じプレフィックスの複数ルート → 負荷分散

4.3 Cloud Interconnect の実装

Dedicated Interconnect: - GCP と DC を VLAN で直結 - VLAN 複数本でレイアウル冗長化(例:LON1 と LON2 から 2 本) - SLA 99.99% を実現

  • セットアップ は 1-3 ヶ月かかる(Google のハードウェア配置・ケーブル工事)

  • BGP(動的ルーティングプロトコル) で経路自動交換

  • DC 側でルートアドバタイズ → GCP 側が自動受信

Partner Interconnect: - GCP と DC を「通信キャリアの提携パートナー」経由で接続 - セットアップが早い(数週間) - 遅延は Dedicated より大きい(1-5ms) - コストは Dedicated より安い(月 1-2 万円)

4.4 Cloud VPN の実装

IPSec トンネル でオンプレ ↔ GCP 間を暗号化: - 遅延 10-50ms(インターネット経由) - スループット最大 3 Gbps(VPN Gateway 1 つあたり) - コスト:月 5,000 円(ゲートウェイ 1 つ)+ トラフィック課金

HA VPN(高可用性): - GCP 側に 2 つのゲートウェイを自動配置(冗長化) - 99.99% アップタイム SLA(Dedicated Interconnect と同等) - しかし遅延は依然 10-50ms

4.5 Cloud NAT の仕組み

Outbound NAT(外向き): - サブネット内のリソース(内部 IP 10.0.1.10)が外部(インターネット)にアクセス - Cloud NAT が内部 IP → Cloud NAT の公開 IP に変換 - レスポンスは自動的に元のリソースに戻される

Cloud NAT の設定要素: - スコープ:どのサブネットに対して NAT を適用するか - ログ : NAT トラフィックをログ記録するか(デバッグ用) - Port Allocation : リソースあたり何個のポートを予約するか(コネクション数の上限を決める)


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

VPC vs VPC Peering vs Shared VPC

要件 VPC VPC Peering Shared VPC
多数のプロジェクト管理 不向き(各 Project ごと) 向いている(1:1 接続) 最適(ハブ&スポーク)
共有 VPC リソース(IAM) 不可能 不可能 可能(Host Project で統一管理)
ネットワーク管理権限 Project Owner Peering Admin が必須 Host Admin 一元化
複数リージョン対応 自由 自由 自由(同一 VPC)
構成の複雑さ シンプル 中程度 やや複雑
コスト 無料(VPC 作成) 無料(Peering) 無料(Shared VPC)
PCA 試験での出現率 最高

PCA 試験での選択ロジック: - 一社・一チーム内 → 単一 VPC + 複数 Subnet - 複数チーム・部門別 → Shared VPC(Admin が一元化) - 別組織・M&A 後 → VPC Peering(各 Project 独立)


Cloud Interconnect vs Cloud VPN vs Public API

要件 Dedicated Interconnect HA Cloud VPN Public API / HTTPS
遅延(ms) < 1 ms 10-50 ms 50-200 ms
スループット 10-100 Gbps 3 Gbps 可変(ISP)
セットアップ期間 1-3 ヶ月 数時間 即座
月額コスト 4-10 万円 5,000 円 ほぼ 0(トラフィック課金)
オンプレ DB レプリケーション 最適 可(DMS 用) 不向き
CloudSQL ← Replication 推奨 可(検証段階) 非推奨
Spanner グローバルレプ 推奨 非推奨

PCA 試験での判断軸: - RTO が秒単位 + 同期レプリケーション必須Dedicated Interconnect(遅延 <1ms) - RTO が分単位 + 非同期 OKHA VPN(安い・速い) - 開発・テスト・低頻度アクセスPublic API(設定不要)


Cloud NAT vs Static IP vs Private Google Access

要件 Cloud NAT Static IP(GCP 公開 IP) Private Google Access
内向きトラフィック 不可 可(Firewall + Load Balancer) N/A
外向きトラフィック 自動(IP 変換) 自由 不要(Google API に直結)
外部リソースへの接続 Google API のみ
Cloud Storage アクセス NAT を通す 直結 Private Google Access で高速
コスト 月 3,000 円(ゲートウェイ) 無料(未使用時)→ 月 4,000 円(使用中) 無料
セキュリティ 最高(IP 隠蔽) 露出リスク 中程度

PCA 試験での選択基準: - 社内 DB・API への通信 → Cloud NAT(外部 IP を隠す) - Cloud Storage / GCS への高速アクセスPrivate Google Access(NAT 不要) - Web サーバー(外部向け) → Static IP(固定必須)


⑥ 実務への応用

ケース 1: Web スタートアップの初期構成

要件: - フロントエンド(Cloud Run)と API(Cloud Run) - RDS 互換 DB(Cloud SQL) - 定期バッチ処理(Compute Engine)

設計

VPC: startup-vpc (10.0.0.0/16)
├─ Subnet-FE (10.0.1.0/24): Cloud Run(自動デプロイ)
├─ Subnet-API (10.0.2.0/24): Cloud Run + Cloud SQL
├─ Subnet-Batch (10.0.3.0/24): Compute Engine(深夜実行)
└─ Cloud NAT(Compute Engine のバッチが GCS・GitHub にアクセス)

判断軸: - Cloud Run は VPC 接続を自動でハンドル → サブネット設計のみ - Compute Engine のバッチは IP 固定不要 → Cloud NAT で十分 - Cloud SQL は「プライベート IP」構成(Interconnect 不要)


ケース 2: 大規模エンタープライズの HA 構成

要件: - オンプレ DB(Oracle)→ Cloud SQL への同期レプリケーション - 複数リージョン への自動フェイルオーバー - DLP(Data Loss Prevention)コンプライアンス対応

設計

オンプレ DC (192.168.0.0/16)
│
├─ Dedicated Interconnect(VLAN × 2: LON1 + LON2)
│  └─ GCP Primary (europe-west1): Cloud SQL(リーダー/ライター)
│     └─ Cloud SQL レプリケーション → Secondary (us-central1)
│
└─ HA VPN (バックアップ)
   └─ 障害時の代替経路

判断軸: - 同期レプリケーション必須 → Dedicated Interconnect(遅延 <1ms) - セットアップ 1-3 ヶ月を許容 → Interconnect コストは許容(月 5-10 万円) - DLP コンプライアンス → VPC Service Controls + Private IP で完全隔離


ケース 3: 受託開発の マルチテナント構成

要件: - 顧客 A・B・C ごとに異なる VPC - 管理コスト最小化(一つの運用チーム) - 顧客間のネットワーク分離(セキュリティ必須)

設計

Host Project(運用チーム:GCP Admin)
├─ Shared VPC
│  ├─ Subnet-A (10.0.0.0/24) → Service Project-A(顧客 A)
│  ├─ Subnet-B (10.0.1.0/24) → Service Project-B(顧客 B)
│  └─ Subnet-C (10.0.2.0/24) → Service Project-C(顧客 C)
│
└─ Cloud Firewall(Host Admin が一元管理)
   ├─ Rule-A: Subnet-A からの通信のみ許可
   ├─ Rule-B: Subnet-B からの通信のみ許可
   └─ Rule-C: Subnet-C からの通信のみ許可

判断軸: - Shared VPC で一元管理 → Admin の運用負荷 80% 削減 - 顧客ごと Service Project → IAM 権限も分離(顧客 A の admin は Subnet-A だけ管理可能) - Firewall を Host で統一 → 誤設定を削減


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

誤解 1: 「VPC Peering なら自動的に通信できる」

❌ 間違い: - VPC A と B を Peering でつなぐだけで「ネットワーク接続は OK」と思ってしまう - しかし Firewall で遮断されていたら、通信は失敗する

✅ 正解: - VPC Peering = ネットワーク層の接続 - Firewall Rule = セキュリティ層の許可 - この 2 つが「両方そろって初めて通信が成功

VPC-A (FW開放) --Peering--> VPC-B (FW開放) = OK
VPC-A (FW開放) --Peering--> VPC-B (FW遮断) = NG
VPC-A (FW遮断) --Peering--> VPC-B (FW開放) = NG

試験対策: 設問で「A と B を Peering 接続したが通信できない。原因は?」 → まず Firewall Rule を確認するクセをつけよ。


誤解 2: 「Cloud NAT があれば、セキュリティも完璧」

❌ 間違い: - Cloud NAT で IP が隠蔽されるから、外部からのアクセスは防げると思う - しかし Firewall の Ingress Rule が開いていたら、外部からの入力も受け付ける

✅ 正解: - Cloud NAT = Outbound(外向き)トラフィックのみに作用 - Inbound(内向き)トラフィックは Firewall Rule で制御する - 例:0.0.0.0/0 → 0.0.0.0/0 DENY で Inbound 遮断 + Cloud NAT で Outbound

試験対策: 「内部サーバーから外部 API へアクセスしたいが、内部からのアクセスは許可したくない」という要件 → Firewall の Egress Rule + Cloud NAT で実現


誤解 3: 「Cloud Interconnect なら常に高速」

❌ 間違い: - Dedicated Interconnect は遅延 <1ms だから「圧倒的に速い」と思う - しかし DB のレプリケーション遅延は、ネットワーク遅延だけでは決まらない - DB のディスク I/O・ロック競合・ネットワークバッファ など複合要因

✅ 正解: - Interconnect の遅延 <1ms は「往復 RTT」 - DB レプリケーションの同期は「リモート側が書き込み完了」を待つ - ネットワーク <1ms + リモート DB の書き込み 10-100ms + ネットワーク <1ms = 最終的に 20-150ms - Interconnect でも「複数の DB インスタンスを同期的に更新」は難しい

試験対策: 「Oracle → Cloud SQL への同期レプリケーション」 → Interconnect は必須(遅延削減)ですが、「完全な同期」は期待できません。


誤解 4: 「複数 Project なら VPC Peering を使う」

❌ 間違い: - 複数 Project は自動的に VPC Peering を使うべきだと思う - しかし管理複雑度が大幅に上がる(各 Peering の設定・Firewall ルール複数化)

✅ 正解: - 複数チーム・部門で「統一ネットワーク管理」が必要Shared VPC(推奨) - 別組織・独立した Project → VPC Peering(各 Project が独立) - Peering はスケーラビリティに限界がある(複数 Project では VPC を複数個作ると Peering の関係が n * (n-1) / 2 本に爆増)

試験対策: PCA 試験では「複数チーム・複数 Project で管理コスト最小化」という要件が出たら → Shared VPC が正解(Peering ではない)


誤解 5: 「HA VPN なら Cloud Interconnect と同じセキュリティ」

❌ 間違い: - HA VPN は 99.99% SLA だから「Interconnect と同等」と思う - しかし HA VPN は「インターネット経由」のため、中間ノードを通過する

✅ 正解: - Dedicated Interconnect = DC ↔ Google PoP ↔ GCP (ダイレクト・Google ネットワーク内) - HA VPN = DC ↔ インターネット ↔ GCP (エンクリプションは IPSec だが、インターネット経由) - セキュリティ水準は異なる(Interconnect の方が高い)

試験対策: 「HIPAA / PCI DSS コンプライアンス対応で、オンプレ DB → Cloud SQL」 → HA VPN ではなく Dedicated Interconnect が正解


⑧ 理解度チェック

問題 1

要件: スタートアップが Cloud Run + Cloud SQL で Web サービスを運用中。Cloud Run は VPC の内部 IP を持つ必要があります。このとき、どのネットワークリソースを設定する必要がありますか?

選択肢: 1. VPC + Subnet + Cloud NAT 2. VPC + Subnet + Cloud Run VPC Connector 3. VPC + Cloud Interconnect 4. VPC Peering + Cloud VPN

答え: 2. VPC + Subnet + Cloud Run VPC Connector

理由: - Cloud Run はデフォルトで Google 管理のネットワークで実行(公開 IP なし) - Cloud SQL に VPC 内部 IP でアクセスするには、Cloud Run VPC Connector で手動接続 - Cloud NAT は「Outbound トラフィック」の外向き NAT だけ(Cloud Run → Google API) - Interconnect / VPN は不要(社内 DC とのリンク不要)


問題 2

要件: オンプレ DC と GCP を接続し、オンプレの DB を Cloud SQL にリアルタイム同期(遅延 <100ms)したい。このとき、どの接続方式を推奨しますか?

選択肢: 1. Cloud VPN のみ(月コスト 5,000 円) 2. Dedicated Interconnect のみ(月コスト 5 万円) 3. Cloud VPN + Dedicated Interconnect 冗長構成(月コスト 55,000 円) 4. Public API 経由(レプリケーションツール使用)

答え: 3. Cloud VPN + Dedicated Interconnect 冗長構成

理由: - 遅延 <100ms 要件 → Dedicated Interconnect 必須(<1ms 達成) - ネットワーク冗長性 (SLA 99.99%) → Interconnect だけでは不足(Interconnect 障害時のバックアップ必要) - HA VPN を「バックアップ」として追加すれば、Interconnect 障害時も自動フェイルオーバー - 月コストは高いが(55,000 円)、ビジネス継続性 (99.99% SLA) を実現


問題 3

要件: 複数事業部(営業・技術・財務)が GCP 上で各々独立したシステムを運用。ネットワークは分離したいが、管理は一元化したい。

このとき、どのトポロジー設計を推奨しますか?

選択肢: 1. 各事業部ごとに VPC を作成し、VPC Peering で接続 2. Host Project の Shared VPC で統一。各事業部は Service Project 3. VPC Peering + 複数 Project(各事業部が独立管理) 4. Cloud Interconnect で全て接続(オンプレとも統合)

答え: 2. Host Project の Shared VPC で統一。各事業部は Service Project

理由: - ネットワーク一元管理 = Host Project の Admin が全体を統制 - リソース分離 = 各事業部の Service Project は独立した IAM / リソース所有 - Firewall・ルーティング一元化 → Host Project で一度の設定で全事業部に適用 - 管理コスト最小化 (VPC Peering では n 本の関係を管理する必要)


問題 4

要件: 内部 Compute Engine インスタンスから GitHub / Docker Hub へのアクセスが必要。Compute Engine は「内部 IP のみ」(公開 IP なし)で運用し、セキュリティを最大化したい。

このとき、どのネットワーク構成を採用しますか?

選択肢: 1. Cloud NAT を使用。GitHub・Docker Hub への外向きアクセスを許可 2. Compute Engine に公開 IP を付与して直結 3. Cloud NAT + Firewall Egress Rule(GitHub/Docker Hub IP アドレスのみ許可) 4. VPN で社内プロキシ経由でアクセス

答え: 3. Cloud NAT + Firewall Egress Rule(GitHub/Docker Hub IP アドレスのみ許可)

理由: - Cloud NAT で内部 IP を隠蔽(セキュリティ向上) - Firewall の Egress Rule で GitHub/Docker Hub の IP のみ許可(ホワイトリスト方式) - 2 層防御 = Cloud NAT(IP 隠蔽)+ Firewall(アクセス制御) - オプション 1(NAT だけ)は不十分(全外部サイトが許可される) - オプション 2(公開 IP)はセキュリティ低下


⑨ 深掘り補足(PCA 試験範囲外)

Cloud Armor の戦略的活用

Cloud Armor = DDoS・WAF(Web Application Firewall)を Compute Engine / Load Balancer の前段に設置

  • Google エッジで攻撃トラフィックを遮断(遅延なし)
  • geo-ブロッキング(特定国からのアクセス遮断)
  • レート制限(1 IP あたり秒 100 リクエストまで)

PCA 試験での出題:「グローバルな Web アプリケーション。DDoS 対策と GDPR 対応(EU からのアクセス制限)」 → Cloud Armor + Cloud CDN で実装


Cloud CDN とネットワークトポロジーの相互作用

Cloud CDN = Google エッジノード(全世界 200+ PoP)でコンテンツをキャッシュ

  • オリジン(自 Web サーバー)への負荷削減
  • レイテンシー削減(ユーザーの近くのエッジから配信)
  • コスト削減(トラフィック圧縮・エッジキャッシュ)

ネットワークトポロジーとの関連: - オリジンが VPC 内部 IP の場合 → Cloud CDN 経由でアクセス不可(CDN は HTTP/HTTPS で通信) - オリジンに「公開 IP」または「Cloud Load Balancer」が必須 - つまり「VPC 内の Compute Engine → Cloud CDN → エッジ → ユーザー」という設計になる


2026年 4月の GCP リリースハイライト

⚠️ 注:ここで言及する機能は、公式ドキュメント時点での情報です

最近のネットワークセクションの GA: - Private Service Connect の拡張 : Google API(BigQuery・Cloud Storage)へのプライベートアクセスがさらに簡素化 - Cloud NAT のログ詳細化 : セッション・パケット単位でのログ取得が可能に(デバッグ性向上)


理解度確認のための実習課題

実装課題: 1. gcloud compute networks create prod-vpc --subnet-mode=custom 2. gcloud compute networks subnets create prod-subnet --network=prod-vpc --range=10.0.0.0/24 --region=us-central1 3. gcloud compute instances create web-server --subnet=prod-subnet --zone=us-central1-a 4. Cloud NAT Gateway を設定し、インスタンスから外部 API へアクセス可能にする

期待される結果: - インスタンスに公開 IP なし、しかし curl https://api.github.com が成功


次回: 2.2 個別ストレージシステムの設定