皆さんこんにちは。今回はAzure VMのv2, ARMにてカスタムのVMイメージを作成~展開する方法です。

v1の時には楽ちんだったのですが、現状(2016/05/06)だとポータルからの操作で完結しないのでちょっと手間に感じる方もいるかもしれないですね。今後も継続的に方法は変化すると思いますが、現時点の私のやり方を記録しておきます。

 

仮想マシン作成~構成

まずは、普通に仮想マシンを作成し、カスタマイズを行います。この部分の手順は省略します。

仮想マシンの準備

仮想マシンをカスタマイズしたら、テンプレート化するための準備を行います。具体的にはsysprepを実行します。PowerShellにて以下のコマンドを実行でOKです。

& “$Env:SystemRoot\system32\sysprep\sysprep.exe” /generalize /oobe /shutdown

結果、仮想マシンは仮想マシン内からのコマンドでシャットダウンされることになります。

仮想マシンイメージのキャプチャ

次に仮想マシンイメージのキャプチャですが、Resource Explorerからの実施が簡単だと思います。

- https://resources.azure.com/

Resource Explorer上で対象のVMにまで移動して…

image

 

まず、deallocateを実行します。ポータル上で仮想マシンの状態の変化を確認しながら操作を行うのがおすすめです。

きちんと処理が完了したら次はgeneralizeを実行します。

これも完了したことを確認してから、次にcaptureを実行します。

この時には、パラメーターをきちんと入力してからの実行が必要です。

image

これを・・・、必要に応じて編集してからcaptureボタンを押します。(以下はあくまでも例です。)

image

これによって、同一ストレージアカウント内のblogに、イメージがキャプチャされます。

「system」内に作成されます。

image

 

image

 

イメージからのデプロイ

イメージからのデプロイに関しては、ポータルからは行えない…と思います。現時点では。(やり方知ってる人いたら教えて下さい。)

先に、NICとパブリックIPがある状況で、PowerShellを使って簡単にデプロイできるPowerShellスクリプトを作成したので共有しておきます。

スクリプトはGithubで公開しています。

- https://github.com/ebibibi/AzureManageCodes/blob/master/VMImage/CreateNewVMfromTemplate.ps1