本記事は、Microsoft Azure Tech Advent Calendar 2023 の 12/02 の投稿です。
こんにちは、アーキテクトのやまぱんです。
補足コメントや質問は是非お願いします🥺!
今回は一般化しイメージ化する際にAzure VM を一般化する必要があります、今回はAzure VM 一般化する手順についてご案内します。
なお、一般化した VM はログインできず、正常に使えなくなります。
もしそれが困る場合はあらかじめ、Azure VM Backup や Azure VM を停止した状態 (整合性の観点から) でディスクスナップショットを取得しておいてください。
そうすることでそれらからリストア (複製) することが可能です。
なお今回は Window OS をベースにしています。
Linux の 一般化についてはこちらを参考に実施してもらえればと思います。
一般化とは
一般化とは 仮想環境を使っている場合、環境内の仮想マシンで共通にしたい設定を行ってからOSテンプレートを作成することになります。 しかしながら、OSには仮想マシンごとにユニークにならないといけないパラメータがあります。 こういった値を削除・初期化して再度設定される状態にしておくことです。
Window の 場合は Sysprep が必要になります。
Window VM 一般化 手順
-
1.panther ディレクトリ (C:\Windows\Panther) を削除します。
-
2.レジストリ操作
reg add "HKLM\SYSTEM\CurrentControlSet\Services\cdrom" /v start /t REG_DWORD /d 1 /f
このコマンドは、Windowsのレジストリを変更してCD-ROMドライブのサービスを開始するものです。
- 3.Sysprep 実行
cd %windir%\system32\sysprep
sysprep.exe /oobe /generalize /mode:vm /shutdown
シャットダウンして立ち上がらないようにしておきます。
- 仮想マシンのステータスを[一般化(Generalized)]に設定
Azure PowerShellや Cloud Shell で対象の Subscription にログインして下記のコマンドを実行します。
Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
一般化した VM はログインできず、正常に使えなくなります。
もしそれが困る場合はあらかじめ、Azure VM Backup や Azure VM を停止した状態 (整合性の観点から) でディスクスナップショットを取得しておいてください。
参考
- 親愛なる同僚の記事です。Azure VM Imagae Builer を使ったイメージ作成方法について
- Azure VM 一般化に関する公式ドキュメント
- Microsoft の Azure VM サポートチームのAzure VM 複製に関するブログ記事