Azure CLI と Managed Disks を使用して Linux VM のコピーを作成する

この記事では、Azure CLI を使用して、Linux を実行している Azure 仮想マシン (VM) のコピーを作成する方法について説明します。 VM イメージを大規模にコピー、作成、保存、共有する方法については、「共有イメージ ギャラリー」を参照してください。

さらに、VHD から VM をアップロードして作成することもできます。

前提条件

  • Azure CLI をインストールします。

  • az login で Azure アカウントにサインインする。

  • コピーのソースとして使用する Azure VM がある。

ソース VM を停止する

az vm deallocate を使用して、ソース VM の割り当てを解除します。 次の例では、myResourceGroup というリソース グループ内の myVM という VM の割り当てを解除します。

az vm deallocate \
    --resource-group myResourceGroup \
	--name myVM

ソース VM をコピーする

VM をコピーするには、基となる仮想ハード ディスクのコピーを作成します。 このプロセスでは、ソース VM と同じ構成および設定が含まれるマネージド ディスクとして、特殊な仮想ハード ディスク (VHD) を作成します。

Azure Managed Disks の詳細については、「Azure Managed Disks の概要」をご覧ください。

  1. az vm list で、各 VM とその OS ディスクの名前を一覧表示します。 次の例では、myResourceGroup という名前のリソース グループに含まれているすべての VM の一覧を表示します。

    az vm list -g myResourceGroup \
         --query '[].{Name:name,DiskName:storageProfile.osDisk.name}' \
    	 --output table
    

    出力は次の例のようになります。

    Name    DiskName
    ------  --------
    myVM    myDisk
    
  2. 新しいマネージド ディスクを作成し、az disk create を使用することによって、ディスクをコピーします。 次の例では、myDisk という名前のマネージド ディスクから myCopiedDisk という名前のディスクを作成します。

    az disk create --resource-group myResourceGroup \
         --name myCopiedDisk --source myDisk
    
  3. az disk list を使用して、リソース グループ内にマネージド ディスクがあることを確認します。 次の例では、myResourceGroup という名前のリソース グループ内のマネージド ディスクの一覧を表示します。

    az disk list --resource-group myResourceGroup --output table
    

仮想ネットワークを設定する

省略可能な次の手順では、新しい仮想ネットワーク、サブネット、パブリック IP アドレス、仮想ネットワーク インターフェイス カード (NIC) を作成します。

トラブルシューティングまたは追加デプロイの目的で VM をコピーする場合は、既存の仮想ネットワークで VM を使用しないほうがよいことがあります。

コピーする VM のために仮想ネットワーク インフラストラクチャを作成する場合、次の手順に従ってください。 仮想ネットワークを作成しない場合は、「VM を作成する」に進んでください。

  1. az network vnet create を使用して、仮想ネットワークを作成します。 次の例では、myVnet という名前の仮想ネットワークと mySubnet という名前のサブネットを作成します。

    az network vnet create --resource-group myResourceGroup \
        --location eastus --name myVnet \
    	--address-prefix 192.168.0.0/16 \
    	--subnet-name mySubnet \
    	--subnet-prefix 192.168.1.0/24
    
  2. az network public-ip create を使用して、パブリック IP を作成します。 次の例では、DNS 名が mypublicdnsmyPublicIP という名前のパブリック IP を作成します (DNS 名は一意である必要があるため、一意の名前を入力してください)。

    az network public-ip create --resource-group myResourceGroup \
        --location eastus --name myPublicIP --dns-name mypublicdns \
    	--allocation-method static --idle-timeout 4
    
  3. az network nic create を使用して、NIC を作成します。 次の例では、mySubnet サブネットに接続される NIC myNic を作成します。

    az network nic create --resource-group myResourceGroup \
        --location eastus --name myNic \
    	--vnet-name myVnet --subnet mySubnet \
    	--public-ip-address myPublicIP
    

VM の作成

az vm create を使用して VM を作成します。

次のコマンドを使用して、コピーしたマネージド ディスクを OS ディスク (--attach-os-disk) として使用するよう指定します。

az vm create --resource-group myResourceGroup \
    --name myCopiedVM --nics myNic \
	--size Standard_DS1_v2 --os-type Linux \
    --attach-os-disk myCopiedDisk

次のステップ

共有イメージ ギャラリー を使用して VM イメージを管理する方法について学習します。