チュートリアル:Azure Portal を使用してルート テーブルでネットワーク トラフィックをルーティングする

既定では、仮想ネットワーク内のすべてのサブネット間でトラフィックがルーティングされます。 Azure の既定のルーティングは、独自のルートを作成してオーバーライドすることができます。 カスタム ルートは、たとえば、サブネット間でネットワーク仮想アプライアンス (NVA) を越えてトラフィックをルーティングしたい場合に便利です。

このチュートリアルでは、以下の内容を学習します。

  • 仮想ネットワークとサブネットを作成する
  • トラフィックをルーティングする NVA を作成する
  • 仮想マシン (VM) を異なるサブネットにデプロイする
  • ルート テーブルの作成
  • ルートの作成
  • サブネットへのルート テーブルの関連付け
  • NVA を介して、あるサブネットから別のサブネットにトラフィックをルーティングする

このチュートリアルでは、Azure portal を使用します。 Azure CLI または PowerShell を使用することでも実行できます。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

概要

この図は、このチュートリアルで作成するリソースと、想定されるネットワーク ルートを示しています。

このチュートリアルで使用するパブリック、プライベート、および NVA 仮想マシンの相互作用の概要を示す図。

前提条件

  • Azure サブスクリプション

Azure へのサインイン

Azure portal にサインインします。

仮想ネットワークの作成

このセクションでは、仮想ネットワーク、3 つのサブネット、bastion ホストを作成します。 bastion ホストを使用して、仮想マシンに安全に接続します。

  1. Azure portal メニューで、[+ リソースの作成]>[ネットワーキング]>[仮想ネットワーク] を選択するか、ポータルの検索ボックスで "仮想ネットワーク" を検索します。

  2. [作成] を選択します

  3. [仮想ネットワークの作成][基本] タブで、次の情報を入力または選択します。

    設定
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択し、「MyResourceGroup」と入力します。

    を選択します。
    名前 myVirtualNetwork」と入力します。
    リージョン [米国東部] を選択します。
  4. [IP アドレス] タブを選択するか、ページ下部の [次へ: IP アドレス] ボタンを選択します。

  5. [IPv4 アドレス空間] で、既存のアドレス空間を選択し、「10.0.0.0/16」に変更します。

  6. [サブネットの追加] を選択し、 [サブネット名] に「Public」、 [サブネットのアドレス範囲] に「10.0.0.0/24」と入力します。

  7. [追加] を選択します。

  8. [サブネットの追加] を選択し、 [サブネット名] に「Private」、 [サブネットのアドレス範囲] に「10.0.1.0/24」と入力します。

  9. [追加] を選択します。

  10. [サブネットの追加] を選択し、 [サブネット名] に「DMZ」、 [サブネットのアドレス範囲] に「10.0.2.0/24」と入力します。

  11. [追加] を選択します。

  12. [セキュリティ] タブを選択するか、ページ下部にある [次へ: セキュリティ] ボタンを選択します。

  13. [BastionHost][有効にする] を選択します。 この情報を入力します。

    設定
    要塞名 myBastionHost」と入力します
    AzureBastionSubnet のアドレス空間 10.0.3.0/24」と入力します。
    パブリック IP アドレス [新規作成] を選択します。
    [名前] に「myBastionIP」と入力します。

    を選択します。
  14. [確認と作成] タブを選択するか、 [確認と作成] ボタンを選択します。

  15. [作成] を選択します

NVA 仮想マシンを作成する

ネットワーク仮想アプライアンス (NVA) は、ルーティングやファイアウォールの最適化などのネットワーク機能に役立つ仮想マシンです。 このセクションでは、Windows Server 2019 Datacenter 仮想マシンを使用して NVA を作成します。 必要に応じて、別のオペレーティング システムを選択することもできます。

  1. Azure portal メニューで、[+ リソースの作成]>[コンピューティング]>[仮想マシン] を選択するか、ポータルの検索ボックスで "仮想マシン" を検索します。

  2. [作成] を選択します

  3. [仮想マシンの作成][基本] タブで、この情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    リソース グループ [myResourceGroup] を選択します。
    インスタンスの詳細
    仮想マシン名 myVMNVA」と入力します。
    リージョン [(米国) 米国東部] を選択します。
    可用性オプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 [Standard] を選択します。
    Image [Windows Server 2019 Datacenter - Gen2] を選択します。
    Azure Spot インスタンス このため、 [いいえ] を選択します。
    サイズ VM サイズを選択するか、既定の設定を使用します。
    管理者アカウント
    ユーザー名 ユーザー名を入力します。
    Password パスワードを入力します。 パスワードは 12 文字以上で、定義された複雑さの要件を満たす必要があります。
    パスワードの確認 パスワードを再入力します。
    受信ポートの規則
    パブリック受信ポート [なし] を選択します。
  4. [ネットワーク] タブまたは [次へ: ディスク] を選択してから [次へ: ネットワーク] を選択します。

  5. [ネットワーク] タブで、次を選択または入力します。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [myVirtualNetwork] を選択します。
    Subnet [DMZ] を選択します。
    パブリック IP [なし] を選択します
    NIC ネットワーク セキュリティ グループ [Basic] を選択します
    パブリック受信ポート ネットワーク [なし] を選択します。
  6. [確認と作成] タブを選択するか、ページ下部にある [確認と作成] ボタンを選択します。

  7. 設定を確認し、 [作成] を選択します。

パブリックおよびプライベートの仮想マシンを作成する

myVirtualNetwork 仮想ネットワークに 2 つの仮想マシンを作成し、それらに対してインターネット制御メッセージ プロトコル (ICMP) を許可し、tracert ツールを使用してトラフィックをトレースできるようにします。

注意

運用環境では、Windows ファイアウォール経由の ICMP はお勧めしません。

パブリック仮想マシンを作成する

  1. Azure portal メニューで、[リソースの作成]>[コンピューティング]>[仮想マシン] を選択します。

  2. [仮想マシンの作成][基本] タブで、この情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    リソース グループ [myResourceGroup] を選択します。
    インスタンスの詳細
    仮想マシン名 myVMPublic」と入力します。
    リージョン [(米国) 米国東部] を選択します。
    可用性オプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 [Standard] を選択します。
    Image [Windows Server 2019 Datacenter - Gen2] を選択します。
    Azure Spot インスタンス このため、 [いいえ] を選択します。
    サイズ VM サイズを選択するか、既定の設定を使用します。
    管理者アカウント
    ユーザー名 ユーザー名を入力します。
    Password パスワードを入力します。 パスワードは 12 文字以上で、定義された複雑さの要件を満たす必要があります。
    パスワードの確認 パスワードを再入力します。
    受信ポートの規則
    パブリック受信ポート [なし] を選択します。
  3. [ネットワーク] タブまたは [次へ: ディスク] を選択してから [次へ: ネットワーク] を選択します。

  4. [ネットワーク] タブで、次を選択または入力します。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [myVirtualNetwork] を選択します。
    Subnet [パブリック] を選択します。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Basic] を選択します。
    パブリック受信ポート ネットワーク [なし] を選択します。
  5. [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。

  6. 設定を確認し、 [作成] を選択します。

プライベート仮想マシンを作成する

  1. Azure portal メニューで、[リソースの作成]>[コンピューティング]>[仮想マシン] を選択します。

  2. [仮想マシンの作成][基本] タブで、この情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    リソース グループ [myResourceGroup] を選択します。
    インスタンスの詳細
    仮想マシン名 myVMPrivate」と入力します。
    リージョン [(米国) 米国東部] を選択します。
    可用性オプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 [Standard] を選択します。
    Image [Windows Server 2019 Datacenter - Gen2] を選択します。
    Azure Spot インスタンス このため、 [いいえ] を選択します。
    サイズ VM サイズを選択するか、既定の設定を使用します。
    管理者アカウント
    ユーザー名 ユーザー名を入力します。
    Password パスワードを入力します。 パスワードは 12 文字以上で、定義された複雑さの要件を満たす必要があります。
    パスワードの確認 パスワードを再入力します。
    受信ポートの規則
    パブリック受信ポート [なし] を選択します。
  3. [ネットワーク] タブまたは [次へ: ディスク] を選択してから [次へ: ネットワーク] を選択します。

  4. [ネットワーク] タブで、次を選択または入力します。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [myVirtualNetwork] を選択します。
    Subnet [プライベート] を選択します。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Basic] を選択します。
    パブリック受信ポート ネットワーク [なし] を選択します。
  5. [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。

  6. 設定を確認し、 [作成] を選択します。

Windows ファイアウォールで ICMP を許可する

  1. [リソースに移動] を選択するか、ポータルの検索ボックスで myVMPrivate を検索します。

  2. [myVMPrivate][概要] ページで、[接続] を選択し、[Bastion] を選択します。

  3. 先ほど myVMPrivate 仮想マシン用に作成したユーザー名とパスワードを入力します。

  4. [接続] ボタンを選択します。

  5. 接続後、Windows PowerShell を開きます。

  6. 次のコマンドを入力します。

    New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
    
  7. PowerShell から、myVMPublic 仮想マシンへのリモート デスクトップ接続を開きます。

    mstsc /v:myvmpublic
    
  8. myVMPublic VM に接続した後、Windows PowerShell を開き、手順 6 と同じコマンドを入力します。

  9. myVMPublic VM へのリモート デスクトップ接続を閉じます。

IP 転送を有効にする

NVA を介してトラフィックをルーティングするために、Azure と myVMNVA 仮想マシンのオペレーティング システムで IP 転送を有効にします。 IP 転送が有効になると、myVMNVA VM が受信した、別の IP アドレス宛てのトラフィックは破棄されなくなり、正しい宛先に転送されるようになります。

Azure で IP 転送を有効にする

このセクションでは、Azure で myVMNVA 仮想マシンのネットワーク インターフェイスの IP 転送を有効にします。

  1. ポータルの検索ボックスで myVMNVA を検索します。

  2. myVMNVA の概要ページの [設定] セクションで、[ネットワーク] を選択します。

  3. myVMNVA[ネットワーク] ページで、[ネットワーク インターフェイス] の横のネットワーク インターフェイスを選択します。 インターフェイスの名前は、myvmnva で始まります。

    Azure portal のネットワーク仮想アプライアンス仮想マシンの [ネットワーク] ページを示すスクリーンショット。

  4. ネットワーク インターフェイスの概要ページの [設定] セクションで、[IP 構成] を選択します。

  5. [IP 構成] ページで、 [IP 転送][有効] に設定して [保存] を選択します。

    Azure portal で有効になった IP 転送を示すスクリーンショット。

オペレーティング システムで IP 転送を有効にする

このセクションでは、ネットワーク トラフィックを転送するために、myVMNVA 仮想マシンのオペレーティング システムで IP 転送を有効にします。 前の手順で開始した、myVMPrivate VM への同じ bastion 接続を使用して、myVMNVA VM へのリモート デスクトップ接続を開きます。

  1. myVMPrivate VM の PowerShell から、myVMNVA VM へのリモート デスクトップ接続を開きます。

    mstsc /v:myvmnva
    
  2. myVMNVA VM に接続した後、Windows PowerShell を開き、次のコマンドを入力して IP 転送を有効にします。

    Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name IpEnableRouter -Value 1
    
  3. myVMNVA VM を再起動します。

    Restart-Computer
    

ルート テーブルの作成

このセクションでは、ルート テーブルを作成します。

  1. Azure portal メニューで、[+ リソースの作成]>[ネットワーク]>[ルート テーブル] を選択するか、ポータルの検索ボックスで "ルート テーブル" を検索します。

  2. [作成] を選択します

  3. [ルート テーブルの作成][基本] タブで、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [myResourceGroup] を選択します。
    インスタンスの詳細
    リージョン [米国東部] を選択します。
    名前 myRouteTablePublic」と入力します。
    ゲートウェイのルートを伝達する [はい] を選択します。

    Azure portal の [ルート テーブルの作成] の [基本] タブを示すスクリーンショット。

  4. [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。

ルートの作成

このセクションでは、前の手順で作成したルート テーブルでルートを作成します。

  1. [リソースに移動] を選択するか、ポータルの検索ボックスで myRouteTablePublic を検索します。

  2. [myRouteTablePublic] ページの [設定] セクションで、[ルート] を選択します。

  3. [ルート] ページで、[+ 追加] ボタンを選択します。

  4. [ルートの追加] に次の情報を入力または選択します。

    設定
    ルート名 ToPrivateSubnet」と入力します。
    アドレス プレフィックス送信先 [IP アドレス] を選択します。
    宛先 IP アドレス/CIDR 範囲 10.0.1.0/24」(先ほど作成したプライベート サブネットのアドレス範囲) と入力します。
    ネクストホップの種類 [仮想アプライアンス] を選択します。
    次ホップ アドレス 10.0.2.4」(先ほど DMZ サブネットに作成した myVMNVA VM のアドレス) と入力します。

    Azure portal でのルート構成の追加を示すスクリーンショット。

  5. [追加] を選択します。

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

このセクションでは、前の手順で作成したルート テーブルをサブネットに関連付けます。

  1. ポータルの検索ボックスで myVirtualNetwork を検索します。

  2. [myVirtualNetwork] ページの [設定] セクションで、[サブネット] を選択します。

  3. 仮想ネットワークのサブネット一覧で [パブリック] を選択します。

  4. [ルート テーブル] で、前の手順で作成した [myRouteTablePublic] を選択します。

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

    Azure portal の仮想ネットワークでのパブリック サブネットへのルート テーブルの関連付けを示すスクリーンショット。

ネットワーク トラフィックのルーティングをテストする

tracert ツールを使用して、myVMPublic VM から myVMPrivate VM へのネットワーク トラフィックのルーティングをテストし、その後、反対方向のルーティングをテストします。

myVMPublic VM から myVMPrivate VM へのネットワーク トラフィックをテストする

  1. myVMPrivate VM の PowerShell から、myVMPublic VM へのリモート デスクトップ接続を開きます。

    mstsc /v:myvmpublic
    
  2. myVMPublic VM に接続した後、Windows PowerShell を開き、次の tracert コマンドを入力して、myVMPublic VM から myVMPrivate VM へのネットワーク トラフィックのルーティングをトレースします。

    tracert myvmprivate
    

    応答は次の例のようになります。

    Tracing route to myvmprivate.q04q2hv50taerlrtdyjz5nza1f.bx.internal.cloudapp.net [10.0.1.4]
    over a maximum of 30 hops:
    
      1     1 ms     *        2 ms  myvmnva.internal.cloudapp.net [10.0.2.4]
      2     2 ms     1 ms     1 ms  myvmprivate.internal.cloudapp.net [10.0.1.4]
    
    Trace complete.
    

    tracert の上記の応答から、myVMPublic VM から myVMPrivate VM への ICMP トラフィックで 2 つのホップがあることがわかります。 1 番目のホップは myVMNVA VM で、2 番目のホップは宛先の myVMPrivate VM です。

    Azure は、Public サブネットからのトラフィックを NVA 経由で送信しており、Private サブネットに直接送信してはいません。これは、先ほど ToPrivateSubnet ルートを myRouteTablePublic ルート テーブルに追加し、それを Public サブネットに関連付けたためです。

  3. myVMPublic VM へのリモート デスクトップ接続を閉じます。

myVMPrivate VM から myVMPublic VM へのネットワーク トラフィックをテストする

  1. myVMPrivate VM の PowerShell で、次の tracert コマンドを入力して、myVmPrivate VM から myVmPublic VM へのネットワーク トラフィックのルーティングをトレースします。

    tracert myvmpublic
    

    応答は次の例のようになります。

    Tracing route to myvmpublic.q04q2hv50taerlrtdyjz5nza1f.bx.internal.cloudapp.net [10.0.0.4]
    over a maximum of 30 hops:
    
      1     1 ms     1 ms     1 ms  myvmpublic.internal.cloudapp.net [10.0.0.4]
    
    Trace complete.
    

    上記の応答から 1 つのホップがあることがわかります。これは、宛先の myVMPublic 仮想マシンです。

    Azure は、Private サブネットから Public サブネットにトラフィックを直接送信しています。 既定では、サブネット間でトラフィックが直接ルーティングされます。

  2. bastion セッションを閉じます。

リソースをクリーンアップする

リソース グループが不要になったら、myResourceGroup とそこに含まれるすべてのリソースを削除します。

  1. Azure portal 上部の [検索] ボックスに「myResourceGroup」と入力します。 検索結果に [myResourceGroup] が表示されたら、それを選択します。

  2. [リソース グループの削除] を選択します。

  3. [TYPE THE RESOURCE GROUP NAME:](リソース グループ名を入力してください:) に「myResourceGroup」と入力し、 [削除] を選択します。

次のステップ

このチュートリアルでは、次のことを行いました。

  • ルート テーブルを作成し、それをサブネットに関連付けました。
  • トラフィックをパブリック サブネットからプライベート サブネットにルーティングする単純な NVA を作成しました。

Azure Marketplace から、便利なネットワーク機能を多く備えたさまざまな構成済み NVA をデプロイすることができます。

ルーティングの詳細については、ルーティングの概要ルート テーブルの管理に関する記事をご覧ください。

仮想ネットワーク サービス エンドポイントを使用して PaaS リソースへのネットワーク アクセスを制限する方法を学習するために、次のチュートリアルに進んでください。