ExpressRouteと「強制経路」の秘密:パケットの迷子を防ぐネットワークの交通整理術
こんにちは。SREとして日々クラウドの巨大なネットワークと格闘している筆者です。
皆さんは、Azureでネットワークを構築しているとき、「プライベートサブネットにあるサーバーから、どうしてもインターネットへ安全に出たい!」という場面に直面したことはありませんか?
特に ExpressRoute を使ってオンプレミスとクラウドを専用線で繋いでいるような環境では、ネットワークの挙動は少しだけ「わがまま」になります。今回は、そんなネットワークの交通整理に欠かせない User Defined Routes (UDR) と NAT の関係を、郵便配達に例えて紐解いていきましょう。
—
1. そもそも、なぜ「強制」が必要なのか?
まずイメージしてください。あなたのAzure上のサブネットを「とある閉鎖的な村」だとします。この村の住人(サーバー)が、村の外(インターネット)へ手紙を送りたいとき、通常は「ゲートウェイ」という村の出口を通りますよね。
しかし、ExpressRoute が繋がっている環境では、Azureは「外の世界(インターネット)への道」を、専用線という「特殊な高速道路」の入り口だと勘違いしてしまいがちです。
結果として、インターネットに出たいはずのパケットが、専用線を通ってオンプレミス側のルーターまで届いてしまい、そこで「行き先がわからない!」と捨てられてしまう……。これが「パケットの迷子」です。
これを防ぐために、「村の出口はこっち(Azure FirewallやNAT Gateway)だよ!」と看板を立てて強制的に誘導するのが UDR(ユーザー定義ルート)というわけです。
—
2. UDR:ネットワークの「強制的な交通誘導員」
UDR は、Azureのルートテーブルに設定する「道路標識」です。デフォルトでは、Azureは賢く最適な道を選びますが、時には「この宛先に行くなら、必ずこっちを経由しろ!」という命令が必要になります。
設定のポイント
Azure CLI を使って、特定のサブネットにルートを適用するイメージはこんな感じです。
# 1. ルートテーブルの作成
az network route-table create \
--name MyRouteTable \
--resource-group MyResourceGroup \
--location japaneast
# 2. 「インターネット向け通信は、Azure Firewall(IP: 10.0.1.4)へ投げろ!」という看板を立てる
az network route-table route create \
--name ToInternetViaFirewall \
--resource-table-name MyRouteTable \
--resource-group MyResourceGroup \
--address-prefix 0.0.0.0/0 \
--next-hop-type VirtualAppliance \
--next-hop-ip-address 10.0.1.4 # ここがFirewallのIPアドレスになります
この設定により、村の住人は「インターネット宛て(0.0.0.0/0)」の手紙を持つと、迷わず 10.0.1.4 という検問所(Firewall)に直行するようになります。
—
3. BGPとプレフィックスアドバタイズメント:村の地図を更新する
さて、ここからが少し高度な話です。ExpressRoute を利用していると、オンプレミス側のルーターとAzureの間で BGP(Border Gateway Protocol)という言葉を使って「お互いのネットワーク地図」を交換します。
もし、Azure側で「インターネットへの通り道」を宣伝(アドバタイズ)しすぎると、オンプレミス側のルーターが「インターネットへ行くならAzureを経由したほうが早いかも?」と勘違いして、大量のトラフィックをAzureに送りつけてくることがあります。
これを防ぐには、「Azureからはインターネットへの道は教えない(アドバタイズしない)」という制御が必要です。
- ExpressRoute回路の設定でルートフィルタを使う:
不要なルートを広報しないようにフィルターを設定し、オンプレミス側に「ここはインターネットの出口じゃないよ」と伝えます。
—
4. NAT Gateway:帰りの切符を発行する
最後に、NAT Gateway の役割です。
プライベートサブネットのサーバーがインターネットに出る際、そのままの「プライベートIPアドレス」では外の世界と会話ができません(外の世界は私設IPを認識できないからです)。
そこで、NAT Gateway が登場します。これは「村の郵便局」のようなもので、プライベートな手紙を「公的な住所(グローバルIP)」に書き換えてから外に出してくれます。
- UDRとの連携:
UDR でインターネット宛のトラフィックを NAT Gateway に向けることで、セキュリティと出口の一元管理が完成します。
—
まとめ:ネットワーク設計の「安心感」を支えるもの
今回お話しした UDR と NAT の組み合わせは、クラウドネットワークにおける「鉄板の構成」です。
1. UDR で「どこを通るか」を決める。
2. NAT Gateway で「出口で住所を書き換えて」安全に通信する。
3. BGP設定 で「隣のネットワークと地図の共有範囲」を制御する。
これらは、パケットという「手紙」が迷子にならず、宛先に確実に届くための大切な交通整理です。最初は難しく感じるかもしれませんが、「郵便配達の流れ」に例えてみると、少しだけ親近感が湧きませんか?
現場では、これに加えて「どの通信を許可するか」という NSG(ネットワークセキュリティグループ)のルールも絡んできます。まずは UDR でしっかりと道を整えてあげるところから、一歩ずつ進めていきましょう!
それでは、皆さんのクラウド構築がスムーズに進むことを応援しています。また次回の記事でお会いしましょう!
コメント