次の方法で共有


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 サービスなど、一般公開されている場所である必要があります。

次のメッセージが表示される場合があります。

検証に失敗しました: 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 リソース プロバイダーと種類を参照してください。