【入門編】 VPC Network Peeringの仕組みとルーティングの伝搬仕様 – クラウドインフラと仮想化ネットワーク実践ガイド

こんにちは!SREとして日々クラウドの複雑な迷宮を探索している筆者です。

今回は、GCP(Google Cloud)のネットワークにおける「魔法の扉」、VPC Network Peering についてお話しします。

「VPCを分けたけど、お互いに通信させたい…」「でも、わざわざVPNを張るのも大げさだし、コストもかかるよね?」そんな悩みを抱えたとき、最初に手が届くのがこのピアリングです。

難しい専門用語は一旦置いておいて、まずは郵便配達のイメージでこの仕組みを紐解いていきましょう!

—

VPCピアリングは「隣町との私道」

想像してみてください。あなたは「プロジェクトA」という町に住んでいて、隣の「プロジェクトB」という町に荷物を届けたいとします。通常、町と町を行き来するには大きな公道(インターネット)を通る必要がありますが、ここには検問所(ファイアウォール)があったり、渋滞があったりと少し面倒ですよね。

VPCピアリングは、この2つの町の間に「関係者だけが通れる専用の私道」を敷くようなものです。

  • プライベートIPで直接通信: インターネットに出ることなく、まるで同じLANの中にいるかのように、相手のIPアドレスへ荷物を届けられます。
  • 高速で安全: 公道を通らないので、速度も速く、外部からの攻撃にさらされるリスクもグッと下がります。

設定画面で「相手のVPCネットワークの名前」を指定し、相手側でも「こちらのVPCネットワーク」を指定する。いわば「お互いに握手する」だけで、開通する非常に手軽な仕組みなんです。

—

避けては通れない「推移的ルーティング」の壁

さて、ここで一つ、現場のSREが必ずと言っていいほど直面する「落とし穴」があります。それが「推移的(Transitive)ルーティングはサポートされていない」という仕様です。

これ、初学者には少し難しく聞こえますよね。郵便配達に例えるとこうなります。

1. A町とB町が私道で繋がっている。
2. B町とC町も私道で繋がっている。
3. じゃあ、A町からC町へは、B町を経由して荷物を送れるよね?

…実は、GCPのVPCピアリングでは、これができません。

Aから見て「Bの向こう側にCがある」という情報は、残念ながら共有されないのです。「B町までの道は知っているけれど、その先にあるC町への行き方は教えてあげないよ!」という、少し頑固な仕組みなんですね。

—

どうやってこの壁を乗り越える?(対抗策)

「じゃあ、AからCへ通信したいときはどうすればいいの?」という疑問が湧きますよね。現場でよく使われる解決策をいくつかご紹介します。

1. 「直接繋ぐ」のが王道

シンプルですが、AとCの間に直接ピアリングを張ってしまうのが一番の近道です。構成が複雑にならなければ、これが最も管理しやすく、トラブルも少なくなります。

2. 「VPNハブ」や「Cloud Router」の活用

もっと大規模で複雑なネットワークが必要な場合は、Cloud VPNやCloud Interconnectを使い、ネットワークをハブ&スポーク型に構成します。これらは経路情報を動的に交換してくれるため、推移的な通信が可能になります。

—

実践:GCPでピアリングを構築してみよう

では、実際に gcloud コマンドでピアリングを設定する流れを見てみましょう。今回は vpc-a から vpc-b へ接続する想定です。

# 1. vpc-a から vpc-b への接続を作成
gcloud compute networks peerings create peer-a-to-b \
    --network=vpc-a \
    --peer-network=vpc-b \
    --auto-create-routes  # 自動でルートを交換するオプションをONに!

# 2. 相手側の vpc-b からも vpc-a への接続を作成(握手!)
gcloud compute networks peerings create peer-b-to-a \
    --network=vpc-b \
    --peer-network=vpc-a \
    --auto-create-routes

設定のポイント

  • --auto-create-routes: これを有効にすると、お互いのVPCで使っているIPアドレス範囲(サブネット)を自動的に学習し、ルート表に書き込んでくれます。手作業でルーティングテーブルをいじる必要がないので、非常に便利です。
  • IPアドレスの重複は厳禁: 接続する2つのVPCで、IPアドレスの範囲(例:10.0.0.0/16)が被っていると、どちらの町へ行けばいいか分からなくなり通信できません。ネットワーク設計の段階でしっかりIP設計をしておくのが、SREとしての腕の見せ所です。

—

最後に:ネットワークは「地図」を描くこと

VPCピアリングは、クラウドインフラを使いこなすための強力なツールです。最初は「推移的ルーティングができない」という制約に戸惑うかもしれませんが、「ネットワークをシンプルに保つことが、安定運用の第一歩」というGCPの思想が込められていると解釈してみてください。

複雑な経路を作らず、必要な場所をダイレクトに繋ぐ。そうやって丁寧に「ネットワークの地図」を描いていくことで、あなたのシステムはより堅牢で、トラブルに強いものになっていくはずです。

もし構築中に「あれ、通信できないな?」と思ったら、まずは双方のファイアウォール設定を確認しつつ、この「私道」がしっかり繋がっているか、一歩ずつ確認してみてくださいね。

それでは、良いクラウドライフを!

コメント

タイトルとURLをコピーしました