En este tutorial, aprenderá a apagar automáticamente máquinas virtuales (VM) en Azure. La característica de apagado automático para máquinas virtuales de Azure puede ayudar a reducir los costos mediante el apagado de las máquinas virtuales durante las horas fuera de las horas en las que no se necesitan y reiniciarlas automáticamente cuando se necesiten de nuevo.
Configuración del apagado automático de una máquina virtual
En Azure Portal, vaya a la máquina virtual para la que desea configurar el apagado automático.
En la página de detalles de la máquina virtual, seleccione "Apagado automático" en la sección Operaciones.
En la pantalla de configuración "Apagado automático", cambie el modificador a "Activado".
Establezca la hora a la que desea que se apague la máquina virtual.
Si desea recibir una notificación antes del apagado, seleccione "Sí" en la opción "Enviar notificación antes del apagado" y proporcione los detalles en "Dirección de correo electrónico" o "Dirección URL de webhook" según su elección.
Seleccione "Guardar" para guardar la configuración de apagado automático.
Para configurar el apagado automático de una sola máquina virtual mediante la CLI de Azure, puede usar el siguiente script:
# Set the resource group name, VM name, and shutdown time
RESOURCE_GROUP_NAME="myResourceGroup"
VM_NAME="myVM" # Add your VM's name here
SHUTDOWN_TIME="18:00"
# Prompt the user to choose whether to auto-restart or leave the machines off
echo "Do you want to auto-restart the machine? (y/n)"
read RESTART_OPTION
# Set the auto-shutdown and auto-start properties based on the user's choice
if [ "$RESTART_OPTION" == "y" ]; then
AUTO_SHUTDOWN="true"
AUTO_START="true"
else
AUTO_SHUTDOWN="true"
AUTO_START="false"
fi
# Set the auto-shutdown and auto-start properties for the VM
az vm auto-shutdown -g $RESOURCE_GROUP_NAME -n $VM_NAME --time $SHUTDOWN_TIME
if [ "$AUTO_START" == "true" ]; then
az vm restart -g $RESOURCE_GROUP_NAME -n $VM_NAME --no-wait
fi
Para configurar el apagado automático para varias máquinas virtuales mediante la CLI de Azure, puede usar el siguiente script:
# Set the resource group name and shutdown time
RESOURCE_GROUP_NAME="myResourceGroup"
SHUTDOWN_TIME="18:00"
# Prompt the user to choose whether to auto-restart or leave the machines off
echo "Do you want to auto-restart the machines? (y/n)"
read RESTART_OPTION
# Set the auto-shutdown and auto-start properties based on the user's choice
if [ "$RESTART_OPTION" == "y" ]; then
AUTO_SHUTDOWN="true"
AUTO_START="true"
else
AUTO_SHUTDOWN="true"
AUTO_START="false"
fi
# Loop through all VMs in the resource group and set the auto-shutdown and auto-start properties
for VM_ID in $(az vm list -g $RESOURCE_GROUP_NAME --query "[].id" -o tsv); do
az vm auto-shutdown --ids $VM_ID --time $SHUTDOWN_TIME
az vm restart --ids $VM_ID --no-wait
done
Los scripts anteriores usan los comandos az vm auto-shutdown y az vm restart para establecer las propiedades auto-shutdown y restart de todas las máquinas virtuales del grupo de recursos especificado. La opción --ids se usa para especificar las máquinas virtuales por sus identificadores, y las opciones --time y --auto-start-habilitadas se usan para establecer las propiedades de apagado automático y inicio automático, respectivamente.
Ambos scripts también le pedirán que elija si desea reiniciar automáticamente las máquinas o dejarlas desactivadas hasta que se reinicien manualmente. La elección se usa para establecer la propiedad --auto-shutdown-enabled de las máquinas virtuales.
Limpieza de recursos
Cuando ya no necesite la máquina virtual, puede eliminarla mediante estos pasos:
Vaya a la página Información general de la máquina virtual en la parte izquierda.
Seleccione "Eliminar" en la opción central superior.
Siga las indicaciones para eliminar la máquina virtual.