次の方法で共有


チュートリアル: Azure portal を使用して Azure Firewall ポリシー DNAT を使用して受信インターネット トラフィックをフィルター処理する

Azure Firewall ポリシーの宛先ネットワーク アドレス変換 (DNAT) を構成して、サブネットへの受信インターネット トラフィックを変換およびフィルター処理できます。 DNAT を構成すると、"規則コレクション アクション" が DNAT に設定されます。 NAT 規則コレクション内の各規則を使用して、ファイアウォールのパブリック IP アドレスとポートをプライベート IP アドレスとポートに変換できます。 DNAT ルールは、変換されたトラフィックを許可するための対応するネットワーク ルールを暗黙的に追加します。 セキュリティ上の理由から、ネットワークへの DNAT アクセスを許可する特定のソースを追加し、ワイルドカードは使用しないことをお勧めします。 Azure Firewall ルール処理ロジックの詳細については、「Azure Firewall ルール処理ロジック」を参照してください。

このチュートリアルでは、DNAT を使用して Web サーバーを公開する方法について説明します。

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

  • テスト ネットワーク環境を設定する
  • ファイアウォールとポリシーをデプロイする
  • 既定のルートを作成する
  • Web サーバーのデプロイと構成
  • Web サーバーを発行するように DNAT ルールを構成する
  • ファイアウォールをテストする

前提条件

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

リソース グループを作成する

  1. Azure portal にサインインします。
  2. Azure portal のホーム ページで [リソース グループ] を選択し、 [追加] を選択します。
  3. [サブスクリプション] で、ご使用のサブスクリプションを選択します。
  4. [リソース グループ名] に「RG-DNAT-Test」と入力します。
  5. [リージョン] でリージョンを選択します。 作成する他のすべてのリソースも、同じリージョン内のものである必要があります。
  6. [Review + create](レビュー + 作成) を選択します。
  7. [作成] を選択します

ネットワーク環境を設定する

このチュートリアルでは、2 つのピアリングされた VNet を作成します。

  • VN-Hub - ファイアウォールはこの VNet 内にあります。
  • VN-Spoke - ワークロード サーバーはこの VNet 内にあります。

最初に VNet を作成し、次にそれらをピアリングします。

ハブ VNet を作成する

  1. Azure portal のホーム ページで、 [すべてのサービス] を選択します。

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

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

  4. [リソース グループ] で、 [RG-DNAT-Test] を選択します。

  5. [名前] に「VN-Hub」と入力します。

  6. [リージョン] で、前に使用したのと同じリージョンを選択します。

  7. 次へ:[次へ: IP アドレス] を選択します。

  8. [IPv4 アドレス空間] には、既定値の 10.0.0.0/16 をそのまま使用します。

  9. [サブネット名] で、 [default](既定) を選択します。

  10. [サブネット名] を編集し、「AzureFirewallSubnet」と入力します。

    ファイアウォールはこのサブネットに配置されます。サブネット名は AzureFirewallSubnet でなければなりません

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

  11. [サブネット アドレス範囲] に「10.0.1.0/26」と入力します。

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

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

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

スポーク VNet を作成する

  1. Azure portal のホーム ページで、 [すべてのサービス] を選択します。
  2. [ネットワーク] で、 [仮想ネットワーク] を選択します。
  3. [追加] を選択します。
  4. [リソース グループ] で、 [RG-DNAT-Test] を選択します。
  5. [名前] に「VN-Spoke」と入力します。
  6. [リージョン] で、前に使用したのと同じリージョンを選択します。
  7. 次へ:[次へ: IP アドレス] を選択します。
  8. [IPv4 アドレス空間] で、既定値を編集し、 「192.168.0.0/16」と入力します。
  9. [サブネットの追加] を選択します。
  10. [サブネット名] に「SN-Workload」と入力します。
  11. [サブネット アドレス範囲] に「192.168.1.0/24」と入力します。
  12. [追加] を選択します。
  13. [Review + create](レビュー + 作成) を選択します。
  14. [作成] を選択します

VNet をピアリングする

次に、2 つの VNet をピアリングします。

  1. VN-Hub 仮想ネットワークを選択します。
  2. [設定][ピアリング] を選択します。
  3. [追加] を選択します。
  4. [この仮想ネットワーク][ピアリング リンク名] に「Peer-HubSpoke」と入力します。
  5. [リモート仮想ネットワーク][ピアリング リンク名] に「Peer-SpokeHub」と入力します。
  6. 仮想ネットワークとして [VN-Spoke] を選択します。
  7. 他のすべての既定値をそのまま使用し、 [追加] を選択します。

仮想マシンの作成

ワークロード仮想マシンを作成して、SN-Workload サブネットに配置します。

  1. Azure portal メニューから [リソースの作成] を選択します。
  2. [ 人気] で、[ Ubuntu Server 22.04 LTS] を選択します。

基本操作

  1. [サブスクリプション] で、ご使用のサブスクリプションを選択します。
  2. [リソース グループ] で、 [RG-DNAT-Test] を選択します。
  3. [仮想マシン名] に「Srv-Workload」と入力します。
  4. [リージョン] で、以前使用したのと同じ場所を選択します。
  5. [イメージ] で、Ubuntu Server 22.04 LTS - x64 Gen2 を選択します。
  6. サイズStandard_B2sを選択します。
  7. [認証の種類] で、[SSH 公開キー] を選択します。
  8. [ Username]\(ユーザー名\)「azureuser」と入力します。
  9. SSH 公開キー ソースの場合は、[新しいキー ペアの生成] を選択します。
  10. [キー ペア名] に「Srv-Workload_key」と入力します。
  11. [パブリック受信ポート] で [なし] を選択します。
  12. ディスク を選択します。

ディスク

  • ネットワーク を選択します。

ネットワーク

  1. [仮想ネットワーク][VN-Spoke] を選択します。
  2. [サブネット] で、 [SN-Workload] を選択します。
  3. [パブリック IP] で、 [なし] を選択します。
  4. [パブリック受信ポート][なし] を選択します。
  5. 他の設定については既定値のままにし、 [次へ: 管理] を選択します。

管理

  • [次へ: 監視] を選択します。

監視

  1. [起動の診断] で、 [Disable](無効) を選択します。
  2. [確認および作成] を選択します。

[確認および作成]

概要を確認し、 [作成] を選択します。

  • [ 新しいキー ペアの生成 ] ダイアログで、[ 秘密キーのダウンロードとリソースの作成] を選択します。 キー ファイルを Srv-Workload_key.pem として保存します。

デプロイが完了したら、仮想マシンのプライベート IP アドレスをメモしてください。 これは、後でファイアウォールを構成するときに使用します。 仮想マシンの名前を選択し、 [設定][ネットワーク] を選択して、プライベート IP アドレスを見つけます。

Web サーバーのインストール

Azure portal のコマンド実行機能を使用して、仮想マシンに Web サーバーをインストールします。

  1. Azure portal で Srv-Workload 仮想マシンに移動します。

  2. [ 操作] で、[ コマンドの実行] を選択します。

  3. [ RunShellScript] を選択します。

  4. [ コマンド スクリプトの実行 ] ウィンドウで、次のスクリプトを貼り付けます。

    sudo apt-get update
    sudo apt-get install -y nginx
    echo "<h1>Azure Firewall DNAT Demo - $(hostname)</h1>" | sudo tee /var/www/html/index.html
    
  5. [実行] を選択します。

  6. スクリプトが完了するのを待ちます。 出力には、Nginx の正常なインストールが表示されます。

ファイアウォールとポリシーをデプロイする

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

  2. [ファイアウォール] を検索し、 [ファイアウォール] を選択します。

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

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

    設定
    サブスクリプション <該当するサブスクリプション>
    リソースグループ RG-DNAT-Test を選択します
    名前 FW-DNAT-test
    リージョン 以前使用したのと同じ場所を選択します
    ファイアウォール管理 ファイアウォール ポリシーを使用してこのファイアウォールを管理する
    ファイアウォール ポリシー 新規追加:
    fw-dnat-pol
    選択したリージョン
    仮想ネットワークの選択 既存のものを使用: VN-Hub
    パブリック IP アドレス [新規追加] 、名前: fw-pip
  5. [ ファイアウォール管理 NIC を有効にする] の横にあるチェック ボックスをオフにします。

  6. 他の既定値をそのまま使用し、 [確認および作成] を選択します。

  7. 概要を確認し、 [作成] を選択してファイアウォールを作成します。

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

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

  9. ファイアウォールのプライベートおよびパブリック IP アドレスをメモします。 これらは、後で既定のルートと NAT ルールを作成するときに使用します。

既定のルートを作成する

SN-Workload サブネットで、送信の既定ルートがファイアウォールを通過するように構成します。

重要

宛先サブネットでファイアウォールに戻る明示的なルートを構成する必要はありません。 Azure Firewall はステートフル サービスであり、パケットとセッションは自動的に処理されます。 このルートを作成すると、ステートフル セッション ロジックが中断され、パケットと接続が切断される非対称ルーティング環境が作成されます。

  1. Azure portal のホーム ページで、 [すべてのサービス] を選択します。

  2. [ネットワーク] で、 [ルート テーブル] を選択します。

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

  4. [サブスクリプション] で、ご使用のサブスクリプションを選択します。

  5. [リソース グループ] で、 [RG-DNAT-Test] を選択します。

  6. [リージョン] で、前に使用したのと同じリージョンを選択します。

  7. [名前] に「RT-FW-route」と入力します。

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

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

  10. [リソースに移動] を選択します。

  11. [サブネット] を選択し、 [関連付け] を選択します。

  12. [仮想ネットワーク][VN-Spoke] を選択します。

  13. [サブネット] で、 [SN-Workload] を選択します。

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

  15. [ルート][追加] の順に選択します。

  16. [ルート名] に「fw-dg」と入力します。

  17. [アドレス プレフィックス] に「0.0.0.0/0」と入力します。

  18. [次ホップの種類] で、 [仮想アプライアンス] を選択します。

    Azure Firewall は実際はマネージド サービスですが、この状況では仮想アプライアンスが動作します。

  19. [次ホップ アドレス] に、前にメモしておいたファイアウォールのプライベート IP アドレスを入力します。

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

DNAT ルールを構成する

この規則では、インターネットからの受信 HTTP トラフィックがファイアウォールを介して Web サーバーに到達することを許可します。

  1. RG-DNAT-Test リソース グループを開き、fw-dnat-pol ファイアウォール ポリシーを選択します。
  2. [設定] で、 [DNAT rules](DNAT ルール) を選択します。
  3. [規則コレクションの追加] を選択します。
  4. [名前] に「web-access」と入力します。
  5. [優先度] に「200」と入力します。
  6. [規則コレクション グループ] で、DefaultDnatRuleCollectionGroup を選択します。
  7. [ ルール] の [ 名前]「http-dnat」と入力します。
  8. [Source type](送信元の種類) で、 [IP アドレス] を選択します。
  9. [ソース] に「*」と入力して、任意のソースからのトラフィックを許可します。
  10. [プロトコル][TCP] を選択します。
  11. [宛先ポート] に「80」と入力します。
  12. [送信先の種類][IP アドレス] を選択します。
  13. [ 宛先] に、ファイアウォールのパブリック IP アドレスを入力します。
  14. [変換されたアドレス] に、Srv-Workload のプライベート IP アドレスを入力します。
  15. [変換されたポート] に「80」と入力します。
  16. [追加] を選択します。

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

次に、DNAT 規則をテストして、Web サーバーがファイアウォール経由でアクセス可能であることを確認します。

  1. Web ブラウザーを開きます。
  2. http://<firewall-public-ip>に移動します (前にメモしたファイアウォールのパブリック IP アドレスを使用します)。
  3. Web ページが表示されます。 Azure Firewall DNAT デモ - Srv-Workload

DNAT ルールは、ファイアウォールのパブリック IP アドレスに対する受信 HTTP 要求を Web サーバーのプライベート IP アドレスに正常に変換します。 これは、バックエンド サーバーをプライベート サブネットに保持しながら、Azure Firewall DNAT を使用して Web アプリケーションを発行する方法を示しています。

リソースのクリーンアップ

次のチュートリアルのためにファイアウォール リソースを残しておくことができます。不要であれば、RG-DNAT-Test リソース グループを削除して、ファイアウォール関連のすべてのリソースを削除します。

次のステップ

重複するネットワークまたはルーティング不可能なネットワーク アクセスを含む高度な DNAT シナリオについては、次を参照してください。