TL;DR — Kurzzusammenfassung
Starten Sie mit Terraform und Infrastructure as Code. Lernen Sie HCL-Syntax, Provider, Ressourcen, State, Module und praktische Workflows fuer Cloud-Infrastrukturverwaltung.
Infrastructure as Code (IaC) hat die Art und Weise, wie wir IT-Infrastruktur verwalten, grundlegend veraendert. Terraform, entwickelt von HashiCorp, ist das am weitesten verbreitete IaC-Werkzeug.
Installation
Linux (Ubuntu/Debian)
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform -y
Grundlegende Konzepte
Provider
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = "us-east-1"
}
Ressourcen
resource "aws_instance" "web_server" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t3.micro"
tags = {
Name = "webserver"
}
}
Variablen
variable "instance_type" {
description = "EC2-Instanztyp"
type = string
default = "t3.micro"
}
Der Terraform-Workflow
terraform init # Arbeitsverzeichnis initialisieren
terraform plan # Aenderungen vorschauen
terraform apply # Aenderungen anwenden
terraform destroy # Infrastruktur zerstoeren
Best Practices
- Immer
terraform planvorterraform applyausfuehren - Remote State mit Locking fuer Teamarbeit verwenden
- Module zur Organisation und Wiederverwendung nutzen
- Niemals Geheimnisse in Terraform-Dateien committen
terraform fmtfuer konsistente Formatierung verwenden
Fazit
Terraform bringt die Prinzipien der Softwareentwicklung in die Infrastrukturverwaltung. Durch die Definition Ihrer Infrastruktur als Code gewinnen Sie Reproduzierbarkeit, Zusammenarbeit und Automatisierungsfaehigkeiten.
Verwandte Artikel
- Ansible für Einsteiger: Serverkonfiguration ohne Agent automatisieren
- Ansible Vault: Vollständiger Leitfaden zur Verschlüsselung von Secrets in Playbooks
- GitHub Actions: CI/CD-Pipelines für automatisierte Deployments erstellen
- ArgoCD GitOps für Kubernetes-Deployments
- Kubernetes-Grundlagen: Ersten Cluster mit kubeadm bereitstellen