Mit den Grundlagen von ARM-Templates haben wir uns bereits vertraut gemacht. Um einen noch höheren Grad der Automatisierung zu erreichen, schauen wir uns an, was wir sonst noch mit ARM-Templates anstellen können.
Ein Ubuntu mit grafischer Oberfläche und Azure-Tools, bereitgestellt mit einem Mausklick in Azure.
Diese Templates sich gut als Quelle und Inspiration für eigenen Entwicklungen nutzen oder mehr oder unverändert direkt in Azure bereitstellen. Da ein Großteil der Vorlagen aber nicht von Microsoft selbst stammt und das Repository zudem öffentlich zugänglich ist, sollte jedes Template vor der Bereitstellung in einem produktiven Konto grundlegend überprüft werden.
Nehmen wir ein einfaches Beispiel und suchen nach einer Einzel-Linux-VM mit Ubuntu und grafischer Oberfläche. Hier findet sich z. B. „Ubuntu Gnome Desktop, VS Code, Azure CLI and RDP Support“ von Lee Scott. Folgt man dem Link, werden zunächst alle im Template definierten Parameter angezeigt. Oberhalb davon gibt es zwei Schaltflächen.
Die Bereitstellung einer VM auf Basis eines Quickstart-Templates im Azure Portal.
(Bild: Drilling / Microsoft)
Mit „Deploy to Azure“ lässt sich das Template direkt in Azure-Portal bereitstellen. Mit „Auf GitHub suchen“ können die Deployment-Templates direkt auf GiHub angezeigt oder für eine Offline-Modifikation und Bereitstellung heruntergeladen werden. Beginnen wir mit dem Bereitstellen in Azure. Nach dem Klick auf die gleichnamige Schaltfläche landen Sie im Dialog für eine „vorlagenbasierte Bereitstellung“ im Azure-Portal und müssen nur noch die verbleibenden Parameter ausfüllen.
Eine Template-Bereitstellung im Azure-Portal.
(Bild: Drilling / Microsoft)
Optional hat man auch hier – wie schon im Teil 1 erläutert – noch einmal die Möglichkeit, entweder die Vorlage zu bearbeiten (Link „Vorlage bearbeiten“) oder das Parameter-File („Parameter bearbeiten“). Mit einem Klick auf „Überprüfen und erstellen“ ist die VM nach wenigen Minuten einsatzbereit und man kann sich mit einem beliebigen RDP-Client mit der Linux-VM verbinden, z. B. der mstsc.
Man beachte im Deployment den vorletzten Parameter „_artifacts Location“ mit dem Wert „[deployment().properties.templateLink.uri]“. Hierbei handelt es sich um den Basis-URI, in dem sich die von dieser Vorlage benötigten Artefakte befinden. Wenn die Vorlage mithilfe der begleitenden Skripts bereitgestellt wird, wird ein privater Speicherort im Abonnement verwendet und dieser Wert automatisch generiert.
Ein Ubuntu mit grafischer Oberfläche und Azure-Tools, bereitgestellt mit einem Mausklick in Azure.
(Bild: Drilling / Microsoft / Canonical)
Alternativ hätte man die VM auch von der Quickstart-Seite aus auch direkt in PowerShell oder Azure CLI bereitstellen können, wahlweise aus der Cloud Shell oder von einem lokalen Rechner aus. Die entsprechenden Kommandos finden sich auf der Quickstart-Seite direkt unterhalb der Parameterliste.
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/demos/ubuntu-desktop-gnome-rdp/azuredeploy.json
Die gleiche Vorlage aus GitHub.
(Bild: Drilling / Microsoft)
Interaktiv abgefragt werden dann nur die diejenigen Parameter, die „mandatory“ sind, nicht jene, die schon im Template über einen Default-Wert verfügen. Man kann aber optional auch erst einmal dem Link zur GitHub-Seite folgen. Dort lassen sich die betreffenden JSON-Template- und JSON-Parameter-Files auch direkt, anzeigen, bearbeiten oder herunterladen. Außerdem ist es auch von hier aus möglich, das Deployment grafisch im Azuze-Portal durchzuführen.
Das Visualisieren eines Deployments in GitHub.
(Bild: Drilling / Microsoft)
Von hier aus lässt sich außerdem das Deployment mit einem Klick auf „Visualize“ visualisieren. Lädt man sich die JSON-Files von hier herunter, kann man es ggf. modifizieren und wie in Teil 1 beschrieben von eigenem Arbeitsplatz aus als Group-Deployment in PowerShell oder Azure-CLI bereitstellen.
PowerShell:
New-AzResourceGroupDeployment ` -locaton <location> -ResourceGroupName <Resource-Group> -TemplateFile <Pfad zum Template-File> -TemplateParameterFile <Pfad zum Parameter-File>
Azure-CLI:
az group deployment create -g <Resource-Group> --template-file azuredeploy.json \ --parameters "{ \"location\": { \"value\": \"<location>\" } }"
Deployment skripten
Der Vorteil der Kommandozeile – egal ob PowerShell oder Azure CLI – besteht natürlich darin, dass sich Deployments auch hervorragend skripten lassen. Generell ist es egal, ob Sie das lieber in einem Bash- oder PowerShell-Kontext tun. Letztere zeichnet sich aber durch ihre objektorientierten Eigenschaften aus.
In der PowerShell kann man mit den entsprechenden PowerShell-Modulen im Übigen nicht nur den Azure Resource Manager abfragen kann, sondern z. B. auch das Azure AD oder den Azure Resource Graph oder Log Analytics, welche Beide die Kusto Query Langue verwenden (KQL) ein Thema, dem wir uns in den nächsten Artikeln zuwenden wollen.
Nun aber zum programmgesteuerten Erzeugen von Ressourcen: Gehen wir davon aus, wir wollen fünf neuen VMs mit fünf unterschiedlichen Namen auf Basis der gleichen Konfiguration erzeugen; dann muss man natürlich nicht fünf Mal das gleiche Skript modifizieren und fünf Mal hintereinander ausführen. Vielmehr gibt man einfach die Namen der entsprechenden Parameter als Liste mit in die Schleife zur Erzeugung der VMs mit.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.