AVD環境でセッションホスト作成時にエラーが発生して詰まったことがあったので、その原因と対処方法についてまとめました。
発生したエラー
ホストプールからセッションホストを作成しようとしたところ、デプロイ時に以下のようなエラーが起きました。
・エラーの詳細
拡張機能 'Microsoft.PowerShell.DSC' (発行元 'Microsoft.Powershell' および種類 'DSC') の処理中に VM から失敗が報告されました。エラー メッセージ: 'The DSC Extension failed to execute: Error downloading https://wvdportalstorageblob.blob.core.windows.net/galleryartifacts/Configuration_1.0.02774.414.zip after 17 attempts: Unable to connect to the remote server.
More information about the failure can be found in the logs located under 'C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\2.83.5' on the VM.'。トラブルシューティングの詳細については、https://aka.ms/VMExtensionDSCWindowsTroubleshoot を参照してください。 (コード: VMExtensionProvisioningError)
「エラーの種類」に記載されている内容を見ると、以下のMicrosoftの公式ドキュメントの記載に一致していました。
Azure Virtual Desktop 環境のホスト プールの作成 - Azure
Azure Virtual Desktop 環境のセットアップ中にテナントとホスト プールの問題をトラブルシューティングおよび解決する方法。
このドキュメントを見ると、拡張機能の構成に必要なファイルがダウンロードできないからNSGやFW設定を見直してください、と記載されています。
原因
エラーログの中身を見ると仮想マシン内に詳細なログが格納されていると記載されているため、
More information about the failure can be found in the logs located under 'C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\2.83.5' on the VM.'
このログを確認してみようと仮想マシンにパブリックIPを付与しようとして気づきましたが、パブリックIPが付与されていないため、インターネットにアクセスできないことが原因でした。
パブリックIPが付与されていない仮想マシンはインターネット接続できないことは以下の記事でも確認しています。
確かにこのエラーが出た時の構成では、セッションホストがデプロイされるVnetにはNATゲートウェイなどは無く、仮想マシンがインターネット接続する際に利用するパブリックIPが無い状態でした。
解決策
インターネットに出ていくためのパブリックIPがあればよいので、今回は簡単にサブネットにNATゲートウェイをデプロイしてみました。
以下のようにサブネットに対してNATゲートウェイを紐づけた状態にします。
この状態でホストプールをデプロイすると、デプロイに成功しました。
この他にもAzureFirewallなどをデプロイして仮想マシンからインターネットアクセス可能な状態にさせることも可能です。