Azure Firewall ポリシーの宛先ネットワーク アドレス変換 (DNAT) を構成して、サブネットへの受信インターネット トラフィックを変換およびフィルター処理できます。 DNAT を構成すると、"規則コレクション アクション" が DNAT に設定されます。 NAT 規則コレクション内の各規則を使用して、ファイアウォールのパブリック IP アドレスとポートをプライベート IP アドレスとポートに変換できます。 DNAT ルールは、変換されたトラフィックを許可するための対応するネットワーク ルールを暗黙的に追加します。 セキュリティ上の理由から、ネットワークへの DNAT アクセスを許可する特定のソースを追加し、ワイルドカードは使用しないことをお勧めします。 Azure Firewall ルール処理ロジックの詳細については、「Azure Firewall ルール処理ロジック」を参照してください。
このチュートリアルでは、DNAT を使用して Web サーバーを公開する方法について説明します。
このチュートリアルでは、以下の内容を学習します。
- テスト ネットワーク環境を設定する
- ファイアウォールとポリシーをデプロイする
- 既定のルートを作成する
- Web サーバーのデプロイと構成
- Web サーバーを発行するように DNAT ルールを構成する
- ファイアウォールをテストする
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
リソース グループを作成する
- Azure portal にサインインします。
- Azure portal のホーム ページで [リソース グループ] を選択し、 [追加] を選択します。
- [サブスクリプション] で、ご使用のサブスクリプションを選択します。
- [リソース グループ名] に「RG-DNAT-Test」と入力します。
- [リージョン] でリージョンを選択します。 作成する他のすべてのリソースも、同じリージョン内のものである必要があります。
- [Review + create](レビュー + 作成) を選択します。
- [作成] を選択します
ネットワーク環境を設定する
このチュートリアルでは、2 つのピアリングされた VNet を作成します。
- VN-Hub - ファイアウォールはこの VNet 内にあります。
- VN-Spoke - ワークロード サーバーはこの VNet 内にあります。
最初に VNet を作成し、次にそれらをピアリングします。
ハブ VNet を作成する
Azure portal のホーム ページで、 [すべてのサービス] を選択します。
[ネットワーク] で、 [仮想ネットワーク] を選択します。
[追加] を選択します。
[リソース グループ] で、 [RG-DNAT-Test] を選択します。
[名前] に「VN-Hub」と入力します。
[リージョン] で、前に使用したのと同じリージョンを選択します。
次へ:[次へ: IP アドレス] を選択します。
[IPv4 アドレス空間] には、既定値の 10.0.0.0/16 をそのまま使用します。
[サブネット名] で、 [default](既定) を選択します。
[サブネット名] を編集し、「AzureFirewallSubnet」と入力します。
ファイアウォールはこのサブネットに配置されます。サブネット名は AzureFirewallSubnet でなければなりません。
注
AzureFirewallSubnet サブネットのサイズは /26 です。 サブネットのサイズの詳細については、「Azure Firewall に関する FAQ」を参照してください。
[サブネット アドレス範囲] に「10.0.1.0/26」と入力します。
[保存] を選択します。
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
スポーク VNet を作成する
- Azure portal のホーム ページで、 [すべてのサービス] を選択します。
- [ネットワーク] で、 [仮想ネットワーク] を選択します。
- [追加] を選択します。
- [リソース グループ] で、 [RG-DNAT-Test] を選択します。
- [名前] に「VN-Spoke」と入力します。
- [リージョン] で、前に使用したのと同じリージョンを選択します。
- 次へ:[次へ: IP アドレス] を選択します。
- [IPv4 アドレス空間] で、既定値を編集し、 「192.168.0.0/16」と入力します。
- [サブネットの追加] を選択します。
- [サブネット名] に「SN-Workload」と入力します。
- [サブネット アドレス範囲] に「192.168.1.0/24」と入力します。
- [追加] を選択します。
- [Review + create](レビュー + 作成) を選択します。
- [作成] を選択します
VNet をピアリングする
次に、2 つの VNet をピアリングします。
- VN-Hub 仮想ネットワークを選択します。
- [設定] で [ピアリング] を選択します。
- [追加] を選択します。
- [この仮想ネットワーク] の [ピアリング リンク名] に「Peer-HubSpoke」と入力します。
- [リモート仮想ネットワーク] の [ピアリング リンク名] に「Peer-SpokeHub」と入力します。
- 仮想ネットワークとして [VN-Spoke] を選択します。
- 他のすべての既定値をそのまま使用し、 [追加] を選択します。
仮想マシンの作成
ワークロード仮想マシンを作成して、SN-Workload サブネットに配置します。
- Azure portal メニューから [リソースの作成] を選択します。
- [ 人気] で、[ Ubuntu Server 22.04 LTS] を選択します。
基本操作
- [サブスクリプション] で、ご使用のサブスクリプションを選択します。
- [リソース グループ] で、 [RG-DNAT-Test] を選択します。
- [仮想マシン名] に「Srv-Workload」と入力します。
- [リージョン] で、以前使用したのと同じ場所を選択します。
- [イメージ] で、Ubuntu Server 22.04 LTS - x64 Gen2 を選択します。
- サイズでStandard_B2sを選択します。
- [認証の種類] で、[SSH 公開キー] を選択します。
- [ Username]\(ユーザー名\) に 「azureuser」と入力します。
- SSH 公開キー ソースの場合は、[新しいキー ペアの生成] を選択します。
- [キー ペア名] に「Srv-Workload_key」と入力します。
- [パブリック受信ポート] で [なし] を選択します。
- ディスク を選択します。
ディスク
- ネットワーク を選択します。
ネットワーク
- [仮想ネットワーク] で [VN-Spoke] を選択します。
- [サブネット] で、 [SN-Workload] を選択します。
- [パブリック IP] で、 [なし] を選択します。
- [パブリック受信ポート] で [なし] を選択します。
- 他の設定については既定値のままにし、 [次へ: 管理] を選択します。
管理
- [次へ: 監視] を選択します。
監視
- [起動の診断] で、 [Disable](無効) を選択します。
- [確認および作成] を選択します。
[確認および作成]
概要を確認し、 [作成] を選択します。
- [ 新しいキー ペアの生成 ] ダイアログで、[ 秘密キーのダウンロードとリソースの作成] を選択します。 キー ファイルを Srv-Workload_key.pem として保存します。
デプロイが完了したら、仮想マシンのプライベート IP アドレスをメモしてください。 これは、後でファイアウォールを構成するときに使用します。 仮想マシンの名前を選択し、 [設定] で [ネットワーク] を選択して、プライベート IP アドレスを見つけます。
Web サーバーのインストール
Azure portal のコマンド実行機能を使用して、仮想マシンに Web サーバーをインストールします。
Azure portal で Srv-Workload 仮想マシンに移動します。
[ 操作] で、[ コマンドの実行] を選択します。
[ RunShellScript] を選択します。
[ コマンド スクリプトの実行 ] ウィンドウで、次のスクリプトを貼り付けます。
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[実行] を選択します。
スクリプトが完了するのを待ちます。 出力には、Nginx の正常なインストールが表示されます。
ファイアウォールとポリシーをデプロイする
ポータルのホーム ページから [リソースの作成] を選択します。
[ファイアウォール] を検索し、 [ファイアウォール] を選択します。
[作成] を選択します
[ファイアウォールの作成] ページで、次の表を使用してファイアウォールを構成します。
設定 値 サブスクリプション <該当するサブスクリプション> リソースグループ RG-DNAT-Test を選択します 名前 FW-DNAT-test リージョン 以前使用したのと同じ場所を選択します ファイアウォール管理 ファイアウォール ポリシーを使用してこのファイアウォールを管理する ファイアウォール ポリシー 新規追加:
fw-dnat-pol
選択したリージョン仮想ネットワークの選択 既存のものを使用: VN-Hub パブリック IP アドレス [新規追加] 、名前: fw-pip。 [ ファイアウォール管理 NIC を有効にする] の横にあるチェック ボックスをオフにします。
他の既定値をそのまま使用し、 [確認および作成] を選択します。
概要を確認し、 [作成] を選択してファイアウォールを作成します。
このデプロイには数分かかります。
デプロイが完了したら、RG-DNAT-Test リソース グループに移動し、FW-DNAT-test ファイアウォールを選択します。
ファイアウォールのプライベートおよびパブリック IP アドレスをメモします。 これらは、後で既定のルートと NAT ルールを作成するときに使用します。
既定のルートを作成する
SN-Workload サブネットで、送信の既定ルートがファイアウォールを通過するように構成します。
重要
宛先サブネットでファイアウォールに戻る明示的なルートを構成する必要はありません。 Azure Firewall はステートフル サービスであり、パケットとセッションは自動的に処理されます。 このルートを作成すると、ステートフル セッション ロジックが中断され、パケットと接続が切断される非対称ルーティング環境が作成されます。
Azure portal のホーム ページで、 [すべてのサービス] を選択します。
[ネットワーク] で、 [ルート テーブル] を選択します。
[追加] を選択します。
[サブスクリプション] で、ご使用のサブスクリプションを選択します。
[リソース グループ] で、 [RG-DNAT-Test] を選択します。
[リージョン] で、前に使用したのと同じリージョンを選択します。
[名前] に「RT-FW-route」と入力します。
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
[リソースに移動] を選択します。
[サブネット] を選択し、 [関連付け] を選択します。
[仮想ネットワーク] で [VN-Spoke] を選択します。
[サブネット] で、 [SN-Workload] を選択します。
[OK] を選択します。
[ルート] 、 [追加] の順に選択します。
[ルート名] に「fw-dg」と入力します。
[アドレス プレフィックス] に「0.0.0.0/0」と入力します。
[次ホップの種類] で、 [仮想アプライアンス] を選択します。
Azure Firewall は実際はマネージド サービスですが、この状況では仮想アプライアンスが動作します。
[次ホップ アドレス] に、前にメモしておいたファイアウォールのプライベート IP アドレスを入力します。
[OK] を選択します。
DNAT ルールを構成する
この規則では、インターネットからの受信 HTTP トラフィックがファイアウォールを介して Web サーバーに到達することを許可します。
- RG-DNAT-Test リソース グループを開き、fw-dnat-pol ファイアウォール ポリシーを選択します。
- [設定] で、 [DNAT rules](DNAT ルール) を選択します。
- [規則コレクションの追加] を選択します。
- [名前] に「web-access」と入力します。
- [優先度] に「200」と入力します。
- [規則コレクション グループ] で、DefaultDnatRuleCollectionGroup を選択します。
- [ ルール] の [ 名前] に 「http-dnat」と入力します。
- [Source type](送信元の種類) で、 [IP アドレス] を選択します。
- [ソース] に「*」と入力して、任意のソースからのトラフィックを許可します。
- [プロトコル] で [TCP] を選択します。
- [宛先ポート] に「80」と入力します。
- [送信先の種類] で [IP アドレス] を選択します。
- [ 宛先] に、ファイアウォールのパブリック IP アドレスを入力します。
- [変換されたアドレス] に、Srv-Workload のプライベート IP アドレスを入力します。
- [変換されたポート] に「80」と入力します。
- [追加] を選択します。
ファイアウォールをテストする
次に、DNAT 規則をテストして、Web サーバーがファイアウォール経由でアクセス可能であることを確認します。
- Web ブラウザーを開きます。
-
http://<firewall-public-ip>に移動します (前にメモしたファイアウォールのパブリック IP アドレスを使用します)。 - Web ページが表示されます。 Azure Firewall DNAT デモ - Srv-Workload
DNAT ルールは、ファイアウォールのパブリック IP アドレスに対する受信 HTTP 要求を Web サーバーのプライベート IP アドレスに正常に変換します。 これは、バックエンド サーバーをプライベート サブネットに保持しながら、Azure Firewall DNAT を使用して Web アプリケーションを発行する方法を示しています。
リソースのクリーンアップ
次のチュートリアルのためにファイアウォール リソースを残しておくことができます。不要であれば、RG-DNAT-Test リソース グループを削除して、ファイアウォール関連のすべてのリソースを削除します。
次のステップ
重複するネットワークまたはルーティング不可能なネットワーク アクセスを含む高度な DNAT シナリオについては、次を参照してください。