【入門編】 GCP VPC Network的ルーティングモード (グローバル vs リージョナル) – クラウドインフラと仮想化ネットワーク実践ガイド

こんにちは!クラウドインフラの世界へようこそ。SREとして日々さまざまなシステムを支えている私ですが、クラウドネットワークの仕組みに初めて触れるとき、誰もが一度は「あれ、これってどういうことだろう?」と立ち止まる壁があります。

その一つが、今回取り上げるGCP(Google Cloud)のVPCネットワークにおける「ルーティングモード(グローバル vs リージョナル)」です。

「パケットがどう飛ぶのか」「Cloud Routerがどう動くのか」といった言葉を聞くだけで、頭がクラクラしてしまう方もいるかもしれません。でも、安心してください!今回は難しい専門用語をいったん脇に置いて、私たちの身近にある「郵便配達の仕組み」に例えながら、一歩ずつ優しく紐解いていきましょう。

—

1. そもそもGCPの「ルーティングモード」ってなに?

GCPのVPC(Virtual Private Cloud)ネットワークを作る際、私たちはこっそりと(あるいは意識せずに)重要な選択を迫られています。それが、ルーティングモードを「グローバル(Global)」にするか、それとも「リージョナル(Regional)」にするかという設定です。

これ、一言でいうと「Google Cloudさんが、世界中(または日本中)にあるあなた専用の道路網の案内図を、どうやって共有・管理するか」のルールなんです。

郵便配達に例えてみましょう

想像してみてください。あなたは「日本全国に支店を持つ巨大な物流企業」の本社にいます。

  • リージョナルモード(地域限定の仕分け)

東京支店には東京エリアの地図しかありません。もし東京支店の配達員が「大阪の新しい倉庫に行きたい!」と言い出したとき、東京支店は「うちは東京の地図しか持ってないから、大阪の行き方はわからないよ!」と答えてしまいます。大阪に行くには、一度わざわざ本社(別ネットワークやVPN)を経由して聞き直さないといけません。

  • グローバルモード(全国共通のスーパーカーナビ)

東京支店にあるカーナビも、大阪支店にあるカーナビも、常に最新の「日本全国の道路地図」をリアルタイムで共有しています。だから、東京から出発した荷物でも、日本全国どこへでも迷わず最短ルートでスイスイ届けることができます。

GCPのVPCは、実は世界中にまたがる「グローバルなネットワーク」です。東京(asia-northeast1)とアイオワ(us-central1)のリージョンを、1つのVPCで繋ぐことができますよね。このまたがり方に大きく関わってくるのが、ルーティングモードなのです。

—

2. 「グローバル」と「リージョナル」、それぞれの挙動の違い

それでは、Cloud Routerという「道案内役」が動的ルート(BGPなどを使って動的に経路情報を交換する仕組み)を学習したときに、VPC内で何が起きるのかをもう少し詳しく見ていきましょう。

グローバルルーティングモード(デフォルト)

Cloud Routerがどこかのリージョン(例えば東京)で新しいルート情報を手に入れると、その情報はVPC全体(世界中)に瞬間的に共有されます。

  • メリット: どのリージョンにあるVMインスタンスからでも、その新しいルート(例えばオンプレミス環境への最短経路など)をすぐに使えます。
  • デメリット(注意点): 意図しないリージョンからもその経路が見えてしまうため、マルチリージョンで複雑なネットワーク設計をしている場合、トラフィックが予期せぬ遠回りをすることがあります。

リージョナルルーティングモード

Cloud Routerが手に入れたルート情報は、基本的にそのCloud Routerが存在するリージョン内だけで共有されます。他のリージョンには伝わりません。

  • メリット: 各リージョンが独立してネットワークを管理できるため、マルチリージョン構成でトラフィックを厳密にコントロールしたい場合に非常に有利です。
  • デメリット: 他のリージョンからもその経路を使いたい場合は、それぞれのリージョンにCloud Routerを立てて個別にルートを設定してあげる必要があります。

—

3. 実践!gcloudコマンドでルーティングモードを確認・変更する

百聞は一見にしかず。実際に私たちがインフラ構築の現場でどのようにこのモードを扱い、設定しているのかを、実用的なコード例を交えて見ていきましょう。

まずは、現在動いているVPCネットワークのルーティングモードを調べるための gcloud コマンドです。

# 現在のVPCネットワーク(例: my-custom-vpc)の詳細情報を取得し、ルーティングモードを確認する
gcloud compute networks describe my-custom-vpc \
    --format="get(routingConfig.routingMode)"

もしこのコマンドの出力結果が REGIONAL になっていて、「やっぱり世界中で経路を共有させたい(GLOBALに変更したい)」となった場合は、次のようにサクッと切り替えることができます。

# VPCネットワークのルーティングモードを「グローバル」に変更する
gcloud compute networks update my-custom-vpc \
    --routing-mode=GLOBAL

# ※ もし元に戻したくなったら、以下のように `REGIONAL` を指定します
# gcloud compute networks update my-custom-vpc --routing-mode=REGIONAL

非常にシンプルですよね!TerraformなどのInfrastructure as Code(IaC)ツールを使っている場合は、以下のように記述してコード上で管理するのが現場のモダンなスタイルです。

# TerraformでのVPCネットワーク定義例
resource "google_compute_network" "my_vpc" {
  name                    = "my-custom-vpc"
  auto_create_subnetworks = false
  
  # ここでルーティングモードを「GLOBAL」または「REGIONAL」に指定します
  routing_mode = "GLOBAL" 
}

—

4. 現場のSREが教える!どちらを選ぶべきかの判断基準

「じゃあ、結局どっちを選べばいいの?」という疑問が湧いてきますよね。SREとして多くのプロジェクトを見てきた私の結論はこうです。

1. 基本は「グローバル(GLOBAL)」でスタートしてOK
GCPのデフォルトもグローバルです。単一のリージョン中心でシステムを動かしている場合や、マルチリージョンであってもシンプルな構成であれば、グローバルにしておけば「ルートが見つからない!」というトラブルを未然に防げます。
2. 厳密なトラフィック制御やコンプライアンスが必要なら「リージョナル(REGIONAL)」
例えば、金融系や大規模なグローバルサービスなどで、「日本のユーザーからの通信は絶対に日本のリージョン内で完結させたい」「意図しない海外リージョンへの経路迂発を防ぎたい」といった厳しい要件がある場合は、リージョナルモードを選択して各リージョンのネットワークを完全に切り離すのが安全です。

—

まとめ

今回は、GCP VPCネットワークのルーティングモード(グローバル vs リージョナル)について、郵便配達の例えを交えながら解説しました。

  • グローバルモード: VPC全体でピカピカの共通カーナビを共有し、どこからでも全経路を使えるようにする。
  • リージョナルモード: リージョンごとに独立した地図を持ち、地域密着型で安全にトラフィックをコントロールする。

インフラの世界は、一見難しそうに見える仕組みも、私たちが普段暮らしている現実世界のルールに置き換えてみると、すんなりと頭に入ってくるものです。ぜひ、あなたのプロジェクトの要件に合わせて、最適なルーティングモードを選んでみてくださいね。

それでは、また次回の技術解説でお会いしましょう!快適なクラウドライフを!

コメント

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