Crear una máquina virtual con un disco duro virtualCreate a VM with a virtual hard disk

Este ejemplo crea una máquina virtual con un disco duro virtual (VHD).This example creates a virtual machine using a VHD. Crea un grupo de recursos, una cuenta de almacenamiento y un contenedor, y después carga el VHD en el contenedor para crear una máquina virtual.It creates a resource group, a storage account, and a container, then it creates a VM by uploading the VHD to the container. Reemplaza la clave pública SSH con su clave pública para que tenga acceso a la máquina virtual.It replaces the ssh public key with your public key so that you have access to the VM.

Necesitará un VHD de arranque.You'll need a bootable VHD. El script busca ~/sample.vhd.The script looks for ~/sample.vhd.

Para ejecutar este ejemplo, instale la versión más reciente de la CLI de Azure.To run this sample, install the latest version of the Azure CLI. Para empezar, ejecute az login para crear una conexión con Azure.To start, run az login to create a connection with Azure.

Los ejemplos de la CLI de Azure están escritos para el shell bash.Samples for the Azure CLI are written for the bash shell. Para ejecutar este ejemplo en Windows PowerShell o en el símbolo del sistema, es posible que necesite cambiar algunos elementos del script.To run this sample in Windows PowerShell or Command Prompt, you may need to change elements of the script.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin.

Script de ejemploSample 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}'"

Limpieza de la implementaciónClean up deployment

Ejecute el siguiente comando para quitar el grupo de recursos, la máquina virtual y todos los recursos relacionados.Run the following command to remove the resource group, VM, and all related resources.

az group delete -n az-cli-vhd

Explicación del scriptScript explanation

Este script usa los siguientes comandos para crear un grupo de recursos, una máquina virtual, un conjunto de disponibilidad, un equilibrador de carga y todos los recursos relacionados.This script uses the following commands to create a resource group, virtual machine, availability set, load balancer, and all related resources. Cada comando de la tabla crea un vínculo a documentación específica del comando.Each command in the table links to command specific documentation.

Get-HelpCommand NotasNotes
az group createaz group create Crea un grupo de recursos en el que se almacenan todos los recursos.Creates a resource group in which all resources are stored.
az storage account listaz storage account list Enumera las cuentas de almacenamientoLists storage accounts
az storage account check-nameaz storage account check-name Comprueba que un nombre de cuenta de almacenamiento es válido y que no existe yaChecks that a storage account name is valid and that it doesn't already exist
az storage account keys listaz storage account keys list Enumera las claves de las cuentas de almacenamientoLists keys for the storage accounts
az storage blob existsaz storage blob exists Comprueba si existe el blobChecks whether the blob exists
az storage container createaz storage container create Crea un contenedor en una cuenta de almacenamiento.Creates a container in a storage account.
az storage blob uploadaz storage blob upload Crea un blob en el contenedor cargando el VHD.Creates a blob in the container by uploading the VHD.
az vm listaz vm list Se usa con --query para comprobar si el nombre de la máquina virtual está en uso.Used with --query check whether the VM name is in use.
az vm createaz vm create Crea las máquinas virtuales.Creates the virtual machines.
az vm list-ip-addressesaz vm list-ip-addresses Obtiene la dirección IP de la máquina virtual que se creó.Gets the IP address of the VM that was created.

Pasos siguientesNext steps

Para más información sobre la CLI de Azure, consulte la documentación de la CLI de Azure.For more information on the Azure CLI, see Azure CLI documentation.

Encontrará más ejemplos de scripts de la CLI de máquina virtual en la documentación sobre máquinas virtuales Linux de Azure.Additional virtual machine CLI script samples can be found in the Azure Linux VM documentation.