はじめに
Private Link with Azure Virtual Desktopの検証してみていた時のことです。(Private Link自体触るのは初めて)
公式ドキュメントやブログを参考に進めていたのですが、中々うまくいかなかった時の体験を記事にしました。
前提
ネットワーク
プライベートIPで接続
ADサーバ
Entra IDについては
Azure上にADサーバを立てて、Entra Connectしました
AVDデプロイ
Private Link 設定をしてみる
上記を元に設定したものの、アプリからアクセス出来ないと言われました。
そこで、該当のFQDNが名前解決されているかをプライベートdnsのレコード一覧から調べて手元のPCからコマンドプロンプトnslookupで確認。
何故かプライベートIPでなく、パブリックIPに名前解決されていました。
#DNS問題を解決する
AVDのドキュメントをいくら見ても解決しそうになかったので、Private Linkを勉強していくと下記を発見
簡潔にまとめると下記のような感じです。
・ Azure DNSで名前解決する必要がある
・ Azure DNSはAzure上からのリクエストにしか応答しない
・ オンプレからAzureDNSに名前解決してほしいならAzure上にDNSフォワーダが必要
ということで、DNSフォワーダが無かったのでうまくいかなかったようです。
私の場合はAzure上にADサーバがあったので、手元のPCのDNSをAzure上にADサーバにして、ADからAzure DNSへフォワードさせることでうまくいきました。
無事、AVDの設定からパブリックルートを閉じて仮想デスクトップが表示されました!
補足
手元のPC⇒Azureのvnetの通信がうまくいかない場合
コマンドプロンプトで「route print」して、ルートテーブルを確認後
ルーティングを追加しないと疎通できない場合があります。
ルーティング追加コマンド
route <オプション> add <宛先> mask <ネットマスク> <ゲートウェイ>
例:route -p add 10.10.10.0 mask 255.255.255.0 192.168.0.1
※-pはPCをシャットダウンしてもルーティングが残るオプション
※add後はAzureのVnetサブネットを指定することになります。