TERRAFORM WORKFLOW — INFRASTRUCTURE AS CODE main.tf HCL Config terraform plan terraform apply Cloud Providers AWS Azure GCP Write → Plan → Apply — declarative infrastructure management

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

  1. Immer terraform plan vor terraform apply ausfuehren
  2. Remote State mit Locking fuer Teamarbeit verwenden
  3. Module zur Organisation und Wiederverwendung nutzen
  4. Niemals Geheimnisse in Terraform-Dateien committen
  5. terraform fmt fuer 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.