AI総合研究所

SHARE

X(twiiter)にポストFacebookに投稿はてなブックマークに登録URLをコピー

Azure仮想ネットワークのルーティングテーブル確認方法を解説!

この記事のポイント

  • 通信経路の問題切り分けでは、まずNetwork Watcherの「有効なルート」機能で実効ルートを確認すべき
  • カスタム経路制御にはUDR(ユーザー定義ルート)が最も有効で、優先順位はUDR > BGP > システムルートの順になる
  • 初回のルート確認にはAzureポータルが最適だが、複数サブネットの一括調査にはAzure CLIを使うべき
  • UDRは400ルート/テーブルの制限があるため、大規模環境ではVirtual Network Managerによる拡張を検討すべき
  • ルーティングテーブル自体は無料のため、コスト負担なくセキュリティ強化とトラフィック制御を実現できる
坂本 将磨

監修者プロフィール

坂本 将磨

XでフォローフォローするMicrosoftMVP

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。


Azureの仮想ネットワーク(VNet)では、サブネットごとにルーティングテーブルが自動作成され、データパケットの送信先を制御しています。
ルーティングテーブルにはシステムルート・ユーザー定義ルート(UDR)・BGPルートの3種類があり、これらの優先順位と設定内容によって通信経路が決まります。


この記事では、Azureポータル・CLI・Network Watcherを使ったルーティングテーブルの確認方法から、ルートテーブルの作成・変更・削除、トラブルシューティング、制限事項、料金まで体系的に解説します。


Azureの基本知識や料金体系、利用方法についてはこちらの記事で詳しく解説しています。
Microsoft Azureとは?できることや各種サービスを徹底解説
Microsoft 365 Copilotの最新エージェント機能「Copilot Cowork」については、以下の記事をご覧ください。
Copilot Coworkとは?機能や料金、Claude Coworkとの違いを解説

Azureルーティングテーブルとは

Azureルーティングテーブルは、Azure仮想ネットワーク(VNet)内でデータパケットの送信先を決定するための経路情報を管理するリソースです。VNet内のサブネットごとにルーティングテーブルが自動生成され、仮想マシン(VM)やサービス間の通信経路を制御します。

Azureのルーティングには、以下の3種類のルートが存在します。

  • システムルート
    Azureが自動的に作成するデフォルトのルートです。同一VNet内のサブネット間通信、インターネットへの送信、VNetピアリング先への通信などが含まれます。ユーザーが削除することはできませんが、カスタムルートで上書きできます。

  • ユーザー定義ルート(UDR)
    ユーザーがルートテーブルに手動で追加するカスタムルートです。ネットワーク仮想アプライアンス(NVA)経由の強制トンネリングや、特定のトラフィックの経路変更に使用します。

  • BGPルート
    VPN GatewayExpressRouteを通じてオンプレミスネットワークからBGP(Border Gateway Protocol)で伝搬されるルートです。ハイブリッド接続環境で使用します。


これらのルートには明確な優先順位があります。同じ宛先アドレスプレフィックスに対して複数のルートが存在する場合、UDR、BGP、システムルートの順に優先されます。さらに同一種類のルートが競合する場合は、最長プレフィックス一致(Longest Prefix Match)のルールにより、より具体的なアドレス範囲のルートが選択されます。

この優先順位を理解しておくことが、Azure環境でのネットワーク設計とトラブルシューティングの土台になります。

AI Agent Hub1

Azureルーティングテーブルの仕組み

Azureルーティングテーブルでは、各ルートに「ネクストホップ」(次の転送先)を指定します。ネクストホップの種類によって、パケットの送信先が決まります。

ネクストホップの種類

以下の表は、Azureで指定できるネクストホップの種類とその用途をまとめたものです。

ネクストホップの種類 用途
仮想ネットワーク VNet内のアドレス範囲間でパケットを転送する
インターネット インターネットへトラフィックを送信する
仮想ネットワークゲートウェイ VPN GatewayやExpressRoute経由でオンプレミスへ転送する
仮想アプライアンス NVA(ファイアウォール等)のプライベートIPアドレスへ転送する
なし(None) パケットを破棄し、通信をブロックする
仮想ネットワークサービスエンドポイント 特定のAzureサービスへの最適ルートを提供する


たとえば、サブネットからインターネットへの通信をAzure Firewall経由にしたい場合は、宛先を0.0.0.0/0、ネクストホップの種類を「仮想アプライアンス」、ネクストホップのIPアドレスをFirewallのプライベートIPに設定します。

有効なルート(実効ルート)

Azureでは、システムルート・UDR・BGPルートが組み合わさった結果として、各ネットワークインターフェース(NIC)に「有効なルート」が適用されます。有効なルートとは、前述の優先順位と最長プレフィックス一致のルールに基づいて最終的に決定されたルートの一覧です。

ルーティングの問題を調査する際に最も重要なのは、ルートテーブルの設定そのものではなく、NICに適用されている有効なルートを確認することです。設定と実際の動作が異なる場合、有効なルートを見ることで原因を特定できます。確認手順は次のセクションで解説します。

デフォルトルート(0.0.0.0/0)の動作

Azureはすべてのサブネットに対して、デフォルトルート(0.0.0.0/0)をシステムルートとして自動追加します。このルートにより、VNet内で明示的な宛先が見つからないトラフィックはインターネットに転送されます。

UDRで0.0.0.0/0のネクストホップを「仮想アプライアンス」や「仮想ネットワークゲートウェイ」に変更すると、インターネット宛の通信をNVAやオンプレミス経由に強制できます。これを強制トンネリングと呼び、セキュリティポリシーでインターネットへの直接アクセスを禁止する組織で広く採用されています。

仮想ネットワークイメージ
仮想ネットワークにおけるルーティングの流れ


Azureルーティングテーブルの確認方法

Azureでルーティングテーブルを確認する方法は、AzureポータルAzure CLINetwork Watcherの3通りがあります。目的に応じて使い分けることで、効率的にルーティングの状態を把握できます。

Azureポータルでの確認

Azureポータルから有効なルートを確認する手順は以下のとおりです。

  1. Azureポータルにログインし、検索バーから「仮想マシン」を選択します。
    仮想ネットワークの選択画面
    仮想ネットワークの選択画面

  2. ルーティングを確認したい仮想マシンを選択し、左メニューから「ネットワーク設定」を開きます。
    基本情報の入力画面
    基本情報の入力画面

  3. 「ネットワークインターフェース / IP構成」の下に表示されているNIC名をクリックします。
    セキュリティ情報の入力画面
    セキュリティ情報の入力画面

  4. NICの画面で「有効なルート」を選択すると、そのNICに適用されているすべてのルートが一覧表示されます。
    IPアドレス入力画面
    IPアドレス入力画面


  1. 有効なルートの画面から「関連付けられたルートテーブル」も確認でき、そのサブネットに紐づくカスタムルートテーブルを特定できます。
    確認画面
    確認画面


この手順によって、仮想マシンに実際に適用されているルーティングの全体像を把握できます。UDRが正しく反映されているかの検証にも有効です。

Azure CLIでの確認

Azure CLIを使うと、コマンドによる一括確認やスクリプト化が可能です。ブラウザからAzure Cloud Shellを利用すれば、インストール不要で実行できます。

![Azure CLIの開始画像](https://aisouken.blob.core.windows.net/article/1005/Azure CLIの開始画像.webp)
Azure Cloud Shellの起動画面

NICに適用されている有効なルートを確認するコマンドは以下のとおりです。

  1. Azureにログインします。

az login


  1. NICに適用されている有効なルートを表示します。

az network nic show-effective-route-table --name NIC名 --resource-group リソースグループ名


  1. ルートテーブルの一覧を表示します。

az network route-table list --resource-group リソースグループ名


  1. 特定のルートテーブルに定義されているルートを表示します。

az network route-table route list --route-table-name ルートテーブル名 --resource-group リソースグループ名


PowerShellを使う場合は、Get-AzEffectiveRouteTable コマンドレットで同様の情報を取得できます。CLIの出力はJSON形式のため、--output table オプションを付けると表形式で見やすく表示されます。

Network Watcherの活用

Azure Network Watcherの「次ホップ」機能を使うと、特定の送信元IPから宛先IPへのパケットがどのルートを通るかを即座に診断できます。

Azureポータルから「Network Watcher」を開き、「次ホップ」を選択します。対象の仮想マシン、送信元IP、宛先IPを入力して「確認」をクリックすると、使用されるネクストホップの種類とIPアドレスが表示されます。

この機能は、想定どおりのルートが選択されているかを検証する際に有効です。複数のUDRやBGPルートが混在する環境では、設定だけでは実際の経路を把握しにくいため、Network Watcherでの確認を運用に組み込んでおくことをおすすめします。


Azureルートテーブルの作成・変更・削除

Azureルーティングテーブルの管理には、ルートテーブルの作成、ルートの追加・変更、サブネットへの関連付け、削除の操作があります。ここでは公式ドキュメントに沿って、各操作の手順を解説します。

ルートテーブルの作成

新しいルートテーブルは、AzureポータルまたはAzure CLIで作成できます。

Azureポータルでは、検索バーから「ルートテーブル」を検索し、「+ 作成」をクリックします。サブスクリプション、リソースグループ、リージョン、名前を指定して作成を完了します。

CLIで作成する場合は、以下のコマンドを実行します。

az network route-table create --name ルートテーブル名 --resource-group リソースグループ名 --location リージョン

ルートの追加・変更

作成したルートテーブルにルートを追加するには、宛先アドレスプレフィックス、ネクストホップの種類、必要に応じてネクストホップのIPアドレスを指定します。

CLIでルートを追加するコマンドは以下のとおりです。

az network route-table route create --route-table-name ルートテーブル名 --resource-group リソースグループ名 --name ルート名 --address-prefix 宛先CIDR --next-hop-type VirtualAppliance --next-hop-ip-address IPアドレス

既存ルートを変更するには、ポータルでルートテーブルを開いて該当ルートを編集するか、CLIで az network route-table route update コマンドを使用します。

サブネットへの関連付け

ルートテーブルは、サブネットに関連付けることで初めて機能します。1つのルートテーブルは複数のサブネットに関連付けできますが、1つのサブネットに関連付けできるルートテーブルは1つだけです。

ポータルでは、ルートテーブルの「サブネット」タブから「関連付け」を選択し、対象の仮想ネットワークとサブネットを指定します。CLIでは以下のコマンドを使用します。

az network vnet subnet update --vnet-name VNet名 --name サブネット名 --resource-group リソースグループ名 --route-table ルートテーブル名

ルートテーブルの削除

不要になったルートテーブルを削除するには、まず関連付けられているすべてのサブネットからルートテーブルの関連付けを解除する必要があります。関連付けが残った状態で削除すると、そのサブネットのカスタムルートが即座に失われるため注意が必要です。

CLIでルートテーブルを削除するコマンドは以下のとおりです。

az network route-table delete --name ルートテーブル名 --resource-group リソースグループ名

メルマガ登録


Azureルーティングのトラブルシューティング

Azureルーティングで問題が発生した場合、体系的なアプローチで原因を特定することが重要です。

一般的な問題と対処法

ルーティングに関するトラブルは、主に以下の3つのパターンに分類できます。

  • 不正なルートエントリ
    宛先アドレスプレフィックスやネクストホップのIPアドレスが正しくない場合、パケットが意図しない経路に転送されます。有効なルートを確認し、各エントリの設定値を検証してください。

  • ルートの優先順位の競合
    UDR・BGP・システムルートが同じ宛先に対して異なるネクストホップを指定していると、予期しない経路が選択される場合があります。UDR、BGP、システムルートの優先順位と最長プレフィックス一致のルールに基づいて、どのルートが適用されるかを確認してください。

  • NSGによるブロック
    ルーティング自体は正しくても、ネットワークセキュリティグループ(NSG)の規則がトラフィックをブロックしている場合があります。NSGのフローログやNetwork Watcherの接続トラブルシューティング機能を使って、NSGルールの影響を確認してください。


問題の切り分けには、まずNetwork Watcherの「次ホップ」で想定どおりの経路が選択されているかを確認し、次にNSGのフローログでブロックの有無を調べるのが効率的です。

CLIコマンドリファレンス

ルーティングテーブルの管理に使用する主なAzure CLIコマンドを以下にまとめます。

コマンド 用途
az network route-table create ルートテーブルを作成する
az network route-table list ルートテーブルの一覧を表示する
az network route-table show ルートテーブルの詳細を表示する
az network route-table update ルートテーブルの設定を更新する
az network route-table route create ルートを追加する
az network route-table route list ルートの一覧を表示する
az network route-table route delete ルートを削除する
az network nic show-effective-route-table NICの有効なルートを表示する


これらのコマンドを組み合わせることで、ポータルを開かずにルーティングの調査と修正を完結できます。自動化スクリプトに組み込めば、定期的なルート監視も実現可能です。


AI研修

Azureルーティングテーブルの注意点

Azureルーティングテーブルを運用するうえで、把握しておくべき制限事項と設計上の注意点があります。

UDRの制限事項

Azureでは、ルートテーブルに関する以下の制限が設けられています。

項目 既定の上限
ルートテーブルあたりのルート数 400
サブスクリプションあたりのルートテーブル数 200
ルートテーブルあたりのサービスタグ数 25


サービスタグとは、AzureStorageやAzureMonitorなどのAzureサービスのIPアドレス範囲をグループ化したものです。個別のIPアドレスを指定する代わりにサービスタグを宛先として使えるため、ルートの管理が簡素化されます。ただし、1つのルートテーブルあたり25個までという制限があるため、多数のAzureサービスへのルーティングが必要な場合は設計時に考慮が必要です。

上限に達した場合は、Azureサポートに引き上げをリクエストできます。

Virtual Network Managerによる自動管理

大規模な環境では、手動でのUDR管理が煩雑になります。Azure Virtual Network Managerを使用すると、ルートテーブルの作成とサブネットへの関連付けを一元的に管理でき、UDRの上限も最大1,000ルートまで拡張されます。

ハブ&スポーク構成のように多数のVNetとサブネットを管理する場合は、Virtual Network Managerの導入を検討してみてください。

BGP伝搬の影響

ルートテーブルの設定には「仮想ネットワークゲートウェイのルート伝搬」というオプションがあります。これを無効にすると、VPN GatewayやExpressRouteから伝搬されるBGPルートがそのサブネットに適用されなくなります。

オンプレミスとの接続がある環境でBGP伝搬を無効にすると、オンプレミスへの通信が切断される場合があります。一方、特定のサブネットをオンプレミスから完全に分離したい場合は、意図的にBGP伝搬を無効にすることが有効です。変更の前に、対象サブネットの通信要件を必ず確認してください。

社内のVNet設計が属人化していたり、UDRの設定意図がドキュメント化されていない環境では、ルート変更1つで本番通信が止まるリスクがあります。ルートテーブルの変更管理プロセスを整備し、変更前にNetwork Watcherで影響範囲を検証する運用を取り入れることをおすすめします。


Azureルーティングテーブルの料金

Azureルーティングテーブル(UDR)自体には料金がかかりません。仮想ネットワーク、サブネット、ルートテーブル、ネットワークセキュリティグループは無料で利用できます。

ただし、ルーティング構成に関連する以下のサービスには別途料金が発生します。

サービス 料金の概要
VPN Gateway SKUに応じた時間単価とデータ転送量
ExpressRoute 回線料とデータ転送量(プランにより異なる)
Azure Firewall(NVA) デプロイ時間とデータ処理量に応じた課金
Virtual Network Manager 管理対象のサブスクリプション数に応じた課金
VNetピアリング 送受信データ転送量に応じた課金


ルートテーブルを使ってNVA経由の強制トンネリングを構成する場合、NVA自体のコストが主な費用項目になります。Azure Firewallを選択する場合は、別途ファイアウォールの時間単価とデータ処理料金が加算されます。

コストを抑えるには、Azure料金計算ツールで関連サービスを含めた見積もりを作成し、不要になったルートテーブルやNVAの棚卸しを定期的に行うのが効果的です。


ルーティング設計の知見をAI業務自動化にも活かすなら

ルーティングテーブルの設計とトラブルシューティングで培ったネットワーク経路制御の知見は、AI業務自動化環境のトラフィック設計にも活きます。AI業務自動化ガイドでは、ネットワーク設計力を活かしたAI導入の進め方を220ページにわたって解説しています。

ルーティング設計からAI業務自動化へ

AI業務自動化ガイド

ネットワーク経路制御の知見をAI環境に展開

ルーティングテーブルの設計・運用で培ったネットワーク経路制御の知見は、AI業務自動化環境のトラフィック設計にも活きます。220ページの実践ガイドで、Microsoft環境でのAI導入を計画してみませんか。

まとめ

この記事では、Azureルーティングテーブルの基本概念から確認方法、作成・変更・削除の操作、トラブルシューティング、制限事項、料金までを解説しました。

ルーティングの運用で押さえておくべきポイントは以下の3つです。

  • 3種類のルートと優先順位
    システムルート・UDR・BGPルートが存在し、UDR、BGP、システムルートの順に優先される

  • 有効なルートの確認
    設定ではなく、NICに適用されている有効なルートを見ることで実際の動作を把握できる

  • Network Watcherの活用
    「次ホップ」機能で、特定の通信がどの経路を通るかを即座に診断できる


Azure環境のネットワークを安定運用するために、まずは現在のVNetに適用されている有効なルートを確認し、意図しないルートがないかを点検してみてください。定期的なルートの棚卸しとNetwork Watcherを使った検証を運用に組み込むことで、ルーティング起因のトラブルを未然に防ぐことができます。

監修者
坂本 将磨

坂本 将磨

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。

関連記事

AI導入の最初の窓口

お悩み・課題に合わせて活用方法をご案内いたします
お気軽にお問合せください

AI総合研究所 Bottom banner

ご相談
お問い合わせは
こちら!