【入門編】 トランジットゲートウェイ(TGW)によるハブ&スポークネットワーク構成 – クラウド&コンテナネットワーク実践ガイド

クラウドの「交通渋滞」を解消せよ!TGW(Transit Gateway)で叶えるスマートなネットワーク設計

こんにちは!SRE兼クラウドアーキテクトの筆者です。

クラウドインフラの世界に飛び込んで間もない皆さん、AWSやGCPでサーバーを増やしていくうちに、こんな悩みを感じたことはありませんか?
「VPCが増えすぎて、どのネットワークがどこに繋がっているのか、まるでスパゲッティ状態だ……」と。

今日は、そんな複雑なネットワークをスッキリ整理整頓し、まるで「ハブ空港」のようなスマートな通信を実現するTransit Gateway(TGW)について、身近な例えを交えて紐解いていきましょう!

—

そもそも、なぜ「ハブ&スポーク」が必要なの?

皆さんがもし、日本全国の友達全員に手紙を出すと想像してください。
もし友達一人ひとりと「専用の直通郵便局」を契約していたらどうでしょう? 友達が増えるたびに郵便局を建てなければならず、管理もコストもパンクしてしまいますよね。

クラウドのネットワークも全く同じです。
VPC(仮想ネットワーク)同士を個別に繋ぐ「ピアリング」という方法もありますが、VPCの数が5個、10個と増えていくと、接続線(ルートテーブル)の管理はまさに地獄絵図。

そこで登場するのが Transit Gateway(TGW) です。

TGWは、いわば「巨大なハブ空港」。すべてのVPC(各地の飛行場)は、一度ハブ空港であるTGWを経由して通信を行います。これにより、ネットワーク構成がシンプルかつ拡張性の高いものに生まれ変わるのです。

—

TGWの仕組みを紐解く:郵便配達のたとえ

TGWの構成を理解するために、3つのキーワードを「郵便物」になぞらえてみましょう。

1. アタッチメント(Attachment):
VPCとTGWを繋ぐ「専用の搬入用スロープ」です。これがないと、そもそも荷物(パケット)をハブに運び込めません。
2. ルートテーブル(Route Table):
ハブ空港の「仕分け担当者」が持っている住所録です。荷物の宛先を見て、「あ、これはA社のVPC行きだな」「こっちはオンプレミスのデータセンター行きだな」と判断します。
3. ルーティングドメイン:
「一般客用エリア」と「VIP専用エリア」のように、通信経路をグループ分けする仕組みです。セキュリティレベルが違うネットワーク同士を物理的に分けたいときに重宝します。

—

実践!Terraformで構築するTGWネットワーク

では、実際に現場でよく使われるTerraformコードを例に、ネットワークの基盤を作ってみましょう。まずはTGWそのものを作成します。

# Transit Gateway本体の作成
resource "aws_ec2_transit_gateway" "main_tgw" {
  description = "全VPCを集約するためのハブ"
  
  # ルートテーブルを自動で伝搬するかどうか(基本はtrueでOK!)
  default_route_table_propagation = "enable"
  
  tags = {
    Name = "Production-Transit-Gateway"
  }
}

次に、VPCをTGWに「アタッチ(接続)」させます。

# VPCとTGWを繋ぐアタッチメント
resource "aws_ec2_transit_gateway_vpc_attachment" "vpc_a_attach" {
  subnet_ids         = ["subnet-12345678"] # 各VPC内のサブネットを指定
  transit_gateway_id = aws_ec2_transit_gateway.main_tgw.id
  vpc_id             = "vpc-87654321"

  # DNSサポートを有効にすると、VPC間での名前解決が楽になります
  dns_support = "enable"
}

—

現場のSREが教える「設計の極意」

初めてTGWを触る方が陥りやすい罠がいくつかあります。現場の知見として共有しますね。

  • 「ルートテーブル」は分離せよ:

開発環境(Dev)と本番環境(Prod)は、同じTGWに繋いでいても、ルートテーブルを分けて通信できないように設計するのが鉄則です。これを「マルチテナント分離」と呼びます。

  • IPアドレスの重複は厳禁:

VPC同士を繋ぐと、お互いのIPアドレスが見えるようになります。もし同じIP範囲(例:10.0.0.0/16)を使っているVPC同士を繋ぐと、パケットは「どっちに行けばいいの!?」と迷子になってしまいます。VPC設計の段階で、IPアドレスはしっかり計画しましょう。

  • コストを意識しよう:

TGWは「通ったデータ量」に応じて課金されます。不要な通信がTGWを通らないよう、適切なルートテーブルを設定して「近道」を作ることが、SREとしての腕の見せ所です。

—

まとめ:一歩ずつ、確実に進もう

TGWは一見難しそうですが、「ネットワークを集約して管理を楽にするためのハブ」だと考えると、ぐっと身近に感じられませんか?

最初は図を描いて、どのVPCからどのVPCへ通信させたいのか、整理することから始めてみてください。それができれば、Terraformのコードを当てはめるだけで、あなたのクラウドネットワークは格段に美しく、強固なものになります。

「ネットワークはインフラの血液」です。流れをきれいに整えて、最高のアプリケーション体験を支えていきましょう!

もし構築中に「ルートが伝播しない!」「疎通が取れない!」と悩んだら、それはあなたが成長している証拠です。その時はまた、パケットの気持ちになって、一つひとつのルートテーブルを見直してみてくださいね。

それでは、次回の記事もお楽しみに!

コメント

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