Questa esercitazione descrive come arrestare automaticamente le macchine virtuali (VM) in Azure. La funzionalità di arresto automatico per le macchine virtuali di Azure consente di ridurre i costi arrestando le macchine virtuali durante gli orari di minore attività quando non sono necessarie e riavviandole automaticamente quando sono necessarie di nuovo.
Configurare l'arresto automatico per una macchina virtuale
Nella portale di Azure passare alla macchina virtuale per cui si vuole configurare l'arresto automatico.
Nella pagina dei dettagli della macchina virtuale selezionare "Arresto automatico" nella sezione Operazioni .
Nella schermata di configurazione "Arresto automatico" attivare o disattivare l'opzione su "Sì".
Impostare l'ora di arresto della macchina virtuale.
Se si vuole ricevere una notifica prima dell'arresto, selezionare "Sì" nell'opzione "Invia notifica prima dell'arresto" e specificare i dettagli in "Indirizzo di posta elettronica" o "URL webhook" in base alla scelta.
Selezionare "Salva" per salvare la configurazione di arresto automatico.
Per configurare l'arresto automatico per una singola macchina virtuale usando l'interfaccia della riga di comando di Azure, è possibile usare lo script seguente:
# 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
Per configurare l'arresto automatico per più macchine virtuali usando l'interfaccia della riga di comando di Azure, è possibile usare lo script seguente:
# 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
Gli script precedenti usano i az vm auto-shutdown comandi e az vm restart per impostare le auto-shutdown proprietà e restart di tutte le macchine virtuali nel gruppo di risorse specificato. L'opzione --ids viene usata per specificare le macchine virtuali in base ai relativi ID e le --time opzioni abilitate --auto-start-vengono usate rispettivamente per impostare le proprietà di arresto automatico e avvio automatico.
Entrambi gli script richiedono anche di scegliere se riavviare automaticamente i computer o lasciarli disattivati fino a quando non vengono riavviati manualmente. La scelta viene usata per impostare la proprietà --auto-shutdown-enabled delle macchine virtuali.
Pulire le risorse
Se la macchina virtuale non è più necessaria, eliminarla seguendo questa procedura:
Passare alla pagina Panoramica della macchina virtuale a sinistra
Selezionare "Elimina" nell'opzione centrale in alto.
Seguire le istruzioni per eliminare la macchina virtuale.