Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: ✔️ máquinas virtuales Linux ✔️ conjuntos de escalado flexibles
Las máquinas virtuales de Azure proporcionan un entorno informático completamente configurable y flexible. En este tutorial se tratan elementos básicos de la implementación de máquinas virtuales de Azure, como la selección de su tamaño, la selección de una imagen de máquina virtual y la implementación de una máquina virtual. Aprenderá a:
- Crear y conectar elementos a una máquina virtual
- Seleccionar y usar imágenes de máquinas virtuales
- Ver y usar tamaños de una máquina virtual específicos
- Cambiar el tamaño de una máquina virtual
- Ver y entender el estado de las máquinas virtuales.
En este tutorial se usa la CLI dentro de Azure Cloud Shell, que se actualiza constantemente a la versión más reciente.
Si decide instalar y usar la CLI localmente, en este tutorial es preciso que ejecute la CLI de Azure de la versión 2.0.30, u otra posterior. Ejecute az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.
Creación de un grupo de recursos
A continuación, declaramos variables de entorno. Se anexa un sufijo aleatorio a los nombres de recursos que deben ser únicos para cada implementación.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="eastus2"
export MY_RESOURCE_GROUP_NAME="myResourceGroupVM$RANDOM_SUFFIX"
az group create --name $MY_RESOURCE_GROUP_NAME --___location $REGION
Resultados:
{
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx",
"___location": "eastus2",
"name": "myResourceGroupVMxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Se debe crear un grupo de recursos antes de una máquina virtual. En este ejemplo, se crea un grupo de recursos denominado myResourceGroupVM en la región eastus2.
Se especifica el grupo de recursos al crear o modificar una máquina virtual, como se ve a lo largo de este tutorial.
Crear máquina virtual
Al crear una máquina virtual, hay varias opciones disponibles, como la imagen del sistema operativo, el tamaño del disco y las credenciales administrativas. En el ejemplo siguiente se crea una máquina virtual denominada myVM que ejecuta SUSE Linux Enterprise Server (SLES). Se crea una cuenta de usuario denominada azureuser en la máquina virtual y se generan claves SSH si no existen en la ubicación de clave predeterminada (~/.ssh).
export MY_VM_NAME="myVM$RANDOM_SUFFIX"
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM_NAME \
--image SuseSles15SP5 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
La creación de la máquina virtual puede tardar unos minutos. Una vez creada la máquina virtual, la CLI de Azure ofrece como salida información sobre la máquina virtual. Tome nota de publicIpAddress
; esta dirección se puede usar para acceder a la máquina virtual.
{
"fqdns": "",
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx/providers/Microsoft.Compute/virtualMachines/myVMxxx",
"___location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVMxxx"
}
Conexión con una máquina virtual
Ahora puede conectarse a la máquina virtual mediante SSH en Azure Cloud Shell o desde un equipo local. Reemplace la dirección IP de ejemplo por la dirección publicIpAddress
que anotó en el paso anterior.
Para conectarse a la máquina virtual, recupere primero la dirección IP pública mediante la CLI de Azure. Ejecute el siguiente comando para almacenar la dirección IP en una variable: export IP_ADDRESS=$(az vm show --show-details --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query publicIps --output tsv)
Una vez que tenga la dirección IP, use SSH para conectarse a la máquina virtual. El siguiente comando se conecta a la máquina virtual mediante la azureuser
cuenta y la dirección IP recuperada: ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Descripción de las imágenes de máquina virtual
Azure Marketplace incluye muchas imágenes que pueden usarse para crear máquinas virtuales. En los pasos anteriores, se creó una máquina virtual con una imagen DE SUSE. En este paso, la CLI de Azure se usa para buscar en Marketplace una imagen de Ubuntu, que luego se usa para implementar una segunda máquina virtual.
Para ver una lista de las imágenes usadas con más frecuencia, use el comando az vm image list.
az vm image list --output table
La salida del comando devuelve las imágenes de máquina virtual más populares en Azure.
Architecture Offer Publisher Sku Urn UrnAlias Version
-------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ----------------------- ---------
x64 debian-10 Debian 10 Debian:debian-10:10:latest Debian latest
x64 flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest Flatcar latest
x64 opensuse-leap-15-3 SUSE gen2 SUSE:opensuse-leap-15-3:gen2:latest openSUSE-Leap latest
x64 RHEL RedHat 7-LVM RedHat:RHEL:7-LVM:latest RHEL latest
x64 sles-15-sp3 SUSE gen2 SUSE:sles-15-sp3:gen2:latest SLES latest
x64 0001-com-ubuntu-server-jammy Canonical 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest UbuntuLTS latest
x64 WindowsServer MicrosoftWindowsServer 2022-Datacenter MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest Win2022Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition-core MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore latest
x64 WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest Win2019Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
Para ver una lista completa, agregue el parámetro --all
. También puede filtrar la lista de imágenes por --publisher
u –-offer
. En este ejemplo, la lista se filtra para todas las imágenes publicadas por OpenLogic, con una oferta que coincide con 0001-com-ubuntu-server-jammy.
az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table
Salida parcial de ejemplo:
Architecture Offer Publisher Sku Urn Version
-------------- --------------------------------- ----------- --------------- ------------------------------------------------------------------------ ---------------
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200 22.04.202204200
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060 22.04.202205060
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280 22.04.202205280
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040 22.04.202206040
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090 22.04.202206090
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160 22.04.202206160
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220 22.04.202206220
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060 22.04.202207060
Nota:
Canonical ha cambiado los nombres de Oferta que se usan para las versiones más recientes. Antes de Ubuntu 20.04, el nombre de Oferta es UbuntuServer. Para Ubuntu 20.04, el nombre de Oferta es 0001-com-ubuntu-server-focal
y para Ubuntu 22.04 es 0001-com-ubuntu-server-jammy
.
Para implementar una máquina virtual mediante una imagen específica, anote el valor de la columna Urn, que consta del publicador, la oferta, la SKU y, opcionalmente, un número de versión para identificar la imagen. Al especificar la imagen, se puede reemplazar el número de versión de la imagen por latest
, para que se seleccione la versión más reciente de la distribución. En este ejemplo, el parámetro --image
se usa para especificar la versión más reciente de Ubuntu 22.04.
export MY_VM2_NAME="myVM2$RANDOM_SUFFIX"
az vm create --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM2_NAME --image Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest --generate-ssh-keys
Comprensión de los tamaños de máquina virtual
El tamaño de la máquina virtual determina la cantidad de recursos de proceso, como memoria, CPU y GPU, que están disponibles para la máquina virtual. Es necesario ajustar adecuadamente el tamaño de las máquinas virtuales para la carga de trabajo esperada. Si aumenta la carga de trabajo, se puede cambiar el tamaño de una máquina virtual existente.
Tamaños de máquina virtual
En la tabla siguiente se clasifican los tamaños en casos de uso.
Tipo | Descripción |
---|---|
Uso general | Uso equilibrado de CPU y memoria. Ideal para desarrollo/pruebas, así como soluciones de datos y aplicaciones de tamaño pequeño a mediano. |
Proceso optimizado | Uso elevado de la CPU respecto a la memoria. Adecuado para aplicaciones, dispositivos de red y procesos por lotes con tráfico mediano. |
Memoria optimizada | Uso elevado de memoria respecto al núcleo. Excelente para bases de datos relacionales, memorias caché de capacidad de mediana a grande y análisis en memoria. |
Almacenamiento optimizado | Alto rendimiento de disco y E/S. Perfecto para bases de datos SQL y NoSQL y macrodatos. |
GPU | Máquinas virtuales especializadas para actividades intensas de representación de gráficos y edición de vídeo. |
Alto rendimiento | Nuestras máquinas virtuales con CPU más eficaces e interfaces de red de alto rendimiento (RDMA) opcionales. |
Búsqueda de los tamaños de máquina virtual disponibles
Para ver una lista de tamaños de máquinas virtuales disponibles en una región determinada, use el comando az vm list-sizes.
az vm list-sizes --___location $REGION --output table
Salida parcial de ejemplo:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
4 8192 Standard_D2ds_v4 2 1047552 76800
8 16384 Standard_D4ds_v4 4 1047552 153600
16 32768 Standard_D8ds_v4 8 1047552 307200
32 65536 Standard_D16ds_v4 16 1047552 614400
32 131072 Standard_D32ds_v4 32 1047552 1228800
32 196608 Standard_D48ds_v4 48 1047552 1843200
32 262144 Standard_D64ds_v4 64 1047552 2457600
4 8192 Standard_D2ds_v5 2 1047552 76800
8 16384 Standard_D4ds_v5 4 1047552 153600
16 32768 Standard_D8ds_v5 8 1047552 307200
32 65536 Standard_D16ds_v5 16 1047552 614400
32 131072 Standard_D32ds_v5 32 1047552 1228800
32 196608 Standard_D48ds_v5 48 1047552 1843200
32 262144 Standard_D64ds_v5 64 1047552 2457600
32 393216 Standard_D96ds_v5 96 1047552 3686400
Creación de máquinas virtuales con un tamaño específico
En el anterior ejemplo de creación de máquinas virtuales, no se proporcionó ningún tamaño, lo que conlleva el uso de un tamaño predeterminado. Se puede seleccionar un tamaño para la máquina virtual al crearla con el comando az vm create y el parámetro --size
.
export MY_VM3_NAME="myVM3$RANDOM_SUFFIX"
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM3_NAME \
--image SuseSles15SP5 \
--size Standard_D2ds_v4 \
--generate-ssh-keys
Cambiar el tamaño de una máquina virtual
Una vez implementada una máquina virtual, se puede cambiar su tamaño para aumentar o disminuir la asignación de recursos. Puede ver el tamaño actual de una máquina virtual con az vm show:
az vm show --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query hardwareProfile.vmSize
Antes de cambiar el tamaño de una máquina virtual, compruebe si el tamaño deseado está disponible en el clúster de Azure actual. El comando az vm list-vm-resize-options devuelve la lista de tamaños.
az vm list-vm-resize-options --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query [].name
Si el tamaño deseado está disponible, la máquina virtual se puede cambiar de tamaño a partir de un estado encendido, aunque se reiniciará durante la operación. Use el comando az vm resize para realizar el cambio de tamaño.
az vm resize --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --size Standard_D4s_v3
Si el tamaño deseado no está disponible en el clúster actual, la máquina virtual debe desasignarse antes de que se pueda producir la operación de cambio de tamaño. Use el comando az vm deallocate para detener y desasignar la máquina virtual. Tenga en cuenta que, cuando la máquina virtual está encendida, se pueden quitar los datos del disco temporal. Además, la dirección IP pública cambia a menos que se esté usando una estática. Una vez desasignada, puede realizarse el cambio de tamaño.
Tras el cambio de tamaño, se puede iniciar la máquina virtual.
az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
Estados de energía de una máquina virtual
Una máquina virtual de Azure puede tener uno de muchos estados de energía. Este estado representa el estado actual de la máquina virtual desde el punto de vista del hipervisor.
Estados de energía
Estado de energía | Descripción |
---|---|
Iniciando | Indica que se está iniciando la máquina virtual. |
En ejecución | Indica que la máquina virtual se está ejecutando. |
Deteniéndose | Indica que se está deteniendo la máquina virtual. |
Detenido | Indica que se ha detenido la máquina virtual. Las máquinas virtuales en el estado detenido siguen acumulando cargos por procesos. |
Desasignando | Indica que se está desasignando la máquina virtual. |
Desasignado | Indica que la máquina virtual se quitó del hipervisor pero sigue estando disponible en el plano de control. Las máquinas virtuales en el estado Desasignado no incurren cargos por procesos. |
- | Indica que se desconoce el estado de la máquina virtual. |
Busque el estado de energía de la máquina
Para recuperar el estado de una máquina virtual concreta, use el comando az vm get instance-view. Asegúrese de especificar un nombre válido para la máquina virtual y el grupo de recursos.
az vm get-instance-view \
--name $MY_VM_NAME \
--resource-group $MY_RESOURCE_GROUP_NAME \
--query instanceView.statuses[1] --output table
Salida:
Code Level DisplayStatus
------------------ ------- ---------------
PowerState/running Info VM running
Para recuperar el estado de energía de todas las máquinas virtuales de la suscripción, use Virtual Machines - List All API con el parámetro statusOnly establecido en true.
Tareas de administración
Durante el ciclo de vida de una máquina virtual, es posible que desee ejecutar tareas de administración como iniciar, detener o eliminar una máquina virtual. Además, puede crear scripts para automatizar tareas repetitivas o complejas. Mediante la CLI de Azure, muchas tareas comunes de administración se pueden ejecutar desde la línea de comandos o en scripts.
Obtención de la dirección IP
Este comando devuelve las direcciones IP públicas y privadas de una máquina virtual.
az vm list-ip-addresses --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --output table
Detener una máquina virtual
az vm stop --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
Iniciar una máquina virtual
az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
Eliminación de recursos de máquina virtual
En función de cómo se elimine una máquina virtual, solo se elimina el recurso de máquina virtual, no los recursos de redes y disco. Puede cambiar el comportamiento predeterminado para eliminar otros recursos al eliminar la máquina virtual. Para más información, vea Eliminación de una máquina virtual y recursos asociados.
Al eliminar un grupo de recursos también se eliminan todos los recursos del grupo de recursos, como la máquina virtual, la red virtual y el disco. El parámetro --no-wait
devuelve el control a la petición de confirmación sin esperar a que finalice la operación. El parámetro --yes
confirma que desea eliminar los recursos sin pedir confirmación adicional.
Pasos siguientes
En este tutorial, ha aprendido conceptos básicos sobre la creación y administración de máquinas virtuales. Por ejemplo:
- Crear y conectar elementos a una máquina virtual
- Seleccionar y usar imágenes de máquinas virtuales
- Ver y usar tamaños de una máquina virtual específicos
- Cambiar el tamaño de una máquina virtual
- Ver y entender el estado de las máquinas virtuales.
Prosiga con el siguiente tutorial para aprender sobre los discos en máquinas virtuales.