Cloud VPN・Cloud Interconnect・VPC Peering・NCCの違い

GCPのVPC接続を学ぶとき、Cloud VPN、Cloud Interconnect、VPC Peering、Private Service Connect、Network Connectivity Center、Multi-NIC VMが混ざりやすくなります。

オンプレとクラウドをつなぐ、VPC同士をつなぐ、専用線とVPNを使い分ける、といった論点はインフラ全般の基礎です。一方で、Cloud VPN、Cloud Interconnect、VPC Peering、Network Connectivity Center(NCC)はGCPの具体的なサービス・機能名です。本記事では、一般的な接続パターンをGCPの用語に対応づけて整理します。

まずは「何と何をつなぐか」で分けます。

接続したいもの主な選択肢
On-prem / 他クラウド ↔ GCP VPCCloud VPN / Cloud Interconnect
GCP VPC ↔ GCP VPCVPC Peering / PSC / NCC
特定VMだけ複数VPCに参加Multi-NIC VM

本記事では、VPC外ネットワークや他VPCとの接続方式を整理します。

Cloud VPNとCloud Interconnect

Cloud VPNとCloud Interconnectは、基本的にGCP VPCとGCP外のネットワークをつなぐものです。

つまり、On-prem / 他クラウドのネットワークと、Google CloudのVPCをつなぎます。

代表例は以下です。

  • On-prem ↔ GCP VPC
  • AWS VPC / Azure VNet ↔ GCP VPC

Cloud VPN

Cloud VPNは、インターネット上に暗号化トンネルを張って接続する方式です。

flowchart LR
  onprem["On-prem / 他クラウド<br/>外部ネットワーク"]
  internet["Internet"]
  vpn["Cloud VPN<br/>IPsec tunnel"]
  vpc["GCP VPC"]

  onprem --> internet
  internet --> vpn
  vpn --> vpc

特徴は以下です。

  • Internet経由で暗号化してつなぐ
  • 早い・比較的安い・中小規模向き

Cloud Interconnect

Cloud Interconnectは、専用線や閉域網でGCPにつなぐ方式です。

flowchart LR
  onprem["On-prem / 他クラウド<br/>外部ネットワーク"]
  carrier["Carrier / Partner / Dedicated line<br/>閉域・専用接続"]
  interconnect["Cloud Interconnect"]
  vpc["GCP VPC"]

  onprem --> carrier
  carrier --> interconnect
  interconnect --> vpc

特徴は以下です。

  • Internetを避けて専用/閉域でつなぐ
  • 高帯域・低遅延・安定性重視

VPNだと帯域・遅延・安定性が足りない場合にInterconnectを検討します。Interconnectの冗長化や複数ロケーション構成は、可用性のテーマで扱うのが自然です。

VPC Peering

VPC Peeringは、2つのVPCをprivate IPで直接通信できるようにする接続です。

flowchart LR
  subgraph vpcA["VPC A<br/>10.0.0.0/16"]
    vmA["VM A<br/>10.0.0.10"]
  end

  subgraph vpcB["VPC B<br/>10.1.0.0/16"]
    vmB["VM B<br/>10.1.0.10"]
  end

  vmA <-->|"VPC Peering<br/>private IP通信"| vmB

イメージとしては、別々のVPCを合体するのではなく、別々のVPCのままprivate IPで行き来できるようにする、です。

VPC Peeringは、別々のVPCのまま、お互いのprivate IP宛ルートを通す仕組みです。

重要な制約は以下です。

  1. IPレンジ重複NG
  2. 推移的ルーティングしない
  3. VPC全体同士の接続に近い

IPレンジ重複NGは、宛先IPを識別できなくなるためです。

判定VPC AVPC B
NG10.0.0.0/1610.0.0.0/16
OK10.0.0.0/1610.1.0.0/16

推移的ルーティングしない点も重要です。

flowchart LR
  a["VPC A"]
  b["VPC B"]
  c["VPC C"]

  a <-->|"Peering"| b
  b <-->|"Peering"| c
  a -. "自動では通信不可" .- c

A-BB-C をPeeringしても、A-C が自動で通信できるわけではありません。

Private Service Connect

Private Service Connect(PSC)は、VPC全体を接続するというより、特定サービスへprivate endpoint経由で接続する方式です。

方式接続の単位
VPC PeeringVPC同士をprivate IPルーティングでつなぐ
PSCサービス単位でprivate endpoint経由につなぐ
flowchart LR
  subgraph consumer["Consumer VPC"]
    app["App"]
    endpoint["PSC endpoint<br/>10.0.0.5"]
  end

  service["Published service<br/>Google API / 他VPCサービス / SaaS"]

  app --> endpoint
  endpoint --> service

PSCは、IP重複やVPC全体接続を避け、特定サービスだけをprivateに使いたいときの候補になります。

Private Google AccessやPrivate Service Accessとの違いは『Private Google Access・Private Service Access・Private Service Connectの違い』で扱っています。

Network Connectivity Center

Network Connectivity Center(NCC)は、多数のネットワーク接続をhub-spokeで取りまとめる仕組みです。

部品役割
NCC Hub接続の中央管理点
SpokeHubにぶら下がる接続・ネットワーク
flowchart TB
  hub["NCC Hub<br/>接続の中央管理"]

  vpcA["VPC A"]
  vpcB["VPC B"]
  vpn["HA VPN<br/>オンプレ接続"]
  ic["Interconnect<br/>専用線"]
  sdwan["Router appliance<br/>SD-WAN / 他クラウド"]

  hub ---|"spoke"| vpcA
  hub ---|"spoke"| vpcB
  hub ---|"spoke"| vpn
  hub ---|"spoke"| ic
  hub ---|"spoke"| sdwan

少数のVPCや拠点をつなぐだけなら、VPC Peering、VPN、Interconnectで十分です。NCCが出るのは、以下のような大きめの構成です。

  • 数十のVPC
  • 世界各地のオンプレ拠点
  • AWS / Azure上のワークロード
  • ハイブリッド・マルチクラウド
  • hub-spokeで一元管理
  • HA VPN / Interconnect / Router applianceをspokeとして混在

覚え方はこれで十分です。

接続規模での使い分け
  • 少数接続なら VPN / Interconnect / VPC Peering で個別に接続する
  • 大量・複雑な接続なら NCC でhub-spokeとして取りまとめる

Multi-NIC VM

Multi-NIC VMは、1台のVMに複数NICを付け、複数VPCに参加させる構成です。

NICはNetwork Interfaceのことで、VMがVPC/Subnetにつながるための仮想的なネットワーク口です。通常のVMは1つのNICで1つのVPC/Subnetに接続しますが、Multi-NIC VMではこのネットワーク口を複数持たせます。

VM #1
├── nic0 → VPC A / subnet-a
├── nic1 → VPC B / subnet-b
└── nic2 → VPC C / subnet-c
flowchart TB
  vm["VM #1<br/>multi-NIC"]

  subgraph vpcA["VPC A"]
    subnetA["subnet-a"]
  end

  subgraph vpcB["VPC B"]
    subnetB["subnet-b"]
    vmB["VM #2"]
  end

  subgraph vpcC["VPC C"]
    subnetC["subnet-c"]
    vmC["VM #3"]
  end

  vm ---|"nic0"| subnetA
  vm ---|"nic1"| subnetB
  vm ---|"nic2"| subnetC

  vm -->|"internal IPでアクセス"| vmB
  vm -->|"internal IPでアクセス"| vmC

これはVPC同士を接続する方式ではありません。1台のVMだけが複数VPCに足を持つ構成です。

方式何をつなぐか
VPC PeeringVPC同士をつなぐ
Multi-NIC VM1台のVMだけを複数VPCに参加させる

通常のクラウドアーキテクチャの主役ではなく、ネットワーク同士は分離したいが、特定の中央VM・検査VM・収集VMだけ複数ネットワークを見たい、という特殊要件で考えるものです。

まとめ

  • Cloud VPNはInternet上の暗号化トンネルで、オンプレ/他クラウドとGCP VPCをつなぐ
  • Cloud Interconnectは専用線/閉域接続で、帯域・遅延・安定性を重視する構成で使う
  • VPC Peeringは2つのVPCをprivate IPで接続する。IP重複NG、推移的ルーティングなし
  • PSCはVPC全体ではなく、特定サービスをprivate endpoint経由で使う方式
  • NCCは多数のVPC/オンプレ/他クラウド接続をhub-spokeで取りまとめる仕組み
  • Multi-NIC VMは特定VMだけを複数VPCに参加させる特殊パターン

参考

タグ: GCP, クラウド設計, ネットワーク