Neste tutorial, você aprenderá a desligar automaticamente VMs (máquinas virtuais) no Azure. O recurso de desligamento automático de VMs do Azure pode ajudar a reduzir os custos desligando as VMs durante o horário de folga quando elas não são necessárias e reiniciando-as automaticamente quando forem necessárias novamente.
Configurar o desligamento automático para uma máquina virtual
No portal do Azure, navegue até a máquina virtual para a qual você deseja configurar o desligamento automático.
Na página de detalhes da máquina virtual, selecione “Desligamento automático” na seção Operações.
Na tela de configuração “Desligamento automático”, alterne a opção para “Ativado”.
Defina a hora em que deseja que a máquina virtual seja desligada.
Se você quiser receber a notificação antes do desligamento, selecione "Sim" na opção "Enviar notificação antes do desligamento" e forneça detalhes em "Endereço de Email" ou "URL do Webhook" de acordo com sua escolha.
Selecione “Salvar” para salvar a configuração de desligamento automático.
Para configurar o desligamento automático de uma única máquina virtual usando a CLI do Azure, você pode usar o seguinte 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 o desligamento automático de várias máquinas virtuais usando a CLI do Azure, você pode usar o seguinte 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
Os scripts acima usam os comandos az vm auto-shutdown e az vm restart para definir as propriedades auto-shutdown e restart de todas as VMs no grupo de recursos especificado. A opção --ids é usada para especificar as VMs por suas IDs, e as opções --time e --auto-start- habilitadas são usadas para definir as propriedades de desligamento automático e início automático, respectivamente.
Ambos os scripts também solicitam que você escolha se deseja reiniciar automaticamente os computadores ou deixá-los desligados até que sejam reiniciados manualmente. A opção é usada para definir a propriedade --auto-shutdown-enabled das VMs.
Limpar os recursos
Se você não precisar mais da máquina virtual, exclua-a com as seguintes etapas:
Navegue até a página Visão Geral da máquina virtual à esquerda
Selecione “Excluir” na opção do meio superior.
Siga os prompts para excluir a máquina virtual.
Para obter mais informações sobre como excluir uma máquina virtual, confira Excluir uma VM.
Próximas etapas
Saiba mais sobre tamanhos e como redimensionar uma VM: