Terraform
Terraform ist ein Tool, welches hilft, die Infrastruktur in Azure mittels Textdateien zu beschreiben. Terraform liest diese Dateien und erstellt die Azure Ressourcen automatisch.
Im Folgenden wird eine Kurzeinführung in Terraform gegeben. Für weiterführende Informationen wird auf das offizielle Handbuch verwiesen. Der Microsoft-Lehrgang Terraform on Azure Fundamentals Lab ist als tiefergehende Einführung in die Thematik ebenso empfohlen.
Zustand
Abschnitt betitelt „Zustand“Terraform benötigt einen Speicher für den aktuellen Zustand (auch State genannt) der Infrastruktur. Dies wird im Kapitel State des offiziellen Handbuchs genauer beschrieben. In diesem Artikel wird der Zustand in der lokalen Datei terraform.tfstate gespeichert. Dies ist für den produktiven Einsatz jedoch nicht empfehlenswert. Dazu ist das Kapitel Remote State des offiziellen Handbuchs zu konsultieren.
Installation
Abschnitt betitelt „Installation“Die Anleitung zur Installation ist unter diesem Link zu finden.
Beispiel
Abschnitt betitelt „Beispiel“Im folgenden Beispiel wird eine einfache Resource Group über Terraform erstellt. Um die Textdateien zu erzeugen, reicht ein beliebiger Texteditor. Die Terraform-Dateien werden am besten in einem neuen Verzeichnis abgelegt. In diesem Verzeichnis wird dann eine Terraform-Datei (hier main.tf) erstellt.
terraform { required_version = "~> 1.12" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 4.0" } }}
provider "azurerm" {}
resource "azurerm_resource_group" "example" { name = "rg-example" location = "switzerlandnorth"}Ausführung
Abschnitt betitelt „Ausführung“In dem Verzeichnis mit der obigen Datei kann dann Terraform ausgeführt werden. Dazu kann in die Kommandozeileneingabe gewechselt und zu diesem Verzeichnis navigiert werden. Im Verzeichnis kann dann ein Plan angezeigt werden, was Terraform verändern würde.
terraform planDer Plan zeigt dann alle erkannten Änderungen an.
Nachdem der Plan verifiziert wurde, können die Änderungen durch Terraform ausgeführt werden lassen:
terraform applyDer Plan wird vor der Ausführung nochmals angezeigt und kann ein letztes Mal abgebrochen werden.
Azure Verified Modules (AVM)
Abschnitt betitelt „Azure Verified Modules (AVM)“Microsoft stellt eine Sammlung von geprüften Modulen für Terraform (und Bicep) zur Verfügung, welche die Erstellung von komplexeren Infrastrukturen erleichtert. Diese Sammlung wird Azure Verified Modules genannt. Diese Module sind Open Source und helfen dabei, Ressourcen gemäss den Best Practices von Microsoft zu erstellen.
Der Lehrgang Introduction to using Azure Verified for Terraform bietet einen Einstieg in die Thematik und führt in mehrere Terraform-Module ein, um ein komplexeres Setup mittels Terraform zu realisieren.
Vorlagen
Abschnitt betitelt „Vorlagen“Die Informatikdienste stellen einige Vorlagen zur Verfügung, welche mittels Terraform ausgeführt werden können.