スナップショットを作ってAzure VMを複製する

Azureで既存のVMからコピーを作りたいときどうするんだろう、と思って調べてみました。 ざっくり言うと、「既存のマネージドディスクからスナップショットを作成」→「スナップショットから新しいマネージドディスクを作成」→「作成したマネージドディスクからVMを作成」という流れのようです。

基本的には、管理ディスク (Managed Disks) スナップショットより VM をデプロイするという記事に従って実施すればよいはずです。

VM作成は、ポータルからは実施できないようで、Azure CLIPowerShellを使う必要があるようです。

手順は上記記事からもリンクされている既存の VHD を管理ディスク (Managed Disk) に変換し、VM をデプロイするの「2. 既存の "ディスク" リソースを使用し、仮想マシンを作成する。」に記載がありますが、PowerShellでの実施例になります。どちらかというと、Azure CLIの方が好みなので、Azure Managed Disks(管理ディスク) でスナップショットを使ってみたを参考にしつつ、Azure CLIマニュアルを見て実施しました。

一連の流れを実施するスクリプトGitHubに置きましたので、よろしければご利用ください。このリポジトリーのスクリプトを使った場合、作業手順は以下のような感じになります。

$ git clone https://github.com/kazusato/azure-copy-vm.git
$ cd azure-copy-vm
$ cd 00_common
$ cp ZZ_target_info.sh.template nogit/ZZ_target_info.sh
$ vi nogit/ZZ_target_info.sh # ここでコピー元、コピー先の名前等を指定する
$ cd ../01_copy_vm
$ sh 01_create_snapshot.sh
$ sh 02_create_managed_disk.sh
$ sh 03_create_vm.sh