Azure Virtual Desktop でのカスタム イメージ テンプレートのトラブルシューティング

Azure Virtual Desktop のカスタム イメージ テンプレートを使用すると、セッション ホスト仮想マシン (VM) をデプロイするときに使用できるカスタム イメージを簡単に作成できます。 この記事は、発生する可能性のあるいくつかの問題のトラブルシューティングに役立ちます。

イメージ作成時の一般的なトラブルシューティング

Azure Image Builder では、Hashicorp Packer を使用してイメージを作成します。 Packer では、すべてのログ エントリが、customization.log という名前のファイルに出力されます。 既定では、このファイルは、名前付け規則 IT_<ResourceGroupName>_<TemplateName>_<GUID>を使用して Azure Image Builder によって自動的に作成されたリソース グループにあります。 この名前付けは、テンプレート作成フェーズで独自の名前を指定することでオーバーライドできます。

このリソース グループには、packerlogs という名前の BLOB コンテナーを持つストレージ アカウントがあります。 コンテナーには、その中からログ ファイルを見つけることができる、GUID で名前が指定されたフォルダーがあります。 イメージのカスタマイズに使用する組み込みスクリプトのエントリは、スクリプトに関連するエラーを見つけるのに役立つように、Starting AVD AIB Customization: {Script name}: {Timestamp} で始まります。

Azure Image Builder ログを解釈する方法については、「Azure VM Image Builder のトラブルシューティング」 を参照してください。

重要

Microsoft サポートでは、お客様が作成したスクリプトや、Microsoft リポジトリからコピーして変更したスクリプトやテンプレートに関する問題は処理しません。 問題を開くことができる GitHub リポジトリで、これらのツールを共同で改善することが推奨されます。 詳細については、顧客およびサード パーティのスクリプトをサポートしない理由に関する記事を参照してください。

リソース グループは空である必要がある

Azure Image Builder で使用する独自のリソース グループを指定する場合、イメージのビルドが開始される前に、空である必要があります。 つまり、この目的で既存のリソース グループを再利用する場合は、その中のすべてのリソースを削除する必要があります。 または、これらの項目を保持する必要がある場合は、テンプレート作成のビルド プロパティのタブで別の新しいリソース グループを指定できます。

スクリプトが使用できない

Resource <URI> is unavailable. Please check the file exists, and that Image Builder can access it (リソース を使用できません。ファイルが存在すること、および Image Builder からアクセスできることを確認してください) というメッセージが表示された場合、スクリプトの URI (Uniform Resource Identifier) を確認してください。 これは、GitHub や Web サービスなど、一般公開されている場所である必要があります。

Validation failed: Error with Hyper-V Version validation (cross-generation for multiple Hyper-V Versions is not supported). The provided SIG: <Resource ID> has a different Hyper-V Generation <version> than source image <version> (検証に失敗しました: Hyper-V バージョン検証のエラー (複数の Hyper-V バージョンの世代をまたぐことはサポートされていません)。提供される SIG: <リソース ID> にはソース イメージ <バージョン> とは異なる Hyper-V 世代 <バージョン> があります) というメッセージが表示された場合、ソース イメージの世代が、Azure Compute Gallery VM イメージ定義に指定した世代と同じであることを確認します。

ソース イメージの世代は、使用するイメージを選択したときに表示されます。 VM イメージ定義の世代は、Azure portal か、Azure CLI で az sig image-definition list 参照コマンドを使用するか 、または PowerShell で Get-AzGalleryImageDefinition コマンドレットを使用して確認できます。

特定のサブネットに対して PrivateLinkService ネットワーク ポリシーが無効になっていない

PrivateLinkService Network Policy is not disabled for the given subnet (特定のサブネットに対して PrivateLinkService ネットワーク ポリシーが無効になっていません) で始まるエラー メッセージが表示される場合は、サブネットの "プライベート サービス ポリシー" を無効にする必要があります。 詳細については、「サブネットでプライベート サービス ポリシーを無効にする」を参照してください。

Microsoft Store アプリの削除

Microsoft Store アプリの削除またはアンインストールはサポートされていません。 Microsoft Store へのアクセスを構成する方法について説明します。

Windows 10 イメージで追加言語をインストールできない (有効にならない) 問題

Install-Language PowerShell コマンドレットを使用するカスタム イメージ テンプレートにより言語を追加できます。 Windows 10 Enterprise と Windows 10 Enterprise のマルチセッション イメージで追加言語をインストールできない (有効にならない) 問題があるときは次を確認してください。

  • イメージでグループ ポリシーにより言語パックのインストールを無効にしていない。 このポリシー設定は次の場所にあります。

    • [コンピューターの構成]>[管理用テンプレート]>[コントロール パネル]>[地域と言語のオプション]>[言語パックと言語機能のインストールを制限する]

    • [ユーザーの構成]>[管理用テンプレート]>[コントロール パネル]>[地域と言語のオプション]>[言語パックと言語機能のインストールを制限する]

  • セッション ホストは Windows Update に接続し、言語と最新の累積更新プログラムをダウンロードできます。

トラステッド起動または機密 VM はサポートされていますか?

カスタム イメージ テンプレートは Azure Image Builder に基づいているため、トラステッド起動または機密 VM のサポートは継承されます。 詳細については、「機密 VM とトラステッド起動のサポート」を参照してください。