演習 - Azure Firewall 経由でネットワーク トラフィックをルーティングする
前の演習では、Azure Firewall をデプロイしました。 ここで、すべてのネットワーク トラフィックをファイアウォール経由でルーティングし、ファイアウォール規則を使用してトラフィックをフィルター処理する必要があります。 完了すると、Azure Firewall によって Azure Virtual Desktop の送信ネットワーク トラフィックが保護されます。
すべてのトラフィックをファイアウォール経由でルーティングする
ホスト プールが使用するサブネットの場合は、ファイアウォールを通過するように送信の既定のルートを構成します。 次の 3 つの手順を完了します。
- ホスト プールの VM およびファイアウォールと同じリソース グループにルート テーブルを作成します。
- ルート テーブルを、ホスト プール VM が使用するサブネットに関連付けます。
- ルート テーブルで、ファイアウォールにルートを追加します。
これらの手順を完了すると、すべてのトラフィックが Azure Firewall にルーティングされます。
ルート テーブルを作成する
まず、 firewall-route という名前のルート テーブルを作成します。
Azure portal で、ルート テーブルを検索して選択します。
[ + 作成] を選択します。
次の値を使用します。
フィールド 価値 サブスクリプション あなたのサブスクリプション リソースグループ learn-firewall-rg リージョン 以前使用したのと同じ場所を選択します。 名前 firewall-route
[確認と作成]を選択し>。
デプロイが完了したら、[ リソースに移動] を選択します。
ワークロードのサブネットにルート テーブルを関連付ける
次に、 ファイアウォール ルート をホスト プールのサブネットに関連付けます。
ファイアウォール ルートで、[設定] で [サブネット] を選択します。
[+ 関連付け] を選択します。
次の値を選択します。
フィールド 価値 仮想ネットワーク ホスト仮想ネットワーク (hostVNet) サブネット hostSubnet [ OK] を 選択し、関連付けが追加されるまで待ちます。
ルートをルートテーブルに追加する
最後の手順では、ルート テーブルの Azure Firewall にルートを追加します。 この手順を完了すると、ホスト プール仮想ネットワーク上のすべてのネットワーク トラフィックが Azure Firewall を経由してルーティングされます。
設定でルートを選択します。
[+ 追加] を選択します。
次の値を入力します。
フィールド 価値 ルート名 fw-rt 宛先の種類 IP アドレス 宛先 IP アドレス/CIDR 範囲 0.0.0.0/0 次ホップの種類 仮想アプライアンス ネクストホップ アドレス 前の演習ユニットの ファイアウォールプライベート IP アドレス を貼り付けます。 これは、ファイアウォール プライベート IP として一覧表示されている [ファイアウォール] ページにあります。
[追加]を選択します。
アプリケーション ルール コレクションを作成する
既定では、ファイアウォールではすべてのアクセスが拒否されるため、ファイアウォール経由でトラフィックが許可される条件を構成する必要があります。
複数の完全修飾ドメイン名 (FQDN) への Azure Virtual Desktop アクセスを許可する規則を含むアプリケーション 規則コレクションを作成します。
Azure portal で、ファイアウォールを検索して選択 します。
learn-fw ファイアウォールを選択します。
[ 設定] で、[ ルール (クラシック)] を選択します。
[ アプリケーション ルール コレクション ] タブを選択し、[ アプリケーション ルール コレクションの追加] を選択します。
次の情報を入力してください。
フィールド 価値 名前 app-coll01 優先順位 200 アクション 許可する [ ルール] の [ FQDN タグ ] セクションで、次の情報を入力します。
フィールド 価値 名前 仮想デスクトップを許可する ソースの種類 IP アドレス 情報源 hostVNet のアドレス空間 (10.0.0.0/16 など) FQDN タグ Windows Virtual Desktop [ ルール] の [ ターゲット FQDN ] セクションで、次の情報を入力します。
フィールド 価値 名前 allow-storage-service-bus-accounts ソースの種類 IP アドレス 情報源 hostVNet のアドレス空間 (10.0.0.0/16 など) プロトコル:ポート https ターゲットの FQDN *xt.blob.core.windows.net、*eh.servicebus.windows.net、*xt.table.core.windows.net完了すると、フォームは次の図のようになります。
[追加]を選択します。
ネットワーク ルール コレクションを作成する
このシナリオでは Microsoft Entra Domain Services (Microsoft Entra Domain Services) を使用しているため、DNS を許可するネットワーク ルールを作成する必要がないとします。 ただし、Azure Virtual Desktop VM から Windows ライセンス認証サービスへのトラフィックを許可するルールを作成する必要があります。 キー管理サービス (KMS) を許可するネットワーク規則では、Azure グローバル クラウドの KMS サーバーの宛先 IP アドレスを使用します。
learn-fw>Rules (クラシック) で、[ネットワーク ルール コレクション] を選択します。
[ ネットワーク ルール コレクション ] タブを選択し、[ ネットワーク ルール コレクションの追加] を選択します。
次の情報を入力してください。
フィールド 価値 名前 net-coll01 優先順位 200 アクション 許可する [ ルール] の [ IP アドレス] セクションで、次の情報を入力します。
フィールド 価値 名前 allow-kms プロトコル TCP ソースの種類 IP アドレス 情報源 hostVNet のアドレス空間 (10.0.0.0/16 など) 宛先の種類 IP アドレス 宛先アドレス 23.102.135.246 宛先ポート 1688 完了すると、フォームは次の画像のようになります。
[追加]を選択します。
作業を確認する
この時点で、Azure Virtual Desktop のすべてのネットワーク トラフィックをファイアウォール経由でルーティングしました。 ファイアウォールが期待どおりに動作していることを確認しましょう。 ホスト プールからの送信ネットワーク トラフィックは、ファイアウォールを介して Azure Virtual Desktop サービスにフィルター処理する必要があります。 サービス コンポーネントの状態を確認することで、ファイアウォールでサービスへのトラフィックが許可されていることを確認できます。
Azure Cloud Shell で、次のコマンドを実行します。
"rdgateway", "rdbroker","rdweb"|% ` {Invoke-RestMethod -Method:Get ` -Uri https://$_.wvd.microsoft.com/api/health}|ft ` -Property Health,TimeStamp,ClusterUrl次のような結果が得られます。3 つのコンポーネント サービスすべてが正常として表示されます。
Health TimeStamp ClusterUrl ------ --------- ---------- RDGateway is Healthy 7/2/2021 6:00:00 PM https://rdgateway-c101-cac-r1.wvd.microsoft.com/ RDBroker is Healthy 7/2/2021 6:00:00 PM https://rdbroker-c100-cac-r1.wvd.microsoft.com/ RDWeb is Healthy 7/2/2021 6:00:00 PM https://rdweb-c100-cac-r1.wvd.microsoft.com/1 つ以上のコンポーネントが正常でない場合、ファイアウォールは想定どおりに動作しません。