UDR で WVD サービスタグが使えるようになった!

UDR で WVD サービスタグが使えるようになった!

Azure の UDR (ユーザー定義ルート) でサービスタグが使えるようになりました。執筆時点ではパブリックプレビューです。

Public preview: Service Tags for User Defined Routing | Azure の更新情報 | Microsoft Azure

UDR でサービスタグが使えるように

WVD ではパブリックに公開されたサービスに通信する必要がありますが、接続先は FQDN でのみ公開されているので L3 での経路制御は困難でした。UDR でサービスタグごとの経路を制御できるようになることで、Azure Firewall や NVA を導入しなくてもよくなるケースが出て来ます。

今までは CIDR 方式の記述にしか対応していなかったので、サービスのアドレス管理などを行うのが大変でした。代替案で Azure Firewall や 3rd パーティ NVA が持つ FQDN フィルタリング機能を用いて制御することがありました。 Azure サービス限定ですが、これからは特定サービスに関しての経路制御は非常に簡略化できます。

サービスタグに対応しているサービスは次の公開情報から確認できます。

Azure サービス タグの概要 | Microsoft Docs

設定は現時点では PowerShell, CLI, ARM テンプレートのみからできます。

使ってみる

ユーザー定義ルートのルート設定で次のように構成できます。この例では WVD-to-Internet という名前のルート設定で宛先に WVD のサービスタグを指定しています。

$rgName = <yourResourceGroupName>
$rtName = <yourRouteTableName>
$location = <azureRegion>

New-AzRouteTable -ResourceGroupName $rgName -Name $rtName -Location $location
$rt = Get-AzRouteTable -ResourceGroupName $rgName -Name $rtName

Add-AzRouteConfig -Name "WVD-to-Internet" -AddressPrefix "WindowsVirtualDesktop" -NextHopType "Internet" -RouteTable $rt

Set-AzRouteTable -RouteTable $rt

するとサービスタグを指定したルートが設定されます。Azure ポータルから確認はできますが、設定の更新は出来ないので注意してください。

デフォルトルートは Azure Firewall (10.10.0.132) を通過するようにしているので、許可していない通信はブロックされます。この状態で他に WVD で必要な FQDN のみ (WVD サービスタグ以外のもの) を許可しておきます。WVD で必要な FQDN は次の公開情報に記載があります。

Windows Virtual Desktop の必要な URL リスト – Azure | Microsoft Docs

WVD セッションホストのデプロイも通常通り完了します。

セッションホストにもアクセスできますが、他のサイト (Google や Bing) にはアクセス許可していないので Azure Firewall でブロックされます。

ご覧の通りサービスタグで WVD の通信のみインターネットに直接送信することができています。今回は Azure Firewall を使っていますが、オンプレのゲートウェイやプロキシーを使う際にも同様の方法で制御可能と思います。