Nach dem Lesen von Kapitel 1 des Buches war es an der Zeit, meinen Rechner für den Einsatz von Terraform vorzubereiten, um Deployments in Azure zu skripten. Also suchte ich in den Microsoft Docs nach einer kurzen Anleitung und fand diese Beschreibung.

Erster Schritt - Terraform auf meinem Rechner installieren

Ich entschied mich, Terraform im Windows Subsystem for Linux (WSL) auf meinem Windows-10-Rechner zu installieren. Ich bin im Fast-Ring des Windows-10-Insider-Programms – daher konnte ich bereits WSL2 nutzen. Wenn ihr mehr über WSL2 erfahren wollt, besucht die Microsoft-Seite https://aka.ms/wsl2. Um Terraform in meinem WSL2 zu installieren, öffnete ich die Bash und gab folgende Befehle ein (nutzt sudo falls erhöhte Rechte benötigt werden):

# Zuerst - unzip installieren

apt-get install unzip

# Installation für Terraform herunterladen (vorher auf neueste Version prüfen...)

wget https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_linux_amd64.zip

# Terraform-Ordner entpacken

unzip terraform_0.12.6_linux_amd64.zip terraform

# Ordner in einen zugänglichen Pfad für das System verschieben

mv terraform /usr/local/bin/

# Terraform-Version auf der WSL-Maschine testen

terraform --version

Wenn alles funktioniert hat, habt ihr jetzt Terraform auf eurer WSL und könnt loslegen.

Zweiter Schritt - Terraform verbinden

Sobald Terraform euer Skript in eurem Azure-Tenant ausführen soll, ist der beste Weg, einen Service Principal in eurem Azure Active Directory mit den benötigten Contributor-Rechten bereitzustellen. Die Anleitung dazu findet ihr in den Microsoft Docs.

Der letzte Schritt ist die Definition der Umgebungsvariablen, damit Terraform die gerade erstellten Anmeldedaten verwenden kann.

Letzter Schritt - Die erste Ressource bereitstellen

Jetzt, da die Umgebung korrekt eingerichtet ist, können wir unsere erste Azure-Ressource bereitstellen. Und was ist die beste erste Ressource – ja, eine Resource Group!

Wir brauchen unser erstes Terraform-Skript. Ich erstellte einen neuen Ordner in der WSL und startete Visual Studio Code (VSCode) in diesem Ordner, indem ich einfach code . eingab, um die Oberfläche in diesem Ordner zu starten. Dann erstellte ich mein erstes Skript namens main.tf und gab folgenden Code ein:

# main.tf

provider "azurerm" {
  version = "~>2.0.0"
  features {}
}

resource "azurerm_resource_group" "rg" {
        name = "myFirstTerraform-RG"
        location = "westeurope"
        tags = {
            source = "Terraform"
        }
}

Nach dem Speichern des Skripts öffnete ich das Terminal in VSCode und führte meinen ersten Terraform-Befehl aus:

terraform init

Wenn alle Umgebungsvariablen korrekt gesetzt sind und wir keinen Tippfehler gemacht haben, interpretiert Terraform die provider-Anweisung und lädt den benötigten Azure-Provider herunter. Danach können wir unser Skript auf Azure anwenden:

terraform apply

Wir müssen nur noch ein abschließendes “yes” in die Konsole eingeben und unsere erste Resource Group wird in Azure bereitgestellt. Also öffnen wir das Azure-Portal und prüfen:

Terraform Beispiel Resource Group

Das war’s – unser erstes Terraform-Skript wurde erfolgreich in Azure bereitgestellt!