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 VPC | Cloud VPN / Cloud Interconnect |
| GCP VPC ↔ GCP VPC | VPC 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宛ルートを通す仕組みです。
重要な制約は以下です。
- IPレンジ重複NG
- 推移的ルーティングしない
- VPC全体同士の接続に近い
IPレンジ重複NGは、宛先IPを識別できなくなるためです。
| 判定 | VPC A | VPC B |
|---|---|---|
| NG | 10.0.0.0/16 | 10.0.0.0/16 |
| OK | 10.0.0.0/16 | 10.1.0.0/16 |
推移的ルーティングしない点も重要です。
flowchart LR a["VPC A"] b["VPC B"] c["VPC C"] a <-->|"Peering"| b b <-->|"Peering"| c a -. "自動では通信不可" .- c
A-B と B-C をPeeringしても、A-C が自動で通信できるわけではありません。
Private Service Connect
Private Service Connect(PSC)は、VPC全体を接続するというより、特定サービスへprivate endpoint経由で接続する方式です。
| 方式 | 接続の単位 |
|---|---|
| VPC Peering | VPC同士を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 | 接続の中央管理点 |
| Spoke | Hubにぶら下がる接続・ネットワーク |
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 Peering | VPC同士をつなぐ |
| Multi-NIC VM | 1台の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に参加させる特殊パターン