DevOps-bootcamp · Les

Providers en resources

Krijg inzicht in hoe Terraform samenwerkt met verschillende cloud- en serviceproviders en hoe u afzonderlijke infrastructuurcomponenten als resources definieert.

Les 1 van 411 stappen

Providers en resources is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

De belangrijkste bouwstenen van Terraform

Welkom! Met Terraform kun je je cloudinfrastructuur beheren met behulp van code. Maar hoe communiceert het eigenlijk met cloudproviders en definieert het wat je wilt bouwen?

In deze les maak je kennis met twee fundamentele concepten: providers en resources. Dit zijn de basisbouwstenen van elke Terraform-configuratie en ze zijn essentieel om te begrijpen hoe IaC werkt.

Wat zijn Terraform-providers?

Zie een provider als een plug-in waarmee Terraform kan communiceren met een externe service of API. Dat kan een cloudprovider zijn, zoals AWS, Azure of Google Cloud, maar ook een service zoals GitHub, Kubernetes of Datadog.

  • Elke provider begrijpt de specifieke API-aanroepen die voor zijn service nodig zijn.
  • De provider vertaalt je gewenste infrastructuur naar acties die de service kan uitvoeren.
  • Je configureert providers om Terraform te vertellen welke service het moet gebruiken en hoe het zich moet authenticeren.

Een providerblok declareren

Om een provider te gebruiken, declareer je deze in je Terraform-configuratiebestanden met een provider-blok. Dit blok geeft de naam van de provider en eventuele configuratie-instellingen op die nodig zijn, zoals de regio voor een cloudprovider.

Hier is een veelgebruikt voorbeeld voor de 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"
}

Bron en versie van een provider

De sectie required_providers van het terraform-blok is belangrijk. Deze vertelt Terraform waar de provider te vinden is (de source) en welke version moet worden gebruikt. Zo zorg je voor consistentie en voorkom je onverwacht gedrag.

  • Bron: geeft het registerpad van de provider op (bijvoorbeeld hashicorp/aws).
  • Versie: legt de providerversie vast, zodat ingrijpende wijzigingen in nieuwe releases worden voorkomen.
  • Het blok provider "aws" configureert vervolgens specifieke instellingen, zoals de AWS-region voor alle resources die door deze provider worden beheerd.

Wat zijn Terraform-resources?

Een resource is een blok dat één onderdeel van je infrastructuur beschrijft. Dat kan een virtuele machine (VM), netwerk, database, opslagbucket of zelfs gebruikersaccount zijn.

  • Elk resourcetype wordt beheerd door een specifieke provider (bijvoorbeeld aws_s3_bucket door de AWS-provider).
  • Je declareert de gewenste status van je resource en Terraform zorgt ervoor dat die status wordt bereikt.
  • Resources hebben argumenten die hun eigenschappen bepalen (bijvoorbeeld grootte, naam en locatie).

Een resourceblok declareren

Je definieert een resource met een resource-blok. Dit blok vereist twee tekenreeksen:

  • Het resourcetype (bijvoorbeeld aws_s3_bucket).
  • Een lokale naam (bijvoorbeeld my_first_bucket) die uniek is binnen je configuratie.

Het type vertelt Terraform welk soort infrastructuuronderdeel het is, en de naam geeft het een unieke identificatie waarmee Terraform het kan volgen.

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
}

Resourceargumenten en eigenschappen

Binnen een resource-blok geef je argumenten op. Dit zijn sleutel-waardeparen die de eigenschappen en configuratie van het infrastructuuronderdeel bepalen. Welke argumenten beschikbaar zijn, hangt af van het resourcetype en de provider die het beheert.

  • Voor een AWS S3-bucket kunnen argumenten bijvoorbeeld bucket (de unieke naam), acl (toegangsbeheerlijst) of tags voor labels zijn.
  • Terraform gebruikt deze argumenten om de resource te maken of bij te werken, zodat deze overeenkomt met de gewenste status in de cloud.

Provider en resource combineren

Hier is een eenvoudige, volledige Terraform-configuratie. Deze declareert de AWS-provider en gebruikt die vervolgens om een eenvoudige S3-bucket te maken. Dit ene bestand is alles wat je nodig hebt om infrastructuur te gaan definiëren!

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"
  }
}

De koppeling met de Terraform-werkstroom

Wanneer je Terraform-opdrachten uitvoert, spelen providers en resources een belangrijke rol:

  • terraform init: downloadt de benodigde providerplug-ins.
  • terraform plan: gebruikt de provider om met de cloud-API te communiceren en te bepalen welke wijzigingen nodig zijn om de gewenste status van de resource te bereiken.
  • terraform apply: geeft de provider opdracht deze wijzigingen in je werkelijke cloudinfrastructuur aan te brengen.

Dit zijn de belangrijkste interactiepunten voor het beheren van je infrastructuur.

Korte controle: rol van de provider

Je hebt geleerd over providers en resources. Laten we kijken of je hun rollen goed kunt herkennen.

Samenvatting: providers en resources

Goed gedaan! In deze les heb je een fundamenteel inzicht gekregen in de twee belangrijkste concepten van Terraform:

  • Providers: dit zijn de essentiële plug-ins waarmee Terraform kan communiceren met verschillende cloudservices en API's. Je configureert ze om op te geven welke service moet worden gebruikt en hoe Terraform zich moet authenticeren.
  • Resources: dit zijn de afzonderlijke infrastructuuronderdelen die je in je configuratie declareert. Ze hebben typen en argumenten om hun gewenste status te definiëren.

Deze twee elementen werken samen, zodat je je infrastructuur efficiënt als code kunt definiëren en beheren!

Gratis beginnen

Leer DevOps-bootcamp met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
142
Lessen
568

Veelgestelde vragen

Is de les “Providers en resources” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Providers en resources”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat leer ik in “Providers en resources”?

Krijg inzicht in hoe Terraform samenwerkt met verschillende cloud- en serviceproviders en hoe u afzonderlijke infrastructuurcomponenten als resources definieert. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?

Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Providers en resources”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?

Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Providers en resources
  2. Variabelen en outputs
  3. Basisprincipes van statebeheer
  4. Modules en hergebruik van code
← Terug naar DevOps-bootcamp