Neste tutorial, você aprenderá a desligar automaticamente máquinas virtuais (VMs) no Azure. O recurso de desligamento automático para VMs do Azure pode ajudar a reduzir custos desligando as VMs fora do horário de expediente quando elas não são necessárias e reiniciando-as automaticamente quando são 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 o interruptor para "Ativado".
Defina a hora em que deseja que a máquina virtual seja desligada.
Se você quiser receber uma notificação antes do desligamento, selecione "Sim" na opção "Enviar notificação antes do desligamento" e forneça detalhes em "Endereço de e-mail" ou "URL do Webhook" conforme sua escolha.
Selecione "Salvar" para salvar a configuração de desligamento automático.
Para configurar o desligamento automático para 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 para 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 az vm auto-shutdown comandos e az vm restart para definir as auto-shutdown propriedades e restart de todas as VMs no grupo de recursos especificado. A --ids opção é usada para especificar as VMs por suas IDs, e as --time opções e --auto-start-habilitadas são usadas para definir as propriedades de desligamento automático e inicialização automática, respectivamente.
Ambos os scripts também solicitam a escolha entre reiniciar automaticamente as máquinas ou deixá-las desligadas até que sejam reiniciadas manualmente. A opção é usada para definir a propriedade --auto-shutdown-enabled das VMs.
Clean up resources (Limpar 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 as instruções para excluir a máquina virtual.
Para obter mais informações sobre como excluir uma máquina virtual, consulte excluir uma VM.
Próximos passos
Saiba mais sobre tamanhos e como redimensionar uma VM: