Azure VMs automatisiert starten oder stoppen
12. März 2018Um einzelne Systeme – oder ganze Gruppen – in Azure zu verwalten, stehen unterschiedliche Methoden zur Auswahl. Bei sehr kleinen Installationen managen die Administratoren die einzelnen VMs (virtuellen Maschinen) oftmals mit Hilfe des Azure Portals – der grafischen Oberfläche (GUI). Sollen dagegen sehr viele Systeme und Gruppen verwaltet werden, reicht dies in der Regel nicht, und die Systembetreuer setzen auf andere Lösungsansätze. An dieser Stelle können die Verantwortlichen einen Blick auf die Powershell werfen. Zudem setzen die Administratoren zur Verwaltung zahlreicher VMs auf das „Runbook-Konzept“. Diese Regelsammlung zur „Azure Automatisation“ enthält unterschiedliche Bedingungen, Trigger und Regelsätze. Weitere Informationen zum Thema „Runbook“ sind auf der entsprechenden Seite von Microsoft zu finden.
Die angepassten Runbooks erlauben es, bestimmte Aktionen an gewisse Bedingungen zu knüpfen. Beispielsweise lassen sich detaillierte Zeitpläne für den VM-Betrieb festlegen. Dabei legen die Systembetreuer beispielsweise fest, zu welchen Zeitpunkten bestimmte Systeme gestartet oder heruntergefahren werden:
Gruppe 1 (bestehend aus 20 VMs) könnte sich beispielsweise jeden Wochentag von 06:00 Uhr bis 20:00 Uhr im laufenden Betrieb befinden und zusätzlich am Samstag von 06:00 bis 14:00 Uhr. Die restlichen Zeiten werden die VMs im Unternehmen nicht genutzt, und daher automatisch abgeschaltet. Zudem lassen sich noch weitere Ausnahmen definieren, etwa alle gesetzlichen Feiertage, bei denen die Systeme ebenfalls abgeschaltet werden.
Das folgende Runbook wird innerhalb eines Azure Automation Accounts eingesetzt, folglich wird eine entsprechende Lizenz sowie passende Anmeldedaten benötigt. Dabei ist es beispielsweise möglich, das Runbook einmal pro Stunde auszuführen. Diese Regelsammlung checkt nun alle verfügbaren VMs und gleicht diese mit „ihren“ im Vorfeld festgelegten Regeln ab. So lassen sich bestimmte Einzel-VMs oder ganze Gruppen automatisiert herunterfahren oder starten. Die entsprechenden Informationen (etwa Azure Credentials) müssen noch im Skript definiert werden. Weitere Informationen dazu finden die Systembetreuer in der Technet-Gallerie.