Create a virtual machine from a snapshot with CLI
This script creates a virtual machine from a snapshot of an OS disk.
To run this sample, install the latest version of the Azure CLI. To start, run
az login to create a connection with Azure.
Samples for the Azure CLI are written for the
bash shell. To run this sample in Windows PowerShell or Command Prompt, you may need to change
elements of the script.
If you don't have an Azure subscription, create a free account before you begin.
# Verified per Raman Kumar as of 2/23/2022 # <FullScript> #Provide the subscription Id of the subscription where you want to create Managed Disks subscriptionId="<subscriptionId>"c #Provide the name of your resource group resourceGroupName=myResourceGroupName #Provide the name of the snapshot that will be used to create Managed Disks snapshotName=mySnapshotName #Provide the name of the Managed Disk osDiskName=myOSDiskName #Provide the size of the disks in GB. It should be greater than the VHD file size. diskSize=128 #Provide the storage type for Managed Disk. Premium_LRS or Standard_LRS. storageType=Premium_LRS #Provide the OS type osType=linux #Provide the name of the virtual machine virtualMachineName=myVirtualMachineName #Set the context to the subscription Id where Managed Disk will be created az account set --subscription $subscriptionId #Get the snapshot Id snapshotId=$(az snapshot show --name $snapshotName --resource-group $resourceGroupName --query [id] -o tsv) #Create a new Managed Disks using the snapshot Id az disk create --resource-group $resourceGroupName --name $osDiskName --sku $storageType --size-gb $diskSize --source $snapshotId #Create VM by attaching created managed disks as OS az vm create --name $virtualMachineName --resource-group $resourceGroupName --attach-os-disk $osDiskName --os-type $osType # </FullScript>
Clean up deployment
Run the following command to remove the resource group, VM, and all related resources.
az group delete --name myResourceGroup
This script uses the following commands to create a managed disk, virtual machine, and all related resources. Each command in the table links to command specific documentation.
|az snapshot show||Gets snapshot using snapshot name and resource group name. Id property of the returned object is used to create a managed disk.|
|az disk create||Creates managed disks from a snapshot using snapshot Id, disk name, storage type, and size|
|az vm create||Creates a VM using a managed OS disk|
For more information on the Azure CLI, see Azure CLI documentation.
Additional virtual machine CLI script samples can be found in the Azure Linux VM documentation.