今回は、Azure Image Builder が Azure Portal 対応したというニュースを聞いて、早速試してみました
Azure Image Builder Portal Functionality now available | Azure の更新情報 | Microsoft Azure
Azure Image Builder とは
Azure Image Builder とは、仮想マシンのカスタム イメージを簡単に作成できるサービスです
Azure Marketplace や既存のカスタムイメージをベースにして、自分の必要なカスタマイズを追加した仮想マシン イメージの作成ができます
Image Builder の利用方法としては
- 既存のイメージに Windows Update を当てて、○月版 イメージを作成する
めんどくさい日本語化した Windows Client イメージの作成を自動化する
などがあります
作成したイメージは、Azure Compute Gallery やマネージドイメージ、VHD として保存できます
以前にも試していたんですが、今回はカスタマイズの内容を Azure Portal から試すことができるようになったので、試してみました
以前の記事↓
Azure VM Image Builder で 日本語化を楽し隊 | クラウドを勉強し隊
Azure Portal 対応って?
Azure Image Builder は、イメージの情報 (ベースとなるイメージ、カスタマイズ内容、エクスポート先など)を JSON ファイルを使って、Azure に渡します
これまでは、PowerShell や Azure CLI などのツールを使って、JSON ファイルを作成して実行する必要がありました
しかし、最近のアップデートで、Azure Portal から作成して実行できるようになりました。
Azure Portal 対応を試してみた
Azure Portal から Azure Image Builder を使うには、まず Azure Image Builder のリソースを作成し、それを実行する流れになります。
細かいオプションはいろいろありますが、今回は以下の内容を試します
ベースとなる仮想マシンイメージ | Azure Marketplace にある AVD 用の Windows 11 |
エクスポート先 | Azure Compute Gallery |
カスタマイズ内容 | 日本語の言語パックのインストール |
マネージドID の作成
Image Builder に作業させるために権限を与える必要があります
そのための ID を発行します
※正確な言い方ではないですが、雰囲気を察していただければ
マネージド ID に権限を付与
作成したマネージド ID に権限を付与します
必要な権限については公開情報を見てください
Azure CLI を使用して Azure VM Image Builder のアクセス許可を構成する - Azure Virtual Machines | Microsoft Learn
今回は上記のサイトで引用されているサンプルを参考にします
https://raw.githubusercontent.com/azure/azvmimagebuilder/master/solutions/12_Creating_AIB_Security_Roles/aibRoleImageCreation.json
-
今回使うリソース グループに移動します
-
アクセス制御 > [カスタム ロールの追加] を選択します
カスタムロールの作成01: -
カスタム ロール名に適当なものを入力します
-
ベースラインのアクセス許可で [最初から始める] を選択します
カスタムロールの作成02: -
[アクセス許可の追加] からgallery を検索し、Compute を選択します
-
以下の権限を選択し、作成します
- 読み取り: Get Gallery
- 読み取り: Get Gallery Image
- 読み取り: Get Gallery Image Version
- 書き込み: Create or Update Gallery Image Version
- 読み取り: イメージの取得
- 書き込み: イメージの作成または更新
- 削除: イメージの削除
- 作成した権限を マネージド ID に割り当てます
カスタムロールの作成05:
Azure Image Builder リソースの作成
-
Azure Portal でイメージ テンプレートを検索し、[+ 作成] を選択
Azure Image Builder リソースの作成01: -
リソース名やリージョン、ソースとなるイメージやカスタマイズの内容、出力先などを選択
※ソースとなるイメージは、Azure Marketplace の Windows や Linux のイメージや、自分でアップロードした VHD やマネージドイメージが使えます
Azure Image Builder リソースの作成02: -
エクスポート先を選択します。Compute Gallery やマネージドイメージ、VHD のいずれかを選べます
必須部分だけ入力しています
Azure Image Builder リソースの作成03:
Azure Image Builder リソースの作成04: -
カスタマイズの内容は、シェルコマンドや PowerShell コマンドなどを指定できます
またイメージ作成時に実行する仮想マシンのサイズを選択することもできます
※トラステッド起動 などに対応したイメージを作成するときは、仮想マシンのサイズに気を付けてください
カスタマイズ内容は以前の記事を見てください
Azure VM Image Builder で 日本語化を楽し隊 | クラウドを勉強し隊
https://raw.githubusercontent.com/NakayamaKento/azureimagebuilder/main/AVD/Installlanguagepack.ps1
Azure Image Builder リソースの作成05: -
ここまでの内容が設定出来たら検証し、テンプレートファイルを作成します
この時点ではまだイメージは作成されません
イメージ テンプレートの実行
テンプレートファイルを作成したら、そのファイルを実行してイメージのビルドを開始します
ビルドには数分から数十分かかります(リソース グループ、仮想ネットワーク、仮想マシンなどのリソース作成、sysprep とイメージ作成が自動で実行されます)
ビルドが完了したら、出力先に指定した場所にカスタムイメージが保存されます(今回は1時間程度で作業が完了していました)
確認
作成されたイメージを基に仮想マシンを作成し、RDP してみます
無事に日本語化されていることが確認できました!
まとめ
以前に Image Builder の記事を書いたときは、JSON で書かないといけなく、イメージソースや、カスタム内容が難しかったですが、GUI になったことで非常にとっつきやすくなったんじゃないかなと思います