In meinen Workshops und anderen Kundenterminen kommt immer wieder die Frage, wie man Virtuelle Maschinen in Azure nach Zeit gesteuert hoch- und wieder runterfahren kann. Das ist eigentlich ganz einfach – man benötigt dazu nur folgendes:
- Einen Azure Automation Account
- Ein PowerShell Runbook mit entsprechendem Skript
- VMs mit den entsprechenden Tags
Ich habe mich dazu zu folgenden Tags entschieden:
- AutoShutdown – Entscheidet, ob die VM automatisch heruntergefahren werden soll; kennt die Werte “Yes” and “No”
- AutoShutdownTime – enthält die entsprechende Zeit für den Shutdown im Format HH:mm:ss nach UTC
- AutoStartup – Entscheidet, ob die VM automatisch gestartet werden soll; kennt die Werte “Yes” and “No”
- AutoStartupTime – enthält die entsprechende Zeit für den Start im Format HH:mm:ss nach UTC
Das PowerShell-Skript findet ihr in meinem GitHub Repo:
https://github.com/HaikoHertes/scripts/blob/master/Azure/Automation/Snoozing/StartAndStopVMsWithAzureAutomation.ps1
Das Skript ist etwas komplexer als die beiden anderen im Repo, berücksichtigt dabei aber auch, dass eine VM ggf. morgens heruntergefahren und abends gestartet werden soll.
Auf Youtube habe ich ein Video veröffentlicht, dass das Vorgehen mit anderen Skripten zeigt:
Probiert es einfach mal aus – viel Spaß!