Windows仮想マシンを日本語化した状態でデプロイする方法

AzureでWindowsの仮想マシンを作ろうとするとグローバルなイメージが基準なので基本的に英語のままでデプロイされます。

初回くらいならいいですがテストのたびに仮想マシン作って日本語化して~とやってると流石に時間の無駄だと思います。

今回は一度、ベースとなる仮想マシンで日本語化設定を行い、それをベースに別の仮想マシンをデプロイする方法を紹介します。

 

Azureではイメージと呼ばれている機能を使います。

これは仮想マシンの管理画面に表示されているキャプチャという項目から利用することが可能ですが、仮想マシンのディスクをその時点の状態でAzureのリソースとして保存することができる機能です。

ただ、一般化という作業を行う必要があるのでユーザーごとの設定は残すことはできず、システムに対する変更のみを残すことができます。

利用上の注意事項は以下になります。
・イメージリソースはベースとする仮想マシンと同じサブスクリプション・リージョンでしか作成できない。
・ベースとする仮想マシンはイメージ化を実施した時点で利用不可能になる。
・ユーザー及びハードウェア固有の情報は保持されない。(sysprep /generalizeを実行するため)
・イメージには月々¥5.600/GBがかかります。これは、ベースとする仮想マシンの管理ディスクのサイズではなく、実際のストレージの使用量で計算されます。
例えば、128GBの管理ディスクであったとしても、実際には50GBしか使用されていなければ50GB分のみが請求の対象となります。

 

 

早速手順に移っていきます。

手順

①まずはAzure PortalからWindows仮想マシンを作成します。※イメージ化するためだけの仮想マシンなので名前などはこだわらなくていいです。

今回はWindows Server 2019 Datacenter で実施します。

 

②リモートデスクトップで接続して日本語化します。

日本語化設定はあちこちで紹介されているのでここでは割愛します。
日本語化の作業が再起動なども含めて完了した後に、以下の設定は必ず行ってください。

[コントロールパネル]→[時計と地域]→[地域]から表示されたウィンドウの[管理]タブを開き、[設定のコピー]をクリックします。

・ようこそ画面とシステムアカウント
・新しいユーザーアカウント
の両方にチェックを入れて[OK]をクリックます。
この設定を行わないとこの後の仮想マシン作成を実施してログオンしても日本語になりません。

仮想マシンには接続したまま次の手順に移ります。

※以降の手順を実施するとベースとする仮想マシンは利用不可能になります。

④仮想マシンに戻り、ファイル名を指定して実行から[sysprep]と入力してEnterを押します。sysprep.exeが存在するフォルダが開くのでダブルクリックして起動します。

システム準備ツールが開いたら以下を設定して[OK]をクリックします。

  • [システムの OOBE (Out-of-Box Experience) に入る] を選択し、 [一般化する] チェック ボックスを選択します。(コマンドラインオプションの/generalizeに相当)
  • [シャットダウン オプション] の [シャットダウン] を選択します。

この時点で仮想マシンがシャットダウンされますが以降は起動しても利用不可能になります。
Windowsでは上記の流れですがLinuxでは「sudo waagent -deprovision+user」コマンドを実行することでイメージ化の事前準備が可能です。

⑤シャットダウンが済んだらAzure Portalの仮想マシン管理画面の[キャプチャ]を開きます。

以下を指定して[作成]をクリックします。

  • 名前:リソースとして保存するのでその名称です。OSのバージョンと施した設定を記載するといいと思います。
  • リソースグループ:任意のリソースグループ名を指定します。
  • イメージの作成後、この仮想マシンを自動的に削除します。:イメージ化するとベースとなる仮想マシンは利用不能になるので削除しちゃっていいと思います。
  • ゾーンの回復性:オフ
  • 仮想マシン名を入力してください:本当にやっていいよねという確認なのでイメージ化する仮想マシン名を入力します。

⑥完了したらイメージが作成されるのでリソースの画面に移動します。

[VMの作成]をクリックすると仮想マシンを作成するメニューが開きます。

日本語化設定は残したまま管理者アカウントやホスト名は新しく指定することができます。
イメージから仮想マシンをデプロイする際のリージョンはベースとした仮想マシンと同じものになります。複数のリージョンで利用したい場合はリージョンごとにイメージを作成する必要があります。

⑧作成してリモートデスクトップで接続してみると日本語化設定されたままになっています。

 

まとめ

イメージリソースは繰り返し使うことができるので日本語化設定をしたイメージを一つ作っておくだけで結構な作業時間の短縮になるのではないでしょうか。

日本語化に限らずシステムレベルの変更なら基本的に残すことができるので特定のプログラムのインストールだけを済ませてイメージ化なんてのもよさそうです。