Dans ce tutoriel, vous allez apprendre comment arrêter automatiquement des machines virtuelles dans Azure. La fonctionnalité d’arrêt automatique des machines virtuelles Azure peut permettre de réduire les coûts en arrêtant les machines virtuelles pendant les heures creuses lorsqu’elles ne sont pas nécessaires et en les redémarrant automatiquement lorsqu’elles sont à nouveau nécessaires.
Configurer l’arrêt automatique d’une machine virtuelle
Dans le portail Azure, accédez à la machine virtuelle pour laquelle vous souhaitez configurer l’arrêt automatique.
Sur la page Détails de la Machine virtuelle, sélectionnez « Arrêt automatique » dans la section Opérations.
Dans l’écran de configuration « Arrêt automatique », basculez le commutateur sur « Activé ».
Définissez l’heure à laquelle vous souhaitez que la machine virtuelle s’arrête.
Si vous souhaitez recevoir une notification avant l’arrêt, sélectionnez « Oui » dans l’option « Envoyer une notification avant l’arrêt » et renseignez le champ « Adresse e-mail » ou « URL du webhook » en fonction de votre choix.
Cliquez sur « Enregistrer » pour enregistrer la configuration de l’arrêt automatique.
Pour configurer l’arrêt automatique pour une seule machine virtuelle à l’aide d’Azure CLI, vous pouvez utiliser le script suivant :
# 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
Pour configurer l’arrêt automatique pour plusieurs machines virtuelles à l’aide d’Azure CLI, vous pouvez utiliser le script suivant :
# 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
Les scripts ci-dessus utilisent les commandes az vm auto-shutdown et az vm restart pour définir les propriétés auto-shutdown et restart de toutes les machines virtuelles du groupe de ressources spécifié. L’option --ids est utilisée pour spécifier les machines virtuelles selon leurs ID, et les options --time et --auto-start- activées sont utilisées pour définir les propriétés d’arrêt automatique et de démarrage automatique, respectivement.
Les deux scripts invitent également à choisir entre le redémarrage automatique des machines ou leur désactivation jusqu’à ce qu’elles soient redémarrées manuellement. Le choix est utilisé pour définir la propriété --auto-shutdown-enabled des machines virtuelles.
Nettoyer les ressources
Si vous n’avez plus besoin de la machine virtuelle, supprimez-la en procédant comme suit :
Accédez à la page de présentation de la machine virtuelle à gauche
Sélectionnez « Supprimer » dans l’option supérieure du milieu.
Suivez les invites pour supprimer la machine virtuelle.