TL

Cloud Service

Virtual Private Cloud (VPC)

Google Cloud 上に作るグローバルな仮想ネットワーク。サブネットはリージョン単位、ファイアウォールやルートはネットワーク全体で管理する通信設計の土台。

中級セキュリティ信頼性パフォーマンス効率コスト最適化
最終更新: 2026-06-03公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.GCP内に作る自分専用の仮想ネットワーク。通信設計の土台。
  • 2.VPC自体がグローバルで、サブネットはリージョン単位なのが特徴。
  • 3.ルートとファイアウォールはVPC全体で評価、AWSと粒度が違う。

解決する課題

  • リソースをネットワーク的に隔離し、外部から触れる範囲を最小化
  • 「公開する層」と「隠す層」をサブネット+ファイアウォールで分離(Web ⇄ DB など)
  • オンプレや他プロジェクト・他 VPC と安全に接続
  • 複数リージョンのサブネットを**1つの VPC(グローバル)**でまたいで運用

主要概念と用語

  • VPC ネットワーク: プロジェクトに属するグローバルな仮想ネットワーク。リージョンをまたいで広がる
  • サブネット: VPC をリージョン単位で区切った区画。CIDR を持つ(例 10.0.0.0/20)。AZ(ゾーン)単位ではない点が AWS と決定的に違う
  • ルート: 宛先ごとの経路。VPC 全体で評価される(AWS の「サブネットごとのルートテーブル」ではない)
  • ファイアウォールルール: VPC レベルで定義するステートフルな許可/拒否ルール。ネットワークタグサービスアカウントで適用先を絞る
  • Cloud Router: 動的ルート交換(BGP)を担う。Cloud NAT や VPN/Interconnect で利用
  • Cloud NAT: プライベートな VM から外向きのみ通信させるマネージド NAT(AWS の NAT Gateway 相当)
  • 外部 IP / Cloud Load Balancing: インターネットからの受信は外部 IP かグローバル/リージョン LB 経由

仕様・制限・クォータ

  • VPC はグローバル、サブネットはリージョナル(リージョン内の全ゾーンにまたがる)→ 冗長化はリージョン内の複数ゾーンに VM を分散するだけでよい
  • ネットワークモードは auto モード(各リージョンに自動でサブネット作成)/ custom モード(手動定義・本番推奨)/ legacy(非推奨)
  • ファイアウォールルールはネットワーク単位でステートフル。デフォルトで「外向き許可・内向き拒否」の暗黙ルールが存在
  • サブネットの先頭2つ(ネットワーク/ゲートウェイ用)と末尾2つ(ブロードキャスト等)、計4つの IP を Google が予約
  • プロジェクト/ネットワークごとに VPC 数・サブネット数・ルート数・ファイアウォールルール数などの上限(引き上げ可)

内部の仕組み

AWS のような「パブリックサブネット」という区分はサブネット側には存在しません。VM が外部到達できるかは、外部 IP の有無ファイアウォール/ルートで決まります。

  • 外部に出せる: VM に外部 IP を付与、またはデフォルトルート 0.0.0.0/0 → default-internet-gateway + 外向きファイアウォール許可
  • プライベートのまま外向き: 外部 IP を付けず、Cloud NAT(+ Cloud Router)で送信元 NAT する
  • 同一 VPC 内はリージョンをまたいでもサブネット間でプライベート IP 通信できる(ファイアウォールで許可されていれば)

通信可否は ファイアウォールルール(ステートフル・VPC 単位、タグ/SA で適用先を限定) の1層で評価されるのが基本です。AWS の SG(インスタンス単位)と NACL(サブネット単位)の2層構成とは設計思想が異なります。

AWS との決定的な違い:ルートとファイアウォールの粒度

GCP のルートとファイアウォールはネットワーク(VPC)全体で評価され、サブネット単位ではありません。 そのため「あるサブネットだけ NAT に向ける」には、ルートのタグ指定Cloud NAT の対象サブネット指定で表現します。AWS の「サブネット⇔ルートテーブル」の感覚で来ると混乱しがちです。

設計パターン / ベストプラクティス

  • custom モード VPC を使い、サブネットの CIDR を明示設計(auto モードは検証用途向き)
  • 3層構成: 外部 LB → プライベート VM(App)→ プライベート VM/Cloud SQL(DB)。各層は外部 IP を付けず Cloud NAT と LB で出入りを制御
  • マルチゾーン: サブネットはリージョン全体に広がるので、VM を複数ゾーンに分散するだけで可用性を確保
  • Shared VPC(共有 VPC): ホストプロジェクトで VPC を集中管理し、複数のサービスプロジェクトから共有。組織のネットワークガバナンスに有効
  • Private Google Access / Private Service Connect: 外部 IP なしで Google API(Cloud Storage / BigQuery など)やマネージドサービスへインターネットを経由せず接続

運用・監視

  • VPC Flow Logs でサブネット内の通信メタデータ(許可/拒否・送受信量)を記録し、到達性やコストを分析
  • Firewall Rules Logging で個々のファイアウォールルールのヒット状況を可視化
  • 「繋がらない」時の確認順: ルート → ファイアウォール → 外部 IP / Cloud NAT → サービスアカウント/タグの一致
  • Network Intelligence Center(Connectivity Tests) で送信元⇔宛先の経路を静的に検証

コスト

VPC・サブネット・ルート・ファイアウォールといったネットワーク定義そのものは無料。課金されるのは主に下り(外向き)データ転送Cloud NAT などのマネージド機能です。

項目課金ポイント
VPC / サブネット / ルート / FW無料ネットワーク定義自体は課金されない
下り(外向き)データ転送従量(宛先・リージョンで単価が異なる)同一リージョン内のVM間は無料、リージョン跨ぎ/インターネット向けは課金
Cloud NAT時間 + 処理データ量AWS NAT Gateway 同様、使うと有料
Cloud VPN / Interconnect時間 + 転送量オンプレ接続のトンネル/回線コスト
コスト削減

Google API への通信は Private Google AccessPrivate Service Connect を使うと、外部 IP / Cloud NAT を経由せず内部経路で到達でき、NAT の処理データ料金やインターネット下り課金を回避できます。

セキュリティ

  • 最小公開: DB などの VM は外部 IP を付与しない。受信はロードバランサ経由に限定
  • ファイアウォールルールは許可を最小限にし、ネットワークタグサービスアカウントで適用先を厳密に絞る
  • 管理アクセスは踏み台レスに: Identity-Aware Proxy(IAP)TCP 転送で外部 IP なしの VM へ SSH/RDP
  • VPC Service Controls でマネージドサービス(Cloud Storage 等)にサービス境界を張り、データ持ち出しを防止
アンチパターン

ファイアウォールで 0.0.0.0/0 から SSH(22)/RDP(3389) を全許可するのは NG。 管理接続は IAP TCP 転送(送信元を Google の IAP レンジに限定)か、送信元 IP を絞ったルールにし、外部 IP の付与自体を避けましょう。

関連サービス・比較(AWS との対応)

観点GCP VPCAmazon VPC
ネットワークの範囲グローバル(リージョン跨ぎ)リージョン単位
サブネットの範囲リージョナル(全ゾーンにまたがる)AZ(ゾーン)単位
ルートの粒度VPC 全体(タグで適用先を限定)サブネットごとのルートテーブル
仮想FWファイアウォールルール(ステートフル・タグ/SA)セキュリティグループ + NACL の2層
外向きNATCloud NAT(+ Cloud Router)NAT Gateway
VPC間接続VPC Network Peering / Shared VPCVPC ピアリング / Transit Gateway
プライベートAPI接続Private Google Access / Private Service Connectゲートウェイ型/インターフェース型 VPCエンドポイント

ハンズオン / CLI例

# custom モードの VPC ネットワークを作成
gcloud compute networks create demo-vpc \
  --subnet-mode=custom

# 東京リージョンにサブネットを作成
gcloud compute networks subnets create demo-subnet-tokyo \
  --network=demo-vpc \
  --region=asia-northeast1 \
  --range=10.0.1.0/24

# 内部からの SSH を IAP レンジのみ許可(外部公開しない)
gcloud compute firewall-rules create demo-allow-iap-ssh \
  --network=demo-vpc \
  --direction=INGRESS \
  --action=ALLOW \
  --rules=tcp:22 \
  --source-ranges=35.235.240.0/20

# Cloud Router を作成(Cloud NAT の前提)
gcloud compute routers create demo-router \
  --network=demo-vpc \
  --region=asia-northeast1

# Cloud NAT を構成(プライベート VM の外向き通信を許可)
gcloud compute routers nats create demo-nat \
  --router=demo-router \
  --region=asia-northeast1 \
  --nat-all-subnet-ip-ranges \
  --auto-allocate-nat-external-ips

Google Cloud Service

Virtual Private Cloud (VPC)を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

ネットワーキング

比較で見る軸

クラウド: Google Cloud / カテゴリ: ネットワーキング / 難易度: intermediate

導入後に効く点

VPC自体がグローバルで、サブネットはリージョン単位なのが特徴。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
Google Cloud
カテゴリ
ネットワーキング
難易度
intermediate
関連資格
設計柱
security / reliability / performance / cost

判断チェックリスト

  • 自社の用途が「ネットワーキング / security」に近いか確認する。
  • 強みである「GCP内に作る自分専用の仮想ネットワーク。通信設計の土台。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

ネットワーキングsecurityreliabilityperformancecost

他クラウドの同等サービス

役割が近いサービスです。設計の置き換えや比較検討の参考に。