Zurück zur Übersicht

Begriff

Terraform Provider

IaC DevOps S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Terraform selbst ist dumm. Es kennt nur "Ressourcen" und "Graphen". Es weiß nicht, was eine "AWS EC2 Instanz" ist. Dafür braucht es einen Dolmetscher: Den Provider. Der aws Provider weiß: "Wenn der User aws_instance schreibt, muss ich die AWS API RunInstances aufrufen." Für jede Cloud (Azure, Google) und jeden Dienst (Cloudflare, Kubernetes, GitHub) gibt es einen eigenen Provider. Sie sind Binary-Plugins (Go-Programme), die Terraform beim init herunterlädt.

Merksatz: Ein Plugin für Terraform, das die API-Aufrufe für einen spezifischen Cloud-Anbieter oder Dienst implementiert und die Übersetzung von Terraform-Code (HCL) in reale Infrastruktur-Operationen übernimmt.


Quick-Check

  1. Woher kommen die?
    Terraform Registry. Die meisten sind "Official" (von HashiCorp) oder "Partner" (von AWS/Azure selbst). Es gibt auch "Community" Provider (Vorsicht bei Qualität!).
  2. Data Sources?
    Provider können nicht nur schreiben (resource), sondern auch lesen (data). Der AWS-Provider kann "das neueste Ubuntu Image" suchen (data "aws_ami"). Das passiert vor dem Apply Phase.
  3. Credentials?
    Der Provider sucht meistens Umgebungsvariablen (AWS_ACCESS_KEY_ID). Hardcodiere NIEMALS Credentials im provider Block! Das landet im Git. Nutze Env Vars oder IAM Rollen.