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

Azure では、Azure のサブネット、仮想ネットワーク、およびオンプレミスのネットワーク間のトラフィックが自動的にルーティングされます。 Azure の既定のルーティングを変更する場合は、ルート テーブルを作成して変更します。 仮想ネットワークでのルーティングについて初心者の場合は、「仮想ネットワーク トラフィックのルーティング」を読むか、チュートリアルを行うことで、詳しく学習できます。

前提条件

Azure アカウントをお持ちでない場合は、アクティブなサブスクリプションを使用してそれを設定します。 無料でアカウントを作成できます。 その後、この記事のセクションに記載された手順を始める前に、次のいずれかのタスクを完了してください。

  • ポータル ユーザー: Azure アカウントで Azure Portal にサインインします。

  • PowerShell ユーザー:Azure Cloud Shell でコマンドを実行するか、お使いのコンピューターから PowerShell を実行します。 Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。 Azure Cloud Shell のブラウザー タブで、 [環境の選択] ドロップダウン リストを見つけ、 [PowerShell] を選択します (まだ選択されていない場合)。

    PowerShell をローカルで実行している場合は、Azure PowerShell モジュール バージョン 1.0.0 以降を使用してください。 インストールされているバージョンを確認するには、Get-Module -ListAvailable Az.Network を実行します。 アップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。 また、Connect-AzAccount を実行して、Azure との接続を作成します。

  • Azure CLI users: Azure Cloud Shell またはローカルで実行されている Azure CLI を使用してコマンドを実行します。 Azure CLI をローカルに実行している場合は、Azure CLI バージョン 2.0.31 以降を使用してください。 インストールされているバージョンを確認するには、az --version を実行します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。 また、az login を実行して、Azure との接続を作成します。

    適切なアクセス許可を持つネットワーク共同作成者ロールまたはカスタム ロールを割り当てます。

ルート テーブルの作成

Azure の場所とサブスクリプションごとに作成できるルート テーブルの数には制限があります。 詳しくは、「ネットワークの制限 - Azure Resource Manager」をご覧ください。

  1. [Azure portal] メニュー上または [ホーム] ページから [リソースの作成] を選択します。

  2. 検索ボックスに、「"ルート テーブル"」と入力します。 検索結果に [ルート テーブル] が表示されたら、それを選択します。

  3. [ルート テーブル] ページで、 [作成] を選択します。

  4. [ルート テーブルの作成] ダイアログ ボックスで次のようにします。

    [ルート テーブルの作成] ページのスクリーンショット。

    設定
    名前 ルート テーブルの名前を入力します。
    サブスクリプション ルート テーブルをデプロイするサブスクリプションを選択します。
    リソース グループ 既存の [リソース グループ] を選択するか、 [新規作成] を選択して新しいリソース グループを作成します。
    場所 ルート テーブルをデプロイするリージョンを選択します。
    ゲートウェイのルートを伝達する VPN ゲートウェイを通してオンプレミスのネットワークに接続されている仮想ネットワーク内のサブネットにルート テーブルを関連付ける場合で、サブネット内のネットワーク インターフェイスにオンプレミスのルートを伝達したくないときは、 [仮想ネットワーク ゲートウェイのルート伝達][無効] に設定します。
  5. [確認と作成][作成] の順に選択し、新しいルート テーブルを作成します。

    ルート テーブルの作成 - コマンド

    ツール コマンド
    Azure CLI az network route-table create
    PowerShell New-AzRouteTable

ルート テーブルの表示

仮想ネットワークを管理するには、Azure portal にアクセスし、検索機能を使用して "ルート テーブル" を検索します。ここでは、サブスクリプション内で使用可能なすべてのルート テーブルの一覧を確認できます。

Azure サブスクリプションのルート テーブルのリストのスクリーンショット。

  1. Azure portal に移動して、仮想ネットワークを管理します。

  2. ルート テーブルを検索して選択します。 サブスクリプション内に存在するルート テーブルが一覧表示されます。

    ルート テーブルの表示 - コマンド

    ツール コマンド
    Azure CLI az network route-table list
    PowerShell Get-AzRouteTable

ルート テーブルの詳細の表示

次の手順に従います。

  1. Azure portal に移動して、仮想ネットワークを管理します。 ルート テーブルを検索して選択します。

  2. ルート テーブルの一覧で、詳細を表示するルート テーブルを選択します。

  3. ルート テーブルのページの [設定] に、ルート テーブル内の [ルート] 、またはルート テーブルが関連付けられている [サブネット] が表示されます。 Azure サブスクリプション内のルート テーブルの概要ページのスクリーンショット。

    Azure の一般的な設定の詳細については、次の情報を参照してください。

    ルート テーブルの詳細の表示 - コマンド

    ツール コマンド
    Azure CLI az network route-table show
    PowerShell Get-AzRouteTable

ルート テーブルの変更

次の手順に従います。

  1. Azure portal に移動して、仮想ネットワークを管理します。 ルート テーブルを検索して選択します。

  2. ルート テーブルの一覧で、変更するルート テーブルを選択します。 ルート テーブル内のルートのスクリーンショット。

    最も一般的な変更点は、ルートの追加、ルートの削除、サブネットへのルート テーブルの関連付け、サブネットからのルート テーブルの関連付け解除です。

    ルート テーブルの変更 - コマンド

    ツール コマンド
    Azure CLI az network route-table update
    PowerShell Set-AzRouteTable

サブネットへのルート テーブルの関連付け

必要に応じて、ルート テーブルをサブネットに関連付けることができます。 1 つのルート テーブルを、0 個以上のサブネットに関連付けることができます。 ルート テーブルは仮想ネットワークには関連付られません。 ルート テーブルを関連付ける各サブネットにルート テーブルを関連付ける必要があります。

Azure では、作成したルートに基づいて、サブネットから出るすべてのトラフィックがルーティングされます。

  • ルート テーブル内

  • 既定のルート

  • 仮想ネットワークが Azure 仮想ネットワーク ゲートウェイ (ExpressRoute または VPN) に接続されている場合、オンプレミス ネットワークから伝達されるルート。

ルート テーブルは、そのルート テーブルと同じ Azure の場所とサブスクリプションに存在する仮想ネットワーク内のサブネットにのみ関連付けることができます。

  1. Azure portal に移動して、仮想ネットワークを管理します。 仮想ネットワークを検索して選択します。

  2. 仮想ネットワークの一覧で、ルート テーブルを関連付けるサブネットが含まれる仮想ネットワークを選択します。

  3. 仮想ネットワークのメニュー バーで [サブネット] を選択します。

  4. ルート テーブルを関連付けるサブネットを選択します。

  5. [ルート テーブル] で、サブネットに関連付けるルート テーブルを選択します。

    ルート テーブルをサブネットに関連付けているところのスクリーンショット。

  6. [保存] を選択します。

    仮想ネットワークが Azure VPN ゲートウェイに接続されている場合は、宛先が 0.0.0.0/0 であるルートを含むゲートウェイ サブネットにルート テーブルを関連付けないでください。 関連付けると、ゲートウェイが正しく機能しない可能性があります。 ルート上での 0.0.0.0/0 の使用について詳しくは、「仮想ネットワーク トラフィックのルーティング」をご覧ください。

    ルート テーブルの関連付け - コマンド

    ツール コマンド
    Azure CLI az network vnet subnet update
    PowerShell Set-AzVirtualNetworkSubnetConfig

サブネットからのルート テーブルの関連付けの解除

サブネットからルート テーブルの関連付けを解除すると、Azure では、既定のルートに基づいてトラフィックがルーティングされます。

  1. Azure portal に移動して、仮想ネットワークを管理します。 仮想ネットワークを検索して選択します。

  2. 仮想ネットワークの一覧で、ルート テーブルの関連付けを解除するサブネットが含まれる仮想ネットワークを選択します。

  3. 仮想ネットワークのメニュー バーで [サブネット] を選択します。

  4. ルート テーブルの関連付けを解除するサブネットを選択します。

  5. [ルート テーブル] で、 [なし] を選択します。

    ルート テーブルをサブネットから削除しているところのスクリーンショット。

  6. [保存] を選択します。

    ルート テーブルの関連付けの解除 - コマンド

    ツール コマンド
    Azure CLI az network vnet subnet update
    PowerShell Set-AzVirtualNetworkSubnetConfig

ルート テーブルの削除

いずれかのサブネットに関連付けられているルート テーブルを削除することはできません。 ルート テーブルは、削除する前に、すべてのサブネットから関連付けを解除してください。

  1. Azure portal に移動して、ルート テーブルを管理します。 ルート テーブルを検索して選択します。

  2. ルート テーブルの一覧で、削除するルート テーブルを選択します。

  3. [削除] を選択し、確認のダイアログ ボックスで [はい] を選択します。 ルート テーブルの [削除] ボタンのスクリーンショット。

    ルート テーブルの削除 - コマンド

    ツール コマンド
    Azure CLI az network route-table delete
    PowerShell Remove-AzRouteTable

ルートの作成

Azure の場所およびサブスクリプションあたりの作成可能なルート テーブルごとのルート数は、制限されています。 詳しくは、「ネットワークの制限 - Azure Resource Manager」をご覧ください。

  1. Azure portal に移動して、ルート テーブルを管理します。 ルート テーブルを検索して選択します。

  2. ルート テーブルの一覧で、ルートを追加するルート テーブルを選択します。

  3. ルート テーブルのメニュー バーで、[ルート] を選択し、[追加] を選択します。

  4. ルート テーブル内のルートに対する一意の [ルート名] を入力します。 ルート テーブルの [ルートの追加] ページのスクリーンショット。

  5. トラフィックのルーティング先の [アドレス プレフィックス] を Classless Inter-Domain Routing (CIDR) 表記で入力します。 ルート テーブル内の複数のルート上でプレフィックスを重複させることはできません。ただし、プレフィックスを別のプレフィックス内に指定することはできます。 たとえば、あるルートでプレフィックスとして 10.0.0.0/16 を定義した場合、別のルートをアドレス プレフィックス 10.0.0.0/22 で定義することは可能です。 Azure では、最長プレフィックス一致に基づいてトラフィックのルートが選択されます。 詳しくは、「Azure がルートを選択するしくみ」をご覧ください。

  6. [次ホップの種類] を選択します。 次ホップの種類について詳しくは、「仮想ネットワーク トラフィックのルーティング」をご覧ください。

  7. [次ホップの種類][仮想アプライアンス] を選択した場合は、 [次ホップ アドレス] に IP アドレスを入力します。

  8. [OK] を選択します。

    ルートの作成 - コマンド

    ツール コマンド
    Azure CLI az network route-table route create
    PowerShell New-AzRouteConfig

ルートの表示

ルート テーブルには、0 個以上のルートが含まれます。 ルートを表示したときに一覧に表示される情報について詳しくは、「仮想ネットワーク トラフィックのルーティング」をご覧ください。

  1. Azure portal に移動して、ルート テーブルを管理します。 ルート テーブルを検索して選択します。

  2. ルート テーブルの一覧で、ルートを表示するルート テーブルを選択します。

  3. ルート テーブルのメニュー バーで、ルートの一覧を表示する [ルート] を選択します。 ルート テーブル内のルートのスクリーンショット。

    ルートの表示 - コマンド

    ツール コマンド
    Azure CLI az network route-table route list
    PowerShell Get-AzRouteConfig

ルートの詳細の表示

次の手順に従います。

  1. Azure portal に移動して、ルート テーブルを管理します。 ルート テーブルを検索して選択します。

  2. ルート テーブルの一覧で、詳細を表示するルートが含まれるルート テーブルを選択します。

  3. ルート テーブルのメニュー バーで、ルートの一覧を表示する [ルート] を選択します。

  4. 詳細を表示するルートを選択します。 [ルートの詳細] ページのスクリーンショット

    ルートの詳細の表示 - コマンド

    ツール コマンド
    Azure CLI az network route-table route show
    PowerShell Get-AzRouteConfig

ルートの変更

次の手順に従います。

  1. Azure portal に移動して、ルート テーブルを管理します。 ルート テーブルを検索して選択します。

  2. ルート テーブルの一覧で、変更するルートが含まれるルート テーブルを選択します。

  3. ルート テーブルのメニュー バーで、ルートの一覧を表示する [ルート] を選択します。

  4. 変更するルートを選択します。

  5. 既存の設定を新しい設定に変更し、 [保存] を選択します。

    ルートの変更 - コマンド

    ツール コマンド
    Azure CLI az network route-table route update
    PowerShell Set-AzRouteConfig

ルートの削除

次の手順に従います。

  1. Azure portal に移動して、ルート テーブルを管理します。 ルート テーブルを検索して選択します。

  2. ルート テーブルの一覧で、削除するルートが含まれるルート テーブルを選択します。

  3. ルート テーブルのメニュー バーで、ルートの一覧を表示する [ルート] を選択します。

  4. 削除するルートを選択します。

  5. [...] を選択してから、[削除] を選択します。 確認のダイアログ ボックスで [はい] を選択します。 ルート テーブルのルートの [削除] ボタンのスクリーンショット。

    ルートの削除 - コマンド

    ツール コマンド
    Azure CLI az network route-table route delete
    PowerShell Remove-AzRouteConfig

有効なルートの表示

VM に接続されている各ネットワーク インターフェイスの有効なルートは、作成したルート テーブル、Azure の既定のルート、および Azure 仮想ネットワーク ゲートウェイを介して Border Gateway Protocol (BGP) 経由でオンプレミスのネットワークから伝達されるルートの組み合わせとなります。 ネットワーク インターフェイスの有効なルートを理解しておくと、ルーティングの問題をトラブルシューティングするときに役立ちます。 実行中の VM に接続されているネットワーク インターフェイスの有効なルートを表示できます。

  1. Azure portal に移動して、VM を管理します。 [仮想マシン] を検索して選択します。

  2. 仮想マシンの一覧で、有効なルートを表示する VM を選択します。

  3. VM のメニュー バーで、 [ネットワーク] を選択します。

  4. ネットワーク インターフェイスの名前を選択します。

  5. ネットワーク インターフェイスのメニュー バーで [有効なルート] を選択します。 ネットワーク インターフェイスの有効なルートのスクリーンショット。

  6. 有効なルートの一覧で、トラフィックのルーティング先への適切なルートが存在するかどうかを確認します。 この一覧に表示される次のホップの種類の詳細については、「仮想ネットワーク トラフィックのルーティング」をご覧ください。

    有効なルートの表示 - コマンド

    ツール コマンド
    Azure CLI az network nic show-effective-route-table
    PowerShell Get-AzEffectiveRouteTable

2 つのエンドポイント間のルーティングの検証

仮想マシンと、他の Azure リソース、オンプレミスのリソース、またはインターネット上のリソースの IP アドレス間の次ホップの種類を確認できます。 Azure のルーティングを確認すると、ルーティングの問題をトラブルシューティングするときに役立ちます。 このタスクを完了するには、既存の Network Watcher が必要です。 既存の Network Watcher がない場合は、Network Watcher のインスタンスの作成に関するページの手順を実行して作成します。

  1. Azure portal に移動して、Network Watcher を管理します。 Network Watcher を検索して選択します。

  2. Network Watcher のメニュー バーで、 [次ホップ] を選択します。

  3. [Network Watcher | 次ホップ] ページで、次のようにします。ルート テーブルの [ルートの追加] ページのスクリーンショット。

    設定
    サブスクリプション ソース VM が含まれているサブスクリプションを選択します。
    リソース グループ VM が含まれているリソース グループを選択します。
    仮想マシン テストする VM を選択します。
    ネットワーク インターフェイス ネクスト ホップをテストするネットワーク インターフェイスを選択します。
    送信元 IP アドレス 既定のソース IP が選択されています。 ネットワーク インターフェイスに複数のソース IP がある場合は、それを変更できます。
    宛先 IP アドレス VM のネクスト ホップを表示する宛先 IP を入力します。
  4. [次ホップ] を選択します。

    少し待つと、次ホップの種類と、トラフィックをルーティングするルートの ID が表示されます。 返される次ホップの種類の詳細については、「仮想ネットワーク トラフィックのルーティング」をご覧ください。

    2 つのエンドポイント間のルーティングの検証 - コマンド

    ツール コマンド
    Azure CLI az network watcher show-next-hop
    PowerShell Get-AzNetworkWatcherNextHop

アクセス許可

ルート テーブルとルートに対してタスクを実行するには、アカウントに割り当てる必要があります

  1. ネットワーク共同作成者ロール

  2. または、次の表に示す適切なアクションが割り当てられているカスタム ロール

    アクション 名前
    Microsoft.Network/routeTables/read ルート テーブルの読み取り
    Microsoft.Network/routeTables/write ルート テーブルの作成または更新
    Microsoft.Network/routeTables/delete ルート テーブルの削除
    Microsoft.Network/routeTables/join/action サブネットへのルート テーブルの関連付け
    Microsoft.Network/routeTables/routes/read ルートの読み取り
    Microsoft.Network/routeTables/routes/write ルートの作成または更新
    Microsoft.Network/routeTables/routes/delete ルートの削除
    Microsoft.Network/networkInterfaces/effectiveRouteTable/action ネットワーク インターフェイスに対する有効なルート テーブルの取得
    Microsoft.Network/networkWatchers/nextHop/action VM から次ホップを取得する