Azure Virtual Desktop でのカスタム イメージ テンプレート

Azure Virtual Desktop のカスタム イメージ テンプレートを使用すると、セッション ホスト仮想マシン (VM) をデプロイするときに使用できるカスタム イメージを簡単に作成できます。 カスタム イメージを使用すると、組織のセッション ホスト VM の構成を標準化するのに役立ちます。 カスタム イメージ テンプレートは Azure Image Builder 上に作成され、Azure Virtual Desktop に合わせて調整されます。

作成プロセス

カスタム イメージの作成は 2 つの部分で構成されます。

  1. 結果のイメージに含める内容を定義するカスタム イメージ テンプレートを作成します。

  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 サービスなどの一般公開されている場所にホストされている限り、独自のカスタム スクリプトをテンプレートに追加することもできます。 ビルドの期間を指定する必要があるため、スクリプトの完了に十分な時間を設定してください。 組み込みのスクリプトには、必要に応じて再起動が含まれます。

カスタム イメージ テンプレートに追加できる組み込みスクリプトのいくつかの例を次に示します。

カスタム イメージが作成されて配布されるとき、Azure Image Builder ではユーザー割り当てマネージド ID が使用されます。 Azure Image Builder ではこのマネージド ID を使用して、サブスクリプション内にいくつかのリソース (リソース グループ、イメージのビルドに使用される VM、Key Vault、ストレージ アカウントなど) を作成します。 VM には、組み込みのスクリプトまたは追加した独自のスクリプトをダウンロードするためのインターネット アクセスが必要です。 組み込みのスクリプトは、https://github.com/Azure/RDS-TemplatesRDS-templates GitHub リポジトリに格納されています。

VM を既存の仮想ネットワークとサブネットに接続するかどうかを選択できます。これにより、その仮想ネットワークで使用できる他のリソースに VM がアクセスできるようになります。 既存の仮想ネットワークを指定しない場合、VM で使用するために一時的な仮想ネットワーク、サブネット、パブリック IP アドレスが作成されます。 ネットワーク オプションの詳細については、「Azure VM Image Builder のネットワーク オプション」をご覧ください。

リソース

リソース グループは、カスタム イメージ テンプレートが作成されるときに作成されます。 既定の名前は IT_<ResourceGroupName>_<TemplateName>_<GUID> 形式であり、ビルド中に必要なリソースが格納されます。 これらのリソースのほとんどは一時的なもので、ストレージ アカウント以外はビルドの完了後に削除されます。

ストレージ アカウントでは、最大 3 つのコンテナーが作成されます。

  • shell は、カスタム イメージ テンプレートにカスタマイズ スクリプトを含める場合に、カスタマイズ スクリプトが格納される場所です。

  • packerlogs には、GUID を使用した名前のフォルダーが 1 つ以上含まれ、そのフォルダーには customization.log という名前のファイルが格納されます。 このファイルには、Azure Image Builder で使用される Hashicorp Packer サービスからの出力がすべて含まれています。 これらの出力は、進行状況、エラー、完了状態を確認するためにいつでもダウンロードできます。

  • vhds には、結果の仮想ハード ディスク (VHD) ファイルが、マネージド イメージまたは Azure Compute Gallery に格納される前に一時的に格納されます。

ログが不要な場合は、カスタム イメージが正常に作成された後に、テンプレートに関連付けられているリソース グループ IT_<ResourceGroupName>_<TemplateName>_<GUID> を削除できます。 このリソース グループは、イメージを格納しているリソース グループを削除した場合も削除されます。

次の手順