Azure Virtual Desktop のカスタム イメージ テンプレートを使用すると、セッション ホスト仮想マシン (VM) をデプロイするときに使用できるカスタム イメージを簡単に作成できます。 カスタム イメージを使用すると、organizationのセッション ホスト VM の構成を標準化するのに役立ちます。 カスタム イメージ テンプレートは Azure Image Builder 上に構築され、Azure Virtual Desktop 用に調整されています。
作成プロセス
カスタム イメージを作成するには、次の 2 つの部分があります。
結果のイメージに含める内容を定義するカスタム イメージ テンプレートを作成します。
テンプレートを Azure Image Builder に送信して、そのカスタム イメージ テンプレートからイメージをビルドします。
カスタム イメージ テンプレートは、ソース イメージ、配布ターゲット、ビルド プロパティ、カスタマイズの選択肢を含む JSON ファイルです。 Azure Image Builder では、このテンプレートを使用してカスタム イメージを作成します。このイメージは、ホスト プールの作成時または更新時にセッション ホストのソース イメージとして使用できます。 イメージを作成するときに、Azure Image Builder は sysprep を使用してイメージを一般化する処理も行います。
カスタム イメージは、 Azure Compute Gallery に格納することも、 マネージド イメージ として格納することも、両方として保存することもできます。 Azure Compute Gallery を使用すると、カスタム イメージのリージョンレプリケーション、バージョン管理、共有を管理できます。 マネージド イメージの制限事項を確認するには、「 Azure で一般化された VM のレガシ マネージド イメージを作成 する」を参照してください。
ソース イメージは Azure Virtual Desktop でサポートされている 必要があり、次の場所から使用できます。
- Azure Marketplace。
- 既存の Azure Compute Gallery 共有イメージ。
- 既存のマネージド イメージ。
- 既存のカスタム イメージ テンプレート。
Azure Virtual Desktop を使用するときに最も一般的な機能と設定の一部を構成する、使用できる組み込みスクリプトがいくつか追加されました。 GitHub や Web サービスなど、一般公開されている場所でホストされている限り、独自のカスタム スクリプトをテンプレートに追加することもできます。 ビルドの期間を指定する必要があるため、スクリプトの完了に十分な時間を設定してください。 組み込みのスクリプトには、必要に応じて再起動が含まれます。
カスタム イメージ テンプレートに追加できる組み込みスクリプトの例を次に示します。
- 言語パックをインストールします。
- オペレーティング システムの既定の言語を設定します。
- タイム ゾーン リダイレクトを有効にします。
- ストレージ センサーを無効にします。
- FSLogix をインストールし、プロファイル コンテナーを構成します。
- Kerberos で FSLogix を有効にします。
- マネージド ネットワークの RDP Shortpath を有効にします。
- 画面キャプチャ保護を有効にします。
- Teams の最適化を構成します。 最適化には、WebRTC リダイレクター サービスとVisual C++ 再頒布可能パッケージが含まれます。
- セッション タイムアウトを構成します。
- MSIX アプリケーションの自動更新を無効にします。
- Microsoft Office アプリケーションを追加または削除します。
- Windows Updatesを適用します。
カスタム イメージを作成して配布する場合、Azure Image Builder はユーザー割り当てマネージド ID を使用します。 Azure Image Builder では、このマネージド ID を使用して、リソース グループ、イメージのビルドに使用される VM、Key Vault、ストレージ アカウントなど、サブスクリプション内にいくつかのリソースを作成します。 VM には、追加した組み込みスクリプトまたは独自のスクリプトをダウンロードするためのインターネット アクセスが必要です。 組み込みのスクリプトは、https://github.com/Azure/RDS-Templatesの RDS-templates GitHub リポジトリに格納されます。
VM を既存の仮想ネットワークとサブネットに接続するかどうかを選択できます。これにより、その仮想ネットワークで使用可能な他のリソースに VM がアクセスできるようになります。 既存の仮想ネットワークを指定しない場合は、VM で使用するために一時的な仮想ネットワーク、サブネット、パブリック IP アドレスが作成されます。 ネットワーク オプションの詳細については、「 Azure VM Image Builder のネットワーク オプション」を参照してください。
リソース
カスタム イメージ テンプレートの作成時にリソース グループが作成されます。 既定の名前は IT_<ResourceGroupName>_<TemplateName>_<GUID>
形式であり、ビルド中に必要なリソースが格納されます。 これらのリソースのほとんどは一時的なもので、ストレージ アカウントを除き、ビルドの完了後に削除されます。
ストレージ アカウントでは、最大 3 つのコンテナーが作成されます。
シェル は、カスタム イメージ テンプレートにカスタマイズ スクリプトを含める場合に、カスタマイズ スクリプトが格納される場所です。
packerlogs には、guid という名前の 1 つ以上のフォルダーがあり、 customization.logというファイルが含まれています。 このファイルには、Azure Image Builder で使用される Hashicorp Packer サービスからの出力がすべて含まれています。 これらの出力はいつでもダウンロードして、進行状況、エラー、完了状態を確認できます。
vhds は 、マネージド イメージまたは Azure Compute Gallery に格納される前に、結果として得られる仮想ハード ディスク (VHD) ファイルを一時的に格納します。
テンプレートに関連付けられているリソース グループ IT_<ResourceGroupName>_<TemplateName>_<GUID>
は、カスタム イメージが正常に作成された後に削除できます。ログは不要です。 イメージを含むリソース グループを削除すると、リソース グループも削除されます。