アドベントカレンダー初参戦です!(1日遅れました。。)
Microsoft Azure Techのカレンダー | Advent Calendar 2022 - Qiita
今回は Azure VM のイメージを作成する Azure Image Builder で日本語化したイメージを作成します
Azure Image Builder とは
Azure Image Builder は名前の通りイメージを作成するサービスです通常のイメージ作成の手順は以下の通りです
- VM を作成
- 必要な設定を行う
- sysprep で一般化
- Disk からイメージ作成
Azure Marketplace で提供されている OS イメージは英語 OS です
そのため Azure Virtual Desktop を日本語話者向けに提供する場合、日本語化したイメージを準備します
今回はこれを Image Builder で実装します
注意点
Windows 10/11 には今年の夏ごろに言語パックを PowerShell でインストールできるコマンドレットが追加されています
Install-Language (LanguagePackManagement) | Microsoft Learn
今回はそのコマンドレットを使用するため、LTSC や古いバージョンのOSだと実行できない可能性があります
手順
大まかな手順は以下の通りです
- リソースグループの作成
- Image を管理する Azure Compute Gallery の作成
- Image Builder で利用するマネージド ID の作成
- Image 作成のテンプレートの作成
- テンプレートの実行
実際の手順は PowerShell スクリプトを用意しました
azureimagebuilder/AVD at main · NakayamaKento/azureimagebuilder · GitHub
イメージを作る際のカスタマイズする内容は localize.json に記載しています
こちらの記事をベースにカスタムする内容を作成しました
AVD ARM 日本語化イメージ作成手順について - Windows 11 | Microsoft Japan Windows Technology Support Blog
Image builder テンプレートの書き方
Image Builder を実行するにはイメージ化に伴って実行するカスタム内容を記述する必要があります
これは json 形式で記述して、特に大事なのは3つのプロパティです
詳細は公開情報を確認していただきたいですが、ざっくり説明は下記のとおりです
Azure Image Builder Bicep ファイルまたは ARM (JSON) テンプレートを作成する - Azure Virtual Machines | Microsoft Learn
- source : カスタムする基となる イメージがどれなのか
- customize : sysprep を実施前に行う作業内容
- distribute : 作成したイメージの出力場所
これら以外にも sysprep を実施する VM のサイズなどもありますが、一度作成したらあまり変更する箇所ではないので割愛します
今回は Winodws 11 22H2 を使いました
Windows 11 は要件にセキュアブート、TPM が必要になります
今回はそれを満たせるような VM サイズや Compute Gallery のパラメータを意識しています
検証
Azure Cloudshell を立ち上げて AIBscript.ps1 を実行して待つだけです
イメージの作成完了まででだいたい 40分くらいかかりました
AVD のセッションホストに作成したイメージを使ってデプロイしてみました
作成した VM をみるとちゃんとカスタムイメージが使えています
接続してみると、うまく日本語化ができいそうです
まとめ
夏~秋のどこかのタイミングで PowerShell で言語パックをインストールできるようになったのが大きいです!!!
これでめんどくさい画面ポチポチしてイメージ作成がなくなればいいなと思います