Dokumentationen

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.

Note

Dieses Thema ist nicht notwendig, um Azure zu nutzen. Alles was hier beschrieben wird kann ebenso über das Portal ausgeführt werden.

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

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

Die Anleitung zur Installation ist unter diesem Link zu finden.

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

Note

Die obige Konfiguration bedingt, dass eine Anmeldung mit az login an Azure durchgeführt wurde. Dies wird im Artikel CLI genauer beschrieben.

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 plan

Der Plan zeigt dann alle erkannten Änderungen an.

Note

Falls mehrere Subscriptions vorhanden sind, muss mittels az account set -n "<NAME>" zu derjenigen gewechselt werden, in welcher diese Infrastruktur erstellt werden soll.

Nachdem der Plan verifiziert wurde, können die Änderungen durch Terraform ausgeführt werden lassen:

terraform apply

Der Plan wird vor der Ausführung nochmals angezeigt und kann ein letztes Mal abgebrochen werden.

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

Die Informatikdienste stellen einige Vorlagen zur Verfügung, welche mittels Terraform ausgeführt werden können.

Note

Diese werden zu einem späteren Zeitpunkt hier veröffentlicht.

Referenzen