Z tego samouczka dowiesz się, jak automatycznie zamykać maszyny wirtualne na platformie Azure. Funkcja automatycznego zamykania maszyn wirtualnych platformy Azure może pomóc zmniejszyć koszty, zamykając maszyny wirtualne poza godzinami pracy, gdy nie są potrzebne i automatycznie uruchamiane ponownie, gdy będą potrzebne ponownie.
Konfigurowanie automatycznego zamykania maszyny wirtualnej
W witrynie Azure Portal przejdź do maszyny wirtualnej, dla której chcesz skonfigurować automatyczne zamykanie.
Na stronie szczegółów maszyny wirtualnej wybierz pozycję "Automatyczne zamykanie" w sekcji Operacje .
Na ekranie konfiguracji "Automatyczne zamykanie" przełącz przełącznik na "Włączone".
Ustaw czas zamknięcia maszyny wirtualnej.
Jeśli chcesz otrzymywać powiadomienia przed zamknięciem, wybierz opcję "Tak" w opcji "Wyślij powiadomienie przed zamknięciem" i podaj szczegóły w polu "Adres e-mail" lub "Adres URL elementu webhook" zgodnie z wyborem.
Wybierz pozycję "Zapisz", aby zapisać konfigurację automatycznego zamykania.
Aby skonfigurować automatyczne zamykanie dla pojedynczej maszyny wirtualnej przy użyciu interfejsu wiersza polecenia platformy Azure, możesz użyć następującego skryptu:
# 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
Aby skonfigurować automatyczne zamykanie wielu maszyn wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure, możesz użyć następującego skryptu:
# 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
Powyższe skrypty używają az vm auto-shutdown poleceń i az vm restart , aby ustawić auto-shutdown właściwości i restart wszystkich maszyn wirtualnych w określonej grupie zasobów. Ta --ids opcja służy do określania maszyn wirtualnych według ich identyfikatorów, a --time opcje i --auto-start-włączone są używane do ustawiania właściwości automatycznego zamykania i automatycznego uruchamiania odpowiednio.
Oba skrypty również monitują o wybranie, czy automatycznie ponownie uruchomić maszyny, czy pozostawić je wyłączone do momentu ręcznego ponownego uruchomienia. Wybór służy do ustawiania właściwości --auto-shutdown-enabled maszyn wirtualnych.
Czyszczenie zasobów
Jeśli maszyna wirtualna nie jest już potrzebna, usuń ją, wykonując następujące czynności:
Przejdź do strony Przegląd maszyny wirtualnej po lewej stronie
Wybierz pozycję "Usuń" z górnej opcji środkowej.
Postępuj zgodnie z monitami, aby usunąć maszynę wirtualną.