Stefan Zawacki

Azure bietet mit Azure Automation, Automatisierungsdienste zur Steuerung und Wartung von Diensten und virtuellen Maschinen, um einmalige, oder wiederkehrende Aufgaben vollautomatisiert ausführen zu können. In diesem Beitrag lernen Sie, Azure Automation zu nutzen um virtuelle Computer automatisiert zu Starten und zu Stoppen.

In Azure werden die einzelnen Aufgabe in sogenannten „Runbooks“ definiert. Diese können über separat festlegbare Zeitpläne gesteuert werden. Zur Organisation der unterschiedlichen Komponenten wird zunächst ein Azure Automation-Konto benötigt, in dem alle Resourcen, wie Runbook, Zeitpläne, oder auch Credentials abgelegt werden.

 

Ein neues Azure Automation-Konto anlegen

Zum Anlegen eines neuen Kontos im linken Menü „Automatisierung“ auswählen und am unteren Seitenrand „Erstellen“ anklicken.

 

Automation Account

 

Im Dialogfenster einen Namen für das neue Konto festlegen, eine Region wählen und das Abonnement auswählen unter dem das neue Konto angelegt werden soll. Es kann nur auf Azure-Resourcen aus dem ausgewählten Abonnement zugegriffen werden, eine abonenmentübergreifende Steuerung ist nicht möglich.

 

Automation Account anlegen

 

In dem neu angelegt Konto sind zu Beginn noch keine Elemente enthalten.

 

New Automation Account

 

Ein neues Runbook anlegen

Um ein neues Runbook anzulegen, unten Links auf „Neu“ klicken. Im Dialogfenster die Punkte „Runbook“ -> „Schnellerfassung“ auswählen.

Einen Namen für das Runbook und ein Beschreibung angeben. Ein möglichst sprechender Name sollte hier gewählt werden, damit man auch Wochen, oder Monate später sein Runbook wieder finden kann. Ich wähle hier den Namen „StartVM“, da ich mit diesem Runbook meine virtuellen Computer starten möchte.  Die restlichen Einstellungen werden vom übergeordneten Konto übernommen und können auf den Default-Einstellungen belassen werden.

 

Neues Runbook anlegen
Nach einem Klick auf „Erstellen“ wird das Runbook angelegt und erscheint in der Übersicht.

Wählt man das Runbook aus, so gelangt man in das Konfigurationsmenü. Unter „Autor“ kann der Inhalt des Runbook erstellt werden, hier wird ein Powershell-Workflow erzeugt, in dem man alle benötigten Funktionen ausführen kann.

 

Unter „Zeitplan“ können Zeitpläne erstellt und mit den entsprechenden Runbooks verknüpft werden. Das Anlegen und Zuweisen von Zeitplänen wird am Ende dieses Beitrags erklärt.

 

Runbook Einstellungen

 

Alle Resourcen die hier erzeugt werden stehen nur innerhalb des Azure Automation-Kontos zur Verfügung, in dem sie angelegt werden.

Um nun eine, oder mehrere VMs mit dem angelegten Runbook zu starten, klicken Sie zunächst auf „Autor“ und es wird die Entwurfsansicht des Runbooks geöffnet. Der Powershell-Workflow ist bereits leer angelegt.

Anschließend wird das folgende  PowerShell-Skript eingefügt.

 

In dem Skript müssen nur die beiden Variablen „$Subscription“, „$ServiceName“ mit den entsprechenden Angaben befüllt werden. Zusätzlich muss der Parameter „-Name“ des Get-AutomationPSCredential Cmdlets mit dem Benutzernamen befüllt werden unter dem das Runbook laufen soll.

 

Runbook Workflow

 

Die in Runbooks erzeugten Powershell-Skripte benötigen Berechtigungen, um die hinterlegten Aufgaben durchführen zu können. Dazu müssen die Anmeldeinformationen in einem Azure Automation Credential Asset hinterlegt werden. In dem Credential werden die Azure-Login Daten des Kontos hinterlegt, unter dem die Skripte ausgeführt werden sollen und es wird ein Benutzername zugewiesen, der dann in dem Skript eingefügt wird. Somit müssen keine Login-Daten im Skript selbst hinterlegt werden.

Nur Benutzer die Co-Administrator sind haben alle benötigten Rechte.

 

Ein Azure Automation Credential Asset anlegen

Um ein neues Azure Automation Credentials anzulegen, im Menü den Punkt „Verwalten“ auswählen und aus dem Untermenü den Punkt „Einstellung hinzufügen“ wählen.

 

Credentials anlegen
Im Dialogfenster die Option „Anmeldeinformationen hinzufügen“ wählen.

 

Anmeldeinformationen hinzufügen

 

Im folgenden Fenster für „Typ der Anmeldeinformationen“ „Windows PowerShell-Anmeldeinformationen“ auswählen.

 

Credentials festlegen

 

Es empfiehlt sich einen separaten User, der nur für die Skriptausführung verwendet wird, anzulegen und diesen dann an dieser Stelle zu verwenden. Die Anlage eines solchen Benutzers kann nur durch den Administrator durchgeführt werden. Ist so ein Benutzer nicht vorhanden, so muss das eigene Benutzerkonto verwendet werden.

 

Azure Login
Im nächsten Schritt erfolgt die eigentliche Verknüpfung mit dem Azure-Account. Hier muss der Name des Azure-Benutzerkontos und das Passwort angegeben werden. Nach dem die Anmeldeinformationen gespeichert sind, kann der Benutzername des Credential-Kontos innerhalb dieses Azure Automation-Kontos benutzt werden.

Anschließend kann das Skript getestet und gespeichert werden. Läuft Alles wie gewünscht, kann das Runbook veröffentlichen werden. Damit das Runbook nun zum gewünschten Zeitpunkt ausgeführt wird, muss noch ein Zeitplan angelegt und zugewiesen werden. Ein Zeitplan kann beliebig vielen Runbooks zugewiesen werden, die sich im gleichen Automation-Konto befinden.

 

Einen neuen Azure Automation Zeitplan anlegen

Zum Anlegen eines neuen Zeitplans, im Menü des Runbooks den Punkt „Zeitplan“ auswählen.

 

Zeitplan anlegen

 

Da bei einem neu angelegtem Azure Automation-Konto noch keine Resourcen vorhanden sind, im folgenden Dialog den Punkt „Mit neuem Zeitplan verknüpfen“ auswählen.

 

Neuen Zeitplan verknüpfen

 

Als nächstes einen Namen und eine Beschreibung vergeben. Da Zeitpläne widerverwendbar sind, sollte hier die Beschreibung auf jeden Fall genutzt werden, um Zeitpunkt der Ausführung und die Wiederholung zu dokumentieren. So muß später nicht jedes Mal die Konfiguration des Zeitplans geöffnet werden, um den Plan einzusehen.

 

Zeitsteuerung

 

Im Anschluß wird der Plan eingestellt. In diesem Beispiel wird das Runbook täglich um 08:00 Uhr ausgeführt.
Nach dem Anlegen des Zeitplans wird dieser automatisch mit dem Runbook verknüpft und in der Übersicht wird der Zeitpunkt der nächsten Ausführung angezeigt.

 


Azure Automation: Zeitplanübersicht

 

Das PowerShell-Skript kann nun beliebig verändert, oder erweitert werden, um den eigenen Anforderungen zu entsprechen. Um beispielsweise die automatisch gestarteten virtuellen Computer auch wieder zeitgesteuert herunter zu fahren, kann das Skript in der folgenden modifizierten Version verwendet werden.

 

 

Die Automatisierungsdienste von Azure bieten viele weitere Möglichkeiten, um wiederkehrende Aufgaben auf einfache Weise vollautomatisch durchführen zu lassen.