Creare una macchina virtuale con un disco rigido virtualeCreate a VM with a virtual hard disk

In questo esempio viene creata una macchina virtuale usando un disco rigido virtuale.This example creates a virtual machine using a VHD. Vengono prima creati un gruppo di risorse, un account di archiviazione e un contenitore e quindi viene creata una macchina virtuale caricando il disco rigido virtuale nel contenitore.It creates a resource group, a storage account, and a container, then it creates a VM by uploading the VHD to the container. Viene infine sostituita la chiave pubblica SSH con la chiave pubblica personale per poter accedere alla macchina virtuale.It replaces the ssh public key with your public key so that you have access to the VM.

È necessario un disco rigido virtuale di avvio.You'll need a bootable VHD. È possibile scaricare il disco rigido virtuale usato nell'esempio da https://azclisamples.blob.core.windows.net/vhds/sample.vhd oppure usare il proprio disco rigido virtuale.You can download the VHD that we used from https://azclisamples.blob.core.windows.net/vhds/sample.vhd, or use your own VHD. Lo script cerca ~/sample.vhd.The script looks for ~/sample.vhd.

Per eseguire questo esempio, verificare di aver installato l'ultima versione dell'interfaccia della riga di comando di Azure 2.0.To run this sample, make sure you have installed the latest Azure CLI 2.0. Per iniziare, eseguire az login per creare una connessione con Azure.To start, run az login to create a connection with Azure.

Questo esempio funziona in una shell Bash.This sample works in a Bash shell. Per le opzioni sull'esecuzione di script dell'interfaccia della riga di comando di Azure nel client Windows, vedere Running the Azure CLI in Windows (Esecuzione dell'interfaccia della riga di comando di Azure in Windows).For options on running Azure CLI scripts on Windows client, see Running the Azure CLI in Windows.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Script di esempioSample script

#!/bin/bash

# Create a resource group
az group create -n myResourceGroup -l westus

# Create the storage account to upload the vhd
az storage account create -g myResourceGroup -n mystorageaccount -l westus --sku PREMIUM_LRS

# Get a storage key for the storage account
STORAGE_KEY=$(az storage account keys list -g myResourceGroup -n mystorageaccount --query "[?keyName=='key1'] | [0].value" -o tsv)

# Create the container for the vhd
az storage container create -n vhds --account-name mystorageaccount --account-key ${STORAGE_KEY}

# Upload the vhd to a blob
az storage blob upload -c vhds -f ~/sample.vhd -n sample.vhd --account-name mystorageaccount --account-key ${STORAGE_KEY}

# Create the vm from the vhd
az vm create -g myResourceGroup -n myVM --image "https://myStorageAccount.blob.core.windows.net/vhds/sample.vhd" \
        --os-type linux --admin-username deploy --generate-ssh-keys

# Update the deploy user with your ssh key
az vm user update --resource-group myResourceGroup -n custom-vm -u deploy --ssh-key-value "$(< ~/.ssh/id_rsa.pub)"

# Get public IP address for the VM
IP_ADDRESS=$(az vm list-ip-addresses -g az-cli-vhd -n custom-vm \
    --query "[0].virtualMachine.network.publicIpAddresses[0].ipAddress" -o tsv)

echo "You can now connect using 'ssh deploy@${IP_ADDRESS}'"

Pulire la distribuzioneClean up deployment

Eseguire questo comando per rimuovere il gruppo di risorse, la macchina virtuale e tutte le risorse correlate.Run the following command to remove the resource group, VM, and all related resources.

az group delete -n az-cli-vhd

Spiegazione dello scriptScript explanation

Questo script usa i comandi seguenti per creare un gruppo di risorse, la macchina virtuale, il set di disponibilità, il bilanciamento del carico e tutte le risorse correlate.This script uses the following commands to create a resource group, virtual machine, availability set, load balancer, and all related resources. Ogni comando della tabella include collegamenti alla documentazione specifica del comando.Each command in the table links to command specific documentation.

ComandoCommand NoteNotes
az group createaz group create Consente di creare un gruppo di risorse in cui sono archiviate tutte le risorse.Creates a resource group in which all resources are stored.
az storage account listaz storage account list Elenca gli account di archiviazioneLists storage accounts
az storage account check-nameaz storage account check-name Verifica che un nome di account di archiviazione sia valido e che non esista giàChecks that a storage account name is valid and that it doesn't already exist
az storage account keys listaz storage account keys list Elenca le chiavi per gli account di archiviazioneLists keys for the storage accounts
az storage blob existsaz storage blob exists Controlla se il BLOB esisteChecks whether the blob exists
az storage container createaz storage container create Crea un contenitore in un account di archiviazione.Creates a container in a storage account.
az storage blob uploadaz storage blob upload Crea un BLOB nel contenitore caricando il disco rigido virtuale.Creates a blob in the container by uploading the VHD.
az vm listaz vm list Usato con --query, controlla se il nome della macchina virtuale è in uso.Used with --query check whether the VM name is in use.
az vm createaz vm create Crea le macchine virtuali.Creates the virtual machines.
az vm access set-linux-useraz vm access set-linux-user Reimposta la chiave SSH per consentire all'utente corrente di accedere alla macchina virtuale.Resets the SSH key to give the current user access to the VM.
az vm list-ip-addressesaz vm list-ip-addresses Ottiene l'indirizzo IP della macchina virtuale creata.Gets the IP address of the VM that was created.

Passaggi successiviNext steps

Per altre informazioni sull'interfaccia della riga di comando di Azure, vedere la documentazione sull'interfaccia della riga di comando di Azure.For more information on the Azure CLI, see Azure CLI documentation.

Altri esempi di script dell'interfaccia della riga di comando della macchina virtuale sono reperibili nella documentazione della VM Linux di Azure.Additional virtual machine CLI script samples can be found in the Azure Linux VM documentation.