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 で使用する独自のリソース グループを指定する場合は、イメージビルドが開始される前に空である必要があります。 つまり、この目的で既存のリソース グループを再利用する場合は、その中のすべてのリソースを削除するだけで済みます。 または、これらの項目を保持する必要がある場合は、テンプレート作成の [ビルド プロパティ] タブで別の新しいリソース グループを指定できます。
スクリプトが使用できない
次のメッセージが表示される場合があります。
リソース <URI> は使用できません。 ファイルが存在し、Image Builder がアクセスできることを確認してください。
スクリプトの URI (Uniform Resource Identifier) を確認します。 これは、GitHub や Web サービスなど、一般公開されている場所である必要があります。
Azure Compute Gallery VM イメージ定義の世代の不一致
次のメッセージが表示される場合があります。
検証に失敗しました: Hyper-V バージョン検証でエラーが発生しました (複数の Hyper-V バージョンのクロスジェネレーションはサポートされていません)。 提供される SIG: <Resource ID> には、ソース イメージの<バージョン>とは異なる Hyper-V 生成<バージョン>があります。
ソース イメージの生成が、Azure コンピューティング ギャラリーの VM イメージ定義に指定した世代と同じであることを確認します。
ソース イメージの世代は、使用するイメージを選択したときに表示されます。 VM イメージ定義の世代は、Azure portal か、Azure CLI で az sig image-definition list 参照コマンドを使用するか 、または PowerShell で Get-AzGalleryImageDefinition コマンドレットを使用して確認できます。
特定のサブネットに対して PrivateLinkService ネットワーク ポリシーが無効になっていない
"PrivateLinkService ネットワーク ポリシーが特定のサブネットで無効になっていません" というエラー メッセージが表示される場合は、サブネットのプライベート サービス ポリシーを無効にする必要があります。 詳細については、「サブネットでプライベート サービス ポリシーを無効にする」を参照してください。
Windows 10 イメージでの他の言語のインストールまたは有効化に関する問題
その他の言語は、 Install-Language PowerShell コマンドレットを使用するカスタム イメージ テンプレートによって追加できます。 Windows 10 Enterprise および Windows 10 Enterprise マルチセッション イメージでの他の言語のインストールまたは有効化に問題がある場合は、次のことを確認してください。
イメージでグループ ポリシーにより言語パックのインストールを無効にしていない。 このポリシー設定は次の場所にあります。
[コンピューターの構成]>[管理用テンプレート]>[コントロール パネル]>[地域と言語のオプション]>[言語パックと言語機能のインストールを制限する]
[ユーザーの構成]>[管理用テンプレート]>[コントロール パネル]>[地域と言語のオプション]>[言語パックと言語機能のインストールを制限する]
セッション ホストは Windows Update に接続して、言語と最新の累積的な更新プログラムをダウンロードできます。
Azure portal の [ソース イメージ] タブから進めない
Azure portal でカスタム イメージ テンプレートを作成するときに、ソースの種類として Azure Compute Gallery を選択した場合、[ソース イメージ] タブから作業を進めることができない場合があります。 タブ名の横に赤い X が表示されます。 回避策として、 Previous を選択して Basics タブに戻り、 Next を選択して Source image タブに戻ります。これで次のタブに進めるようになり、タブ名の横に緑色のチェック マークが表示されます。
Azure Container Groups 操作中に承認エラーが発生しました
カスタム イメージ テンプレートでは、Azure Image Builder への依存関係のため、サブスクリプションに登録されている Microsoft.ContainerInstance
リソース プロバイダーが必要です。 エラー
オブジェクト ID が '<GUID>' のクライアント '<GUID>' には、スコープ '/subscriptions/< サブスクリプション ID>' に対してアクション 'Microsoft.ContainerInstance/register/action' を実行する権限がありません。または、スコープが無効です。
サブスクリプションに Microsoft.ContainerInstance
リソース プロバイダーを登録する必要があります。 そのリソース プロバイダーを登録したら、もう一度アクションをお試しください。 登録状態を確認する方法と、必要に応じて登録する方法の詳細については、「 Azure リソース プロバイダーと種類を参照してください。