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:

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