チュートリアル: Azure ポータルを使用してハイブリッド ネットワークにAzure Firewallとポリシーをデプロイして構成する

オンプレミス ネットワークをAzure仮想ネットワークに接続してハイブリッド ネットワークを作成する場合は、全体的なセキュリティ計画の一環として、Azure ネットワーク リソースへのアクセスを制御する必要があります。

Azure Firewallとファイアウォール ポリシーは、許可されたネットワーク トラフィックと拒否されたネットワーク トラフィックを定義する規則を使用して、ハイブリッド ネットワーク内のネットワーク アクセスを制御します。

このチュートリアルでは、3 つの仮想ネットワークを作成します。

  • VNet-Hub - ファイアウォールはこの仮想ネットワーク内にあります。
  • VNet-Spoke - スポーク仮想ネットワークは、Azureにあるワークロードを表します。
  • VNet-Onprem - オンプレミス仮想ネットワークは、オンプレミス ネットワークを表します。 実際のデプロイでは、VPN または ExpressRoute 接続を使用して接続できます。 わかりやすくするために、このチュートリアルでは VPN ゲートウェイ接続を使用し、Azure配置された仮想ネットワークはオンプレミス ネットワークを表します。

ハブ、スポーク、オンプレミスの仮想ネットワークがAzure Firewall経由で接続されたハイブリッド ネットワーク アーキテクチャを示す図。

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

  • ファイアウォールのハブ仮想ネットワークを作成する
  • スポーク仮想ネットワークを作成する
  • オンプレミス仮想ネットワークを作成する
  • ファイアウォールとポリシーを構成してデプロイする
  • VPN ゲートウェイを作成して接続する
  • ハブとスポークの仮想ネットワークをピアリングする
  • ルートを作成する
  • 仮想マシンを作成する
  • ファイアウォールをテストする

代わりにAzure PowerShellを使用するには、「Azure PowerShellを使用してハイブリッド ネットワークにAzure Firewallをデプロイして構成する」を参照してください。

前提条件

ハイブリッド ネットワークでは、ハブおよびスポーク アーキテクチャ モデルを使用して、Azure 仮想ネットワークとオンプレミス ネットワーク間でトラフィックをルーティングします。 ハブおよびスポーク アーキテクチャには、次の要件があります。

  • スポーク サブネット トラフィックをハブ ファイアウォール経由でルーティングするには、 仮想ネットワーク ゲートウェイ ルート伝達 オプションが無効になっているファイアウォールを指すユーザー定義ルート (UDR) を使用します。 [仮想ネットワーク ゲートウェイのルート伝達] オプションが無効になっていると、スポーク サブネットへのルート配布ができなくなります。 このオプションでは、学習したルートが UDR と競合しないようにします。 仮想ネットワーク ゲートウェイ のルート伝達を有効のままにする場合は、ファイアウォールへの特定のルートを定義して、BGP 経由でオンプレミスから発行されたルートをオーバーライドしてください。
  • ハブ ゲートウェイ サブネット上の UDR を、スポーク ネットワークへの次のホップとしてファイアウォール IP アドレスを指すように構成します。 Azure Firewall サブネット上に UDR は必要ありません。BGP からルートを学習するためです。

これらのルートの作成方法については、このチュートリアル の「ルートの作成 」を参照してください。

Note

Azure Firewall には、インターネットへの直接接続が必要です。 AzureFirewallSubnet が BGP 経由でオンプレミス ネットワークへの既定のルートを学習する場合は、直接インターネット接続を維持するために、NextHopType 値をインターネットとして設定した 0.0.0.0/0 UDR を使用してこのルートをオーバーライドする必要があります。

強制トンネリングをサポートするように Azure Firewall を構成できます。 詳細については、「Azure Firewall 強制トンネリング」を参照してください。

Note

UDR が既定のゲートウェイとしてAzure Firewallを指している場合でも、直接ピアリングされた仮想ネットワーク間のトラフィックは直接ルーティングされます。 このシナリオでサブネット間トラフィックをファイアウォールに送信するには、UDR に両方のサブネットのターゲットのサブネット ネットワーク プレフィックスを明示的に含める必要があります。

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

ファイアウォールのハブ仮想ネットワークを作成する

まず、このチュートリアルのリソースを含めるためのリソース グループを作成します。

  1. Azure portal にサインインします。
  2. Azure Portal のホーム ページで [リソース グループ]>[作成] の順に選択します。
  3. [サブスクリプション] で、ご使用のサブスクリプションを選択します。
  4. [リソース グループ名] に「FW-Hybrid-Test」と入力します。
  5. [リージョン][(米国) 米国東部] を選択します。 後で作成するリソースは、いずれも同じ場所にある必要があります。
  6. [ 確認と作成] を選択し、[ 作成] を選択します。

次に、仮想ネットワークを作成します。

Note

AzureFirewallSubnet サブネットのサイズは /26 です。 サブネットのサイズの詳細については、「Azure Firewall に関する FAQ」を参照してください。

  1. Azure portal のホーム ページから [リソースの作成] を選択します。
  2. [ ネットワーク] で [ 仮想ネットワーク] を選択し、[ 作成] を選択します。
  3. [リソース グループ] で、 [FW-Hybrid-Test] を選択します。
  4. [名前] に「VNet-hub」と入力します。
  5. [セキュリティ] タブで [編集] を選択します。
  6. IPv4 アドレス空間には、「10.5.0.0/16」と入力します。
  7. [サブネット] で、[既定] を選択します。
  8. [サブネットの目的] で、[Azure Firewall] を選択します。
  9. [開始アドレス] に「10.5.0.0/26」と入力します。
  10. [保存] を選択し、[確認および作成] を選択して、それから [作成] を選択します。

ゲートウェイの 2 つ目のサブネットを作成します。

  1. [VNet-hub] ページで、[サブネット] を選択します。
  2. [+サブネット] を選択します。
  3. [サブネットの目的] に、[仮想ネットワーク ゲートウェイ] を選択します。
  4. [開始アドレス] に「10.5.2.0/26」と入力します。
  5. [追加]を選択します。

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

  1. Azure portal のホーム ページから [リソースの作成] を選択します。
  2. [ネットワーク] で、[仮想ネットワーク] を選択し、[作成] を選択します。
  3. [リソース グループ] で、 [FW-Hybrid-Test] を選択します。
  4. [名前] に、「VNet-Spoke」と入力します。
  5. [リージョン][(米国) 米国東部] を選択します。
  6. [次へ] を選択します。 [セキュリティ] タブで [編集] を選択します。
  7. IPv4 アドレス空間には、「10.6.0.0/16」と入力します。
  8. [サブネット] で、[既定] を選択します。
  9. [名前] に「SN-Workload」と入力します。
  10. [開始アドレス] に「10.6.0.0/24」と入力します。
  11. [保存] を選択し、[確認および作成] を選択して、それから [作成] を選択します。

オンプレミス仮想ネットワークを作成する

  1. Azure portal のホーム ページから [リソースの作成] を選択します。
  2. [ネットワーク] で、[仮想ネットワーク] を選択し、[作成] を選択します。
  3. [リソース グループ] で、 [FW-Hybrid-Test] を選択します。
  4. [名前] に「VNet-OnPrem」と入力します。
  5. [リージョン][(米国) 米国東部] を選択します。
  6. [次へ] を選択します。 [セキュリティ] タブで [編集] を選択します。
  7. IPv4 アドレス空間には、「192.168.0.0/16」と入力します。
  8. [サブネット] で、[既定] を選択します。
  9. [名前] に「SN-Corp」と入力します。
  10. [開始アドレス] に「192.168.1.0/24」と入力します。
  11. [保存] を選択し、[確認および作成] を選択して、それから [作成] を選択します。

ゲートウェイの 2 つ目のサブネットを作成します。

  1. [VNet-OnPrem] ページで、[サブネット] を選択します。
  2. [+サブネット] を選択します。
  3. [サブネットの目的] に、[仮想ネットワーク ゲートウェイ] を選択します。
  4. [開始アドレス] に「192.168.2.0/24」と入力します。
  5. [追加]を選択します。

ファイアウォールを構成してデプロイする

ファイアウォール ハブ仮想ネットワークにファイアウォールをデプロイします。

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

  2. ファイアウォールを検索し、結果からファイアウォールを選択し、[作成] を選択します。

  3. [ ファイアウォールの作成] で、次の表を使用してファイアウォールを構成します。

    設定 Value
    サブスクリプション <お使いのサブスクリプション>
    リソースグループ FW-Hybrid-Test
    名前 AzFW01
    リージョン 米国東部
    ファイアウォール レベル 標準
    ファイアウォール管理 ファイアウォール ポリシーを使用してこのファイアウォールを管理する
    ファイアウォール ポリシー [新規追加]\:
    hybrid-test-pol
    米国東部
    仮想ネットワークの選択 [既存のものを使用]:
    VNet-hub
    パブリック IP アドレス 新規追加:
    fw-pip
  4. [次へ: タグ]、[次へ: 確認と作成]、[作成] の順に選択します。

    デプロイには、数分かかります。

  5. デプロイが完了したら、 FW-Hybrid-Test リソース グループに移動し、 AzFW01 ファイアウォールを選択します。

  6. プライベート IP アドレスをメモします。 後で既定のルートを作成する際に、これを使用します。

ネットワーク ルールを構成する

まず、Web トラフィックを許可するネットワーク ルールを追加します。

  1. FW-Hybrid-Test リソース グループから、hybrid-test-pol ファイアウォール ポリシーを選択します。
  2. [設定] で、[ネットワーク ルール] を選択します。
  3. [規則コレクションの追加] を選択します。
  4. 名前には、RCNet01を入力します。
  5. [優先度] に「100」と入力します。
  6. [規則コレクション アクション][許可] を選択します。
  7. [ ルール] の [ 名前] に「 AllowWeb」と入力します。
  8. [Source type](送信元の種類) で、 [IP アドレス] を選択します。
  9. [送信元] に「192.168.1.0/24」と入力します。
  10. [プロトコル][TCP] を選択します。
  11. [接続先ポート] に「80」と入力します。
  12. [送信先の種類] として [IP アドレス] を選択します。
  13. 宛先10.6.0.0/16と入力します。
  14. [追加]を選択します。

VPN ゲートウェイを作成して接続する

ハブとオンプレミスの仮想ネットワークは、VPN ゲートウェイを介して接続します。

VPN ゲートウェイを作成する

ハブとオンプレミスの両方の仮想ネットワーク用の VPN ゲートウェイを作成します。 ネットワーク間構成には、RouteBased VpnType が必要です。 選択した VPN ゲートウェイ SKU によっては、VPN ゲートウェイの作成に 45 分以上かかる場合も少なくありません。

表の値を使用して、ゲートウェイごとに次の手順を繰り返します。

設定 ハブ ゲートウェイ オンプレミス ゲートウェイ
名前 GW-hub GW-Onprem
仮想ネットワーク VNet-hub VNet-Onprem
パブリック IP アドレス VNet-hub-GW-pip VNet-Onprem-GW-pip
2 番目のパブリック IP アドレス VNet-hub-GW-pip2 VNet-Onprem-GW-pip2
  1. Azure portal のホーム ページから [リソースの作成] を選択します。
  2. 検索ボックスに「 仮想ネットワーク ゲートウェイ 」と入力し、 Enter キーを押します。
  3. [仮想ネットワーク ゲートウェイ] を選択し、 [作成] を選択します。
  4. テーブルの 名前 を入力します。
  5. [リージョン] で、前に使用したのと同じリージョンを選択します。
  6. [ゲートウェイの種類] で、 [VPN] を選択します。
  7. [SKU] で、[VpnGw1] を選択します。
  8. テーブルから 仮想ネットワーク を選択します。
  9. [パブリック IP アドレス] で [新規作成] を選択し、テーブルの名前を入力します。
  10. [Second Public IP address]\(2 番目のパブリック IP アドレス\) で、[新規作成] を選択し、テーブルの名前を入力します。
  11. 残りの既定値をそのまま使用し、[ 確認と作成] を選択し、[ 作成] を選択します。

VPN 接続を作成する

ハブおよびオンプレミスそれぞれのゲートウェイの間に VPN 接続を作成します。 各方向からの接続が必要であり、共有キーは両方に一致する必要があります。

テーブルの値を使用して、接続ごとに次の手順を繰り返します。

設定 ハブからオンプレミスへ オンプレミスからハブへ
開く対象のゲートウェイ GW-hub GW-Onprem
接続名 Hub-to-Onprem Onprem-to-Hub
最初の仮想ネットワーク ゲートウェイ GW-hub GW-Onprem
2 番目の仮想ネットワーク ゲートウェイ GW-Onprem GW-hub
  1. FW-Hybrid-Test リソース グループを開き、テーブルからゲートウェイを選択します。
  2. [設定] で、左側の列の [接続] を選択します。
  3. [追加]を選択します。
  4. テーブルの 接続名 を入力します。
  5. [接続の種類][VNet 対 VNet] を選択します。
  6. [次へ: 設定] を選択します。
  7. テーブルから最初の 仮想ネットワーク ゲートウェイ2 番目の仮想ネットワーク ゲートウェイ を選択します。
  8. [共有キー (PSK)] に、「AzureA1b2C3」と入力します。
  9. [確認と作成] を選択し、次に [作成] を選択します。

接続を確認する

約 5 分後、両方の接続の状態が [接続中] になるはずです。

ハブとスポークの仮想ネットワークをピアリングする

ハブとスポークの仮想ネットワークをピアリングします。

  1. FW-Hybrid-Test リソース グループを開き、VNet-hub 仮想ネットワークを選択します。

  2. 左側の列で、 [ピアリング] を選択します。

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

  4. [リモート仮想ネットワーク概要] で:

    設定の名前 Value
    [Peering link name](ピアリング リンク名) SpoketoHub
    サブスクリプション <お使いのサブスクリプション>
    仮想ネットワーク VNet-Spoke
    'VNet-Spoke' に 'VNet-hub' へのアクセスを許可する 選択済み
    'VNet-Spoke' が 'VNet-Hub' から転送されたトラフィックを受信できるようにする 選択済み
    'VNet-Spoke' のゲートウェイまたはルート サーバーが、'VNet-Hub' にトラフィックを転送できるようにする 選択なし
    'VNet-Spoke' を有効にし、'VNet-hub' の リモート ゲートウェイまたはルート サーバーを使用できるようにする 選択済み
  5. [ローカル仮想ネットワーク概要] で:

    設定の名前 Value
    [Peering link name](ピアリング リンク名) HubtoSpoke
    'VNet-hub' に 'VNet-Spoke' へのアクセスを許可する 選択済み
    'VNet-hub' が、'VNet-Spoke' からのトラフィック転送を受信できるようにする 選択済み
    'VNet-Hub' のゲートウェイまたはルート サーバーが、'VNet-Spoke' にトラフィックを転送できるようにする 選択済み
    'VNet-hub' を有効にし、'VNet-Spoke' の リモート ゲートウェイまたはルート サーバーを使用できるようにする 選択なし
  6. [追加]を選択します。

    ハブとスポークの仮想ネットワーク間の VNet ピアリング構成を示すスクリーンショット。

ルートを作成する

次に、2 つのルート テーブルを作成します。

  • ファイアウォール ハブ IP アドレスを介したハブ ゲートウェイ サブネットからスポーク サブネットへのルート
  • ファイアウォール ハブ IP アドレスを介したスポーク サブネットからの既定ルート

テーブル内の値を使用して、ルート テーブルごとに次の手順を繰り返します。

設定 ハブからスポークへの経路 既定のスポーク ルート
ルート テーブル名 UDR-Hub-Spoke UDR-DG
ゲートウェイ ルートを伝達する はい (既定値) いいえ
ルート名 ToSpoke ToHub
宛先 IP アドレス/CIDR 範囲 10.6.0.0/16 0.0.0.0/0
仮想ネットワークを関連付ける VNet-hub VNet-spoke
サブネットを関連付ける GatewaySubnet SN-Workload
  1. Azure portal のホーム ページから [リソースの作成] を選択します。
  2. 検索ボックスに「 ルート テーブル 」と入力し、 Enter キーを押します。
  3. [ルート テーブル][作成] の順に選択します。
  4. リソース グループ の FW-Hybrid-Test を選択します。
  5. [リージョン] で、以前使用したのと同じ場所を選択します。
  6. ルート テーブル の名前 をテーブルから入力します。 該当する場合は、[ ゲートウェイ ルートの伝達 ] を [いいえ] に設定します。
  7. [ 確認と作成] を選択し、[ 作成] を選択します。
  8. ルート テーブルが作成されたら、それを選択して、ルート テーブル ページを開きます。
  9. [設定] で、左側の列の [ルート] を選択します。
  10. [追加]を選択します。
  11. テーブルの ルート名 を入力します。
  12. [送信先の種類][IP アドレス] を選択します。
  13. テーブルの 宛先 IP アドレス/CIDR 範囲 を入力します。
  14. [次ホップの種類] で、 [仮想アプライアンス] を選択します。
  15. [次ホップ アドレス] に、先ほどメモしたファイアウォールのプライベート IP アドレスを入力します。
  16. [追加]を選択します。

各ルート テーブルをそのサブネットに関連付けます。

  1. ルート テーブル ページで、[ サブネット] を選択します。
  2. [関連付け] を選択します。
  3. テーブルから 仮想ネットワークサブネット を選択します。
  4. [OK]を選択します。

仮想マシンを作成する

スポーク ワークロードとオンプレミスの仮想マシンを作成し、適切なサブネットに配置します。

ワークロード仮想マシンを作成する

パブリック IP アドレスなしで NGINX を実行しているスポーク仮想ネットワークに仮想マシンを作成します。

  1. Azure portal のホーム ページから [リソースの作成] を選択します。
  2. 人気 のある Marketplace 製品で、 Ubuntu Server 24.04 LTS を選択します。
  3. 仮想マシン向けに、以下の値を入力します:
    • [リソース グループ] - [FW-Hybrid-Test] を選択します。
    • [仮想マシン名] : VM-Spoke-01
    • リージョン - 以前に使用したリージョンと同じリージョン
    • イメージ - Ubuntu Server 24.04 LTS - x64 Gen2
    • サイズ - Standard_B2s
    • 認証の種類 - SSH 公開キー
    • [ユーザー名]: azureuser
    • SSH 公開キー ソース - 新しいキー ペアを生成する
    • キー ペア名 - VM-Spoke-01_key
  4. [パブリック受信ポート][なし] を選択します。
  5. [次へ: ディスク] を選択し、既定値をそのまま使用して、[次へ: ネットワーク] を選択します。
  6. 仮想ネットワークとして [VNet-Spoke] を選択します。サブネットは SN-Workload です。
  7. [パブリック IP] で、 [なし] を選択します。
  8. [次へ: 管理] を選択し、[次へ: 監視] を選択します。
  9. [起動の診断] で、 [Disable](無効) を選択します。
  10. [Review + Create](確認と作成) を選択し、概要ページの設定を確認して、 [作成] を選択します。
  11. [ 新しいキー ペアの生成 ] ダイアログで、[ 秘密キーのダウンロードとリソースの作成] を選択します。 キー ファイルを VM-Spoke-01_key.pem として保存します。

Nginx をインストールする

仮想マシンを作成したら、Nginx Web サーバーをインストールします。

  1. Azure portal から Cloud Shell を開き、 Bash に設定されていることを確認します。

  2. 次のコマンドを実行して、仮想マシンに Nginx をインストールします。

    az vm run-command invoke \
       --resource-group FW-Hybrid-Test \
       --name VM-Spoke-01 \
       --command-id RunShellScript \
       --scripts "sudo apt-get update && sudo apt-get install -y nginx && echo '<h1>'$(hostname)'</h1>' | sudo tee /var/www/html/index.html"
    

オンプレミス仮想マシンを作成する

この仮想マシンを使用して、Azure Bastionを使用して接続します。 そこから、ファイアウォールを介してスポーク サーバーに接続します。

  1. Azure portal のホーム ページから [リソースの作成] を選択します。
  2. 人気 のある Marketplace 製品で、 Ubuntu Server 24.04 LTS を選択します。
  3. 仮想マシン向けに、以下の値を入力します:
    • [リソース グループ] - 既存のものを選択し、 [FW-Hybrid-Test] を選択します。
    • [仮想マシン名] - VM-Onprem
    • [リージョン] - 先ほど使用したものと同じリージョン。
    • イメージ - Ubuntu Server 24.04 LTS - x64 Gen2
    • サイズ - Standard_B2s
    • 認証の種類 - SSH 公開キー
    • [ユーザー名]: azureuser
    • SSH 公開キー ソース - 新しいキー ペアを生成する
    • キー ペア名 - VM-Onprem_key
  4. [パブリック受信ポート][なし] を選択します。
  5. [次へ: ディスク] を選択し、既定値をそのまま使用して、[次へ: ネットワーク] を選択します。
  6. 仮想ネットワークとして [VNet-Onprem] を選択します。サブネットは SN-Corp です。
  7. [次へ: 管理] を選択し、[次へ: 監視] を選択します。
  8. [起動の診断] で、 [Disable](無効) を選択します。
  9. [Review + Create](確認と作成) を選択し、概要ページの設定を確認して、 [作成] を選択します。
  10. [ 新しいキー ペアの生成 ] ダイアログで、[ 秘密キーのダウンロードとリソースの作成] を選択します。 キー ファイルを VM-Onprem_key.pem として保存します。

Note

パブリック IP アドレスが割り当てられていないか、内部の Basic Azure Load Balancer のバックエンド プールにある VM に対しては、Azure によって既定の送信アクセス IP が提供されます。 デフォルト送信アクセス IP メカニズムは、構成できないアウトバウンド IP アドレスを提供します。

次のいずれかのイベントが発生すると、既定のアウトバウンド アクセス IP は無効になります。

  • パブリック IP アドレスは、VM に割り当てられます。
  • アウトバウンド規則の有無にかかわらず、VM は標準ロード バランサーのバックエンド プール内に配置されます。
  • Azure NAT Gateway リソースは、VM のサブネットに割り当てられます。

フレキシブル オーケストレーション モードで Virtual Machine Scale Sets を使用して作成された VM には、既定のアウトバウンド アクセスはありません。

Azure のアウトバウンド接続の詳細については、「Azure の既定の送信アクセス」および「送信接続で Source Network Address Translation (SNAT) を使用する」を参照してください。

Azure Bastion をデプロイする

Azure Bastionをデプロイして、仮想マシンへの安全なアクセスを提供します。

  1. Azure portal のメニューで、[リソースの作成] を選択します。

  2. 検索ボックスに「 Bastion 」と入力し、結果から選択します。

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

  4. [ Bastion の作成] で、次の設定を構成します。

    設定 Value
    サブスクリプション サブスクリプションを選択します。
    リソースグループ FW-Hybrid-Test
    名前 Hub-Bastion
    リージョン 他のリソースと同じ
    レベル 開発者
    仮想ネットワーク VNet-hub
  5. [確認と作成] を選択します。 検証に合格したら、[ 作成] を選択します。

ファイアウォールをテストする

  1. まず、VM-spoke-01 仮想マシンのプライベート IP アドレスをメモします。

  2. Azure ポータルから、VM-Onprem 仮想マシンに移動します。

  3. [接続>Bastion 経由で接続] を選択します。

  4. [ローカル ファイルから SSH 秘密キーを使用する] を選択します。

  5. [ ユーザー名]「azureuser」と入力します。

  6. 先ほどダウンロードした VM-Onprem_key.pem ファイルを参照して選択します。

  7. [接続] を選択します。

  8. VM-Onprem の SSH セッションから、スポーク仮想ネットワーク上の Web サーバーをテストします。

    curl http://<VM-spoke-01 private IP>
    

    Web サーバーは応答を返します。

次に、ファイアウォール ネットワーク ルール コレクションの動作を Deny に変更して、ファイアウォール ルールが想定どおりに動作することを確認します。

  1. hybrid-test-pol ファイアウォール ポリシーを選択します。
  2. [Rule Collections](規則コレクション) を選択します。
  3. RCNet01 ルール コレクションを選択します。
  4. [規則コレクション アクション][拒否] を選択します。
  5. [保存] を選択します。

テストをもう一度実行します。 今回は、テストが失敗します。

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

次のチュートリアルのためにファイアウォール リソースを保持するか、不要になった場合は 、FW-Hybrid-Test リソース グループを削除して、ファイアウォール関連のすべてのリソースを削除します。

次のステップ