【TIPS】Azureで仮想マシンの仮想ネットワークを変更したい


Note: 本記事は、2018年11月時点の内容です。

【Q】Azureの仮想マシンを別の仮想ネットワークに変更(移動)したい。どうしたらよい?

【A】いくつかやり方があるが、仮想マシン再作成が手っ取り早そう。

  • ↓こんな丁寧な記事があるが、インフラ屋さんでないと、なにぶん分かり辛い。。。

利用中の Azure 仮想ネットワークを変更する

  • 仮想ネットワークを変更するというのが王道のようだが、分かりづらい。

  • 手っ取り早くやるには、仮想マシンを一度消して再作成。OSディスクを再マウントする。

PowerShell を使用して Azure VM で使用される OS ディスクを変更する

  • 以下手順は、自己責任でお願いします(くれぐれも間違ってディスクは消さないようにご注意ください。)

作業の手順

  1. 仮想マシンの削除
  2. 仮想マシンの新規作成
  3. Azure Cloud Shellの起動
  4. OSディスク名の確認
  5. Powershellコマンドの実行

【手順1】仮想マシンの削除

  • 対象の仮想マシンのみ削除する。(ディスクは消さない。)

【手順2】仮想マシンの新規作成

  • 仮想マシンを作成する
  • ネットワークは、変更したい先の仮想ネットワークを選択して作成する
  • ディスクも元のOSディスクを指定したいところだができない。この時点では、デフォルトで作っておき、この後の手順で変更する。

【手順3】Azure Cloud Shellの起動

  • AzureポータルからAzure Cloud Shellを起動する

Azure Cloud Shell の PowerShell のクイックスタート

【手順4】OSディスク名の確認

  • AzureポータルからOSディスク名を確認しておく

【手順5】Powershellコマンドの実行

  • 以下コマンドを順に実行

Note:
以下手順では、<myResourceGroup> を使用するリソースグループ名に、
<newDisk> を使用するOSディスク(付け替えたい元のディスク)に置き換えてください。

  • VMの取得
# Get the VM 
$vm = Get-AzureRmVM -ResourceGroupName <myResourceGroup> -Name myVM 
  • VMの停止(すでに停止している場合はスキップ)
# Make sure the VM is stopped\deallocated
Stop-AzureRmVM -ResourceGroupName <myResourceGroup> -Name $vm.Name -Force
  • OSディスク情報の取得と設定
# Get the new disk that you want to swap in
$disk = Get-AzureRmDisk -ResourceGroupName <myResourceGroup> -Name <newDisk>

# Set the VM configuration to point to the new disk  
Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -Name $disk.Name 

# Update the VM with the new OS disk
Update-AzureRmVM -ResourceGroupName <myResourceGroup> -VM $vm 
  • VMの起動
# Start the VM
Start-AzureRmVM -Name $vm.Name -ResourceGroupName <myResourceGroup>