0Pricing
DevOps Bootcamp · Lektion

Provider und Ressourcen

Verstehen Sie, wie Terraform mit verschiedenen Cloud- und Service-Providern interagiert und wie sich einzelne Infrastrukturkomponenten als Ressourcen definieren lassen.

Provider und Ressourcen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Die grundlegenden Bausteine von Terraform

Willkommen! Mit Terraform verwalten Sie Ihre Cloud-Infrastruktur mithilfe von Code. Doch wie kommuniziert Terraform tatsächlich mit Cloud-Providern, und wie definieren Sie, was erstellt werden soll?

In dieser Lektion lernen Sie zwei grundlegende Konzepte kennen: Provider und Ressourcen. Sie bilden die Basis jeder Terraform-Konfiguration und sind entscheidend für das Verständnis der Funktionsweise von IaC.

Was sind Terraform-Provider

Stellen Sie sich einen Provider als ein Plugin vor, das Terraform die Interaktion mit einem externen Dienst oder einer API ermöglicht. Das kann ein Cloud-Provider wie AWS, Azure oder Google Cloud sein, aber auch ein Dienst wie GitHub, Kubernetes oder Datadog.

  • Jeder Provider kennt die spezifischen API-Aufrufe, die für seinen Dienst erforderlich sind.
  • Er übersetzt Ihre gewünschte Infrastruktur in Aktionen, die der Dienst ausführen kann.
  • Sie konfigurieren Provider, um Terraform mitzuteilen, welchen Dienst es verwenden und wie es sich authentifizieren soll.

Einen Provider-Block deklarieren

Um einen Provider zu verwenden, deklarieren Sie ihn in Ihren Terraform-Konfigurationsdateien mithilfe eines provider-Blocks. Dieser Block gibt den Namen des Providers und alle erforderlichen Einstellungen an, etwa die Region bei einem Cloud-Provider.

Hier ist ein übliches Beispiel für den AWS-Provider:

terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } } } provider "aws" { region = "us-east-1" }
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = "us-east-1"
}

Quelle und Version des Providers

Der Abschnitt required_providers im terraform-Block ist wichtig. Er teilt Terraform mit, wo der Provider zu finden ist (seine source) und welche version verwendet werden soll. Dadurch wird Konsistenz sichergestellt und unerwartetes Verhalten verhindert.

  • Quelle: Gibt den Registry-Pfad des Providers an (z. B. hashicorp/aws).
  • Version: Fixiert die Provider-Version und verhindert inkompatible Änderungen durch neue Releases.
  • Der Block provider "aws" konfiguriert anschließend spezifische Einstellungen, etwa die AWS-region für alle von diesem Provider verwalteten Ressourcen.

Was sind Terraform-Ressourcen

Eine Ressource ist ein Block, der eine einzelne Komponente Ihrer Infrastruktur beschreibt. Dabei kann es sich um eine virtuelle Maschine (VM), ein Netzwerk, eine Datenbank, einen Speicher-Bucket oder sogar ein Benutzerkonto handeln.

  • Jeder Ressourcentyp wird von einem bestimmten Provider verwaltet (z. B. wird aws_s3_bucket vom AWS-Provider verwaltet).
  • Sie deklarieren den gewünschten Zustand Ihrer Ressource, und Terraform arbeitet darauf hin, diesen Zustand herzustellen.
  • Ressourcen verfügen über Argumente, die ihre Eigenschaften festlegen (z. B. Größe, Name und Standort).

Einen Ressourcenblock deklarieren

Sie definieren eine Ressource mithilfe eines resource-Blocks. Dieser Block benötigt zwei Zeichenfolgen:

  • Den Ressourcentyp (z. B. aws_s3_bucket).
  • Einen lokalen Namen (z. B. my_first_bucket), der innerhalb Ihrer Konfiguration eindeutig ist.

Der Typ teilt Terraform mit, um welche Infrastrukturkomponente es sich handelt, und der Name dient als eindeutige Kennung, unter der Terraform die Ressource verfolgt.

resource "aws_s3_bucket" "my_first_bucket" { # Arguments go here to define its properties }
resource "aws_s3_bucket" "my_first_bucket" {
  # Arguments go here to define its properties
}

Ressourcenargumente und Eigenschaften

Innerhalb eines resource-Blocks geben Sie Argumente an. Dabei handelt es sich um Schlüssel-Wert-Paare, die die Eigenschaften und Konfiguration der Infrastrukturkomponente festlegen. Welche Argumente verfügbar sind, hängt vom Ressourcentyp und dem zuständigen Provider ab.

  • Bei einem AWS-S3-Bucket können Argumente beispielsweise bucket (der eindeutige Name), acl (Zugriffssteuerungsliste) oder tags zur Beschriftung sein.
  • Terraform verwendet diese Argumente, um die Ressource zu erstellen oder zu aktualisieren, sodass sie dem gewünschten Zustand in der Cloud entspricht.

Zusammenführen: Provider und Ressource

Hier ist eine einfache, vollständige Terraform-Konfiguration. Sie deklariert den AWS-Provider und verwendet ihn anschließend, um einen einfachen S3-Bucket zu erstellen. Diese eine Datei genügt, um mit der Definition von Infrastruktur zu beginnen!

terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } } } provider "aws" { region = "us-east-1" } resource "aws_s3_bucket" "my_unique_bucket" { bucket = "my-coddykit-demo-bucket-12345" # Must be globally unique! acl = "private" tags = { Environment = "Development" Project = "CoddyKit" } }
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = "us-east-1"
}

resource "aws_s3_bucket" "my_unique_bucket" {
  bucket = "my-coddykit-demo-bucket-12345" # Must be globally unique!
  acl    = "private"

  tags = {
    Environment = "Development"
    Project     = "CoddyKit"
  }
}

Die Verbindung zum Terraform-Workflow

Bei der Ausführung von Terraform-Befehlen spielen Provider und Ressourcen eine zentrale Rolle:

  • terraform init: Lädt die erforderlichen Provider-Plugins herunter.
  • terraform plan: Verwendet den Provider, um mit der Cloud-API zu kommunizieren und zu ermitteln, welche Änderungen erforderlich sind, um den gewünschten Zustand der Ressource herzustellen.
  • terraform apply: Weist den Provider an, diese Änderungen an Ihrer tatsächlichen Cloud-Infrastruktur vorzunehmen.

Sie sind die zentralen Interaktionspunkte bei der Verwaltung Ihrer Infrastruktur.

Kurztest: Rolle des Providers

Sie haben Provider und Ressourcen kennengelernt. Prüfen wir, ob Sie deren Rollen richtig zuordnen können.

Zusammenfassung: Provider und Ressourcen

Sehr gut! In dieser Lektion haben Sie ein grundlegendes Verständnis der beiden wichtigsten Konzepte in Terraform erworben:

  • Provider: Diese essenziellen Plugins ermöglichen Terraform die Interaktion mit verschiedenen Cloud-Diensten und APIs. Sie konfigurieren sie, um den zu verwendenden Dienst und die Authentifizierung festzulegen.
  • Ressourcen: Dies sind die einzelnen Infrastrukturkomponenten, die Sie in Ihrer Konfiguration deklarieren. Sie verfügen über Typen und Argumente, mit denen Sie ihren gewünschten Zustand definieren.

Diese beiden Elemente greifen ineinander und ermöglichen es Ihnen, Ihre Infrastruktur effizient als Code zu definieren und zu verwalten.

Häufig gestellte Fragen

Ist die Lektion „Provider und Ressourcen“ kostenlos?

Ja — der vollständige Text von „Provider und Ressourcen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Provider und Ressourcen“?

Verstehen Sie, wie Terraform mit verschiedenen Cloud- und Service-Providern interagiert und wie sich einzelne Infrastrukturkomponenten als Ressourcen definieren lassen. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Provider und Ressourcen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Provider und Ressourcen
  2. Variablen und Outputs
  3. Grundlagen der State-Verwaltung
  4. Module und Code-Wiederverwendung
← Zurück zu DevOps Bootcamp