チュートリアル: 送信接続のためにハブ アンド スポーク ネットワークで NAT ゲートウェイと Azure Firewall を統合する

このチュートリアルでは、ハブ アンド スポーク ネットワークで NAT ゲートウェイと Azure Firewall を統合する方法について説明します

Azure Firewall では、バックエンド仮想マシン スケール セット インスタンス (最小 2 インスタンス) ごとに構成されたパブリック IP アドレスあたり 2,496 個の SNAT ポートが提供されます。 最大 250 個のパブリック IP アドレスを Azure Firewall に関連付けることができます。 アーキテクチャの要件とトラフィック パターンによっては、Azure Firewall が提供できるよりも多くの SNAT ポートが必要になる場合があります。 また、必要なパブリック IP の数は少ない一方で、必要な SNAT ポートの数は多い場合もあります。 送信接続のより優れた方法は、NAT ゲートウェイを使用することです。 NAT ゲートウェイは、パブリック IP アドレスあたり 64,512 個の SNAT ポートを提供し、最大 16 個のパブリック IP アドレスで使用できます。

NAT ゲートウェイを Azure Firewall と統合するには、送信接続のよりスケーラブルな方法を提供するために、Azure Firewall サブネットに対して直接 NAT ゲートウェイを構成します。 運用環境のデプロイでは、ファイアウォールが専用の仮想ネットワークに配置されるハブ アンド スポーク ネットワークがお勧めです。 ワークロード サーバーは、ファイアウォールが存在するハブ仮想ネットワークと同じリージョン内のピアリングされた仮想ネットワークです。 このアーキテクチャ セットアップでは、NAT ゲートウェイは、ピアリングされたすべてのスポーク仮想ネットワークに対してハブ仮想ネットワークからの送信接続を提供できます。

Diagram of Azure resources created in tutorial.

Note

セキュリティ保護付き仮想ハブ ネットワーク (vWAN) アーキテクチャでは、Azure NAT Gateway は現在サポートされていません。 このチュートリアルに記載されているように、ハブ仮想ネットワーク アーキテクチャを使用してデプロイする必要があります。 Azure Firewall アーキテクチャ オプションの詳細については、「Azure Firewall Manager のアーキテクチャのオプション」を参照してください。

このチュートリアルでは、次の作業を行う方法について説明します。

  • ハブ仮想ネットワークを作成し、デプロイ時に Azure Firewall と Azure Bastion をデプロイする
  • NAT ゲートウェイを作成し、ハブ仮想ネットワーク内のファイアウォール サブネットに関連付ける
  • スポーク仮想ネットワークを作成する
  • 仮想ネットワーク ピアリングの作成
  • スポーク仮想ネットワークのルート テーブルを作成する
  • ハブ仮想ネットワークのファイアウォール ポリシーを作成する
  • NAT ゲートウェイを介した送信接続をテストするために仮想マシンを作成する

前提条件

ハブ仮想ネットワークを作成する

ハブ仮想ネットワークには、Azure Firewall と NAT ゲートウェイに関連付けられたファイアウォール サブネットが含まれます。 次の例を使用してハブ仮想ネットワークを作成します。

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

  2. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  3. [+ 作成] を選択します。

  4. [仮想ネットワークの作成][基本] タブで、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択します。
    test-rg」と入力します。
    [OK] を選択します。
    インスタンスの詳細
    名前 vnet-hub」と入力します。
    リージョン [(米国) 米国中南部] を選択します。
  5. [次へ] を選択して、[セキュリティ] タブに進みます。

  6. [セキュリティ] タブの [Azure Bastion] セクションで [Bastion を有効にする] を選択します。

    Azure Bastion では、プライベート IP アドレスを使用して Secure Shell (SSH) またはリモート デスクトップ プロトコル (RDP) を介して、仮想ネットワーク内の VM にブラウザーで接続します。 VM には、パブリック IP アドレス、クライアント ソフトウェア、または特別な構成は必要ありません。 Azure Bastion の詳細については、Azure Bastion に関するページをご覧ください。

    Note

    時間単位の価格は、送信データの使用状況に関係なく、Bastion がデプロイされた時点から開始します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環で Bastion をデプロイする場合は、使用終了後にこのリソースを削除することをお勧めします。

  7. [Azure Bastion] で、次の情報を入力または選択します。

    設定
    Azure Bastion ホスト名 bastion」と入力します。
    Azure Bastion のパブリック IP アドレス [Create a public IP address] (パブリック IP アドレスを作成する) を選びます。
    [名前] に「public-ip」と入力します。

    を選択します。
  8. セキュリティ タブの Azure Firewall セクションで、Azure Firewall を有効にする を選択します。

    Azure Firewall は、Azure Virtual Network リソースを保護するクラウドベースのマネージド ネットワーク セキュリティ サービスです。 組み込みの高可用性とクラウドの無制限のスケーラビリティを備えた、完全にステートフルなサービスとしてのファイアウォールです。 Azure Firewall の詳細については、Azure Firewall を参照してください。

  9. Azure Firewall で、以下の情報を入力または選択します:

    設定
    Azure Firewall 名 firewall」と入力します。
    レベル 標準を選択します。
    ポリシー [新規作成] を選択します。
    [名前] にfirewall-policyと入力します。

    を選択します。
    Azure ファイアウォールのパブリック IP アドレス [Create a public IP address] (パブリック IP アドレスを作成する) を選びます。
    [名前] に public-ip-firewall と入力します。

    を選択します。
  10. [Review + create](レビュー + 作成) を選択します。

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

bastion ホストとファイアウォールがデプロイされるまでに数分かかります。 デプロイの一環として仮想ネットワークが作成されたら、次の手順に進むことができます。

NAT ゲートウェイの作成

すべての送信インターネット トラフィックは、NAT ゲートウェイを経由してインターネットに送られます。 次の例を使用してハブ アンド スポーク ネットワークの NAT ゲートウェイを作成し、それを AzureFirewallSubnet に関連付けます。

  1. ポータルの上部にある検索ボックスに、「NAT ゲートウェイ」と入力します。 検索結果から [NAT ゲートウェイ] を選択します。

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

  3. [ネットワーク アドレス変換 (NAT) ゲートウェイを作成します][基本] タブで、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    NAT ゲートウェイ名 nat-gateway」と入力します。
    リージョン [米国中南部] を選択します。
    可用性ゾーン [ゾーン] または [ゾーンなし] を選択します。
    TCP アイドル タイムアウト (分) 既定値の [4] のままにします。

    可用性ゾーンについて詳しくは、「NAT ゲートウェイと可用性ゾーン」を参照してください。

  4. [次へ: 送信 IP] を選択します。

  5. [送信 IP][パブリック IP アドレス][新しいパブリック IP アドレスの作成] を選択します。

  6. [名前] に「public-ip-nat」と入力します。

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

  8. [次へ: サブネット] を選択します。

  9. [仮想ネットワーク] で、[vnet-hub] を選択します。

  10. [サブネット名][AzureFirewallSubnet] を選択します。

  11. [Review + create](レビュー + 作成) を選択します。

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

スポーク仮想ネットワークを作成する

スポーク仮想ネットワークには、NAT ゲートウェイへのインターネット トラフィックのルーティングをテストするために使用されるテスト仮想マシンが含まれます。 次の例を使用してスポーク ネットワークを作成します。

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

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

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

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    Name vnet-spoke」と入力します。
    リージョン [米国中南部] を選択します。
  4. [次へ] を選択して、[セキュリティ] タブに進みます。

  5. [次へ] を選択して、[IP アドレス] タブに進みます。

  6. [IP アドレス] タブの [IPv4 アドレス空間] で、ごみ箱を選択し、自動入力されたアドレス空間を削除します。

  7. IPv4 アドレス空間10.1.0.0 と入力します。 マスクの選択では、既定値の /16 (65,536 アドレス) のままにします。

  8. + サブネットの追加 を選択します。

  9. サブネットの追加 で、次の情報を入力または選択します:

    設定
    サブネットの詳細
    サブネット テンプレート 既定値の [既定] のままにします。
    名前 subnet-private」と入力します。
    開始アドレス 10.1.0.0」と入力します。
    サブネットのサイズ 既定値の /24(256 アドレス) のままにします。
  10. [追加] を選択します。

  11. [Review + create](レビュー + 作成) を選択します。

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

ハブとスポークの間にピアリングを作成する

ハブをスポークに接続するため、およびスポークをハブに接続するために、仮想ネットワーク ピアリングが使用されます。 次の例を使用して、ハブとスポークの間に双方向のネットワーク ピアリングを作成します。

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  2. [vnet-hub] を選択します。

  3. [設定][ピアリング] を選択します。

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

  5. [ピアリングの追加] で、次の情報を入力するか選びます。

    設定
    この仮想ネットワーク
    [Peering link name](ピアリング リンク名) vnet-hub-to-vnet-spoke」と入力します。
    'vnet-hub' に 'vnet-spoke' へのアクセスを許可する 既定値の 選択済みのままにします。
    'vnet-hub' が 'vnet-spoke' から転送されたトラフィックを受信することを許可する チェックボックスを オンにします
    'vnet-hub' のゲートウェイが 'vnet-spoke' にトラフィックを転送することを許可する 既定値の 未選択 のままにします。
    'vnet-hub' で 'vnet-spoke' リモート ゲートウェイを使用できるようにする 既定値の 未選択 のままにします。
    リモート仮想ネットワーク
    [Peering link name](ピアリング リンク名) vnet-spoke-to-vnet-hub」と入力します。
    仮想ネットワークのデプロイ モデル 既定値の [リソース マネージャー] のままにします。
    サブスクリプション サブスクリプションを選択します。
    仮想ネットワーク [vnet-spoke] を選択します。
    'vnet-spoke' に 'vnet-hub' へのアクセスを許可する 既定値の 選択済みのままにします。
    'vnet-spoke' が 'vnet-hub' から転送されたトラフィックを受信することを許可する チェックボックスを オンにします
    'vnet-spoke' のゲートウェイが 'vnet-hub' にトラフィックを転送することを許可する 既定値の 未選択 のままにします。
    'vnet-spoke' で 'vnet-hub' リモート ゲートウェイを使用できるようにする 既定値の 未選択 のままにします。
  6. [追加] を選択します。

  7. [最新の情報に更新] を選択し、[ピアリングの状態][接続済み] であることを確認します。

スポークのネットワーク ルート テーブルを作成する

ルート テーブルにより、スポーク仮想ネットワークからのすべてのトラフィックがハブ仮想ネットワークへと強制されます。 ルート テーブルは、仮想アプライアンスとして Azure Firewall のプライベート IP アドレスで構成されます。

ファイアウォールのプライベート IP アドレスを取得する

この記事の後半で作成するルート テーブルには、ファイアウォールのプライベート IP アドレスが必要です。 次の例を使用して、ファイアウォールのプライベート IP アドレスを取得します。

  1. ポータルの上部にある検索ボックスに、「Firewall」と入力します。 検索結果で [ファイアウォール] を選択します。

  2. [firewall] を選びます。

  3. [firewall][概要] で、[ファイアウォールのプライベート IP] フィールド内の IP アドレスをメモします。 この例の IP アドレスは 10.0.1.68 です。

ルート テーブルを作成する

ルート テーブルを作成して、すべてのスポーク間トラフィックとインターネットのエグレス トラフィックがハブ仮想ネットワーク内のファイアウォールを通過するようにします。

  1. ポータルの上部にある検索ボックスに、「ルート テーブル」と入力します。 検索結果で [ルート テーブル] を選択します。

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

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

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    リージョン [米国中南部] を選択します。
    名前 route-table-spoke」と入力します。
    ゲートウェイのルートを伝達する このため、 [いいえ] を選択します。
  4. [Review + create](レビュー + 作成) を選択します。

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

  6. ポータルの上部にある検索ボックスに、「ルート テーブル」と入力します。 検索結果で [ルート テーブル] を選びます。

  7. [route-table-spoke] を選択します。

  8. [設定][ルート] を選びます。

  9. [ルート][+ 追加] を選択します。

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

    設定
    ルート名 route-to-hub」と入力します。
    変換先の型 [IP アドレス] を選択します。
    宛先 IP アドレス/CIDR 範囲 0.0.0.0/0」と入力します。
    ネクストホップの種類 [仮想アプライアンス] を選択します。
    次ホップ アドレス 10.0.1.68 と入力します。
  11. [追加] を選択します。

  12. [設定][サブネット] を選択します。

  13. [+ 関連付け] を選択します。

  14. [サブネットの関連付け] で、次の情報を入力または選択します。

    設定
    仮想ネットワーク [vnet-spoke (test-rg)] を選択します。
    Subnet [subnet-private] を選択します。
  15. [OK] を選択します。

ファイアウォールを構成する

ファイアウォール ポリシーとネットワーク規則で、ハブを経由するスポークからのトラフィックを許可する必要があります。 次の例を使用して、ファイアウォール ポリシーとネットワーク規則を作成します。

ネットワーク規則を構成する

  1. ポータルの上部にある検索ボックスに、「Firewall」と入力します。 検索結果で [ファイアウォール ポリシー] を選択します。

  2. [firewall-policy] を選択します。

  3. [設定][ネットワーク規則] を選択します。

  4. [+ 規則コレクションの追加] を選択します。

  5. [規則コレクションの追加] で、次の情報を入力または選択します。

    設定
    Name spoke-to-internet」と入力します
    規則コレクションの種類 [ネットワーク] を選択します。
    優先度 100」と入力します。
    規則コレクション アクション [許可] を選択します。
    規則コレクション グループ [DefaultNetworkRuleCollectionGroup] を選択します。
    ルール
    名前 allow-web」と入力します。
    送信元の種類 [IP Address](IP アドレス)
    source 10.1.0.0/24」と入力します。
    Protocol [TCP] を選択します。
    ターゲット ポート 80,443」と入力します。
    変換先の型 [IP アドレス] を選択します。
    宛先 「*」と入力します
  6. [追加] を選択します。

テスト用の仮想マシンを作成する

Ubuntu 仮想マシンを使用して、NAT ゲートウェイ経由の送信インターネット トラフィックをテストします。 次の例を使用して、Ubuntu 仮想マシンを作成します。

次の手順では、仮想ネットワークに vm-spoke という名前のテスト仮想マシン (VM) を作成します。

  1. ポータルで、[仮想マシン] を検索して選択します。

  2. [仮想マシン][+ 作成][Azure 仮想マシン] の順に選択します。

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

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    仮想マシン名 vm-spoke」と入力します。
    リージョン [(米国) 米国中南部] を選択します。
    可用性のオプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 規定値である [標準] のままにします。
    Image [Ubuntu Server 22.04 LTS - x64 Gen2] を選びます。
    VMアーキテクチャ 既定値の [x64] のままにします。
    サイズ サイズを選択します。
    管理者アカウント
    認証の種類 [パスワード] を選択します。
    ユーザー名 azureuser」と入力します。
    Password パスワードを入力します。
    パスワードの確認 パスワードを再入力します。
    受信ポートの規則
    パブリック受信ポート [なし] を選択します。
  4. ページの上部にある [ネットワーク] タブを選択します。

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

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [vnet-spoke] を選択します。
    Subnet [subnet-private (10.1.0.0/24)] を選びます。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Advanced] \(詳細設定) を選択します。
    ネットワーク セキュリティ グループを構成する [新規作成] を選択します。
    名前として「nsg-1」を入力します。
    残りの部分は既定値のままにし、[OK] を選択します。
  6. 残りの設定は既定値のままにし、[確認と作成] を選択します。

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

Note

Bastion ホストがある仮想ネットワーク内の仮想マシンには、パブリック IP アドレスが必要ありません。 Bastion がパブリック IP を提供し、VM はプライベート IP を使用してネットワーク内で通信します。 bastion ホストがある仮想ネットワーク内のいずれの VM からも、パブリック IP を削除できます。 詳細については、「パブリック IP アドレスの関連付けを Azure VM から解除する」を参照してください。

NAT ゲートウェイをテストする

前の手順で作成した Ubuntu 仮想マシンに接続して、送信インターネット トラフィックが NAT ゲートウェイから送られることを確認します。

NAT ゲートウェイのパブリック IP アドレスを取得する

この記事後半の検証手順のために、NAT ゲートウェイのパブリック IP アドレスを取得します。

  1. ポータルの上部にある検索ボックスに、「パブリック IP」と入力します。 検索結果から [パブリック IP アドレス] を選択します。

  2. [public-ip-nat] を選択します。

  3. [IP アドレス] の値をメモします。 この記事で使用する例は、20.225.88.213 です。

スポークから NAT ゲートウェイをテストする

  1. ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。

  2. [vm-spoke] を選択します。

  3. [操作] で、[Bastion] を選択します。

  4. VM 作成時に入力したユーザー名とパスワードを入力します。 [接続] を選択します。

  5. bash プロンプトで、次のコマンドを入力します。

    curl ifconfig.me
    
  6. コマンドが返す IP アドレスが NAT ゲートウェイのパブリック IP アドレスと一致することを確認します。

    azureuser@vm-1:~$ curl ifconfig.me
    20.225.88.213
    
  7. vm-spoke への Bastion 接続を閉じます。

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

作成したリソースを使い終えたら、リソース グループとそのすべてのリソースを削除できます。

  1. Azure portal で、「リソース グループ」を検索して選択します。

  2. [リソース グループ] ページで、test-rg リソース グループを選択します。

  3. [test-rg] ページで、[リソース グループの削除] を選択します。

  4. [削除を確認するために、リソース グループ名を入力してください] に「test-rg」と入力し、[削除] を選びます。

次のステップ

次の記事に進み、NAT ゲートウェイと Azure Load Balancer を統合する方法について学習してください。