DevOps-bootcamp · Les

Modules en hergebruik van code

Leer hoe Terraform-modules herbruikbare infrastructuur bundelen, inputs accepteren, outputs beschikbaar maken en configuraties DRY en onderhoudbaar houden.

Les 4 van 413 stappen

Modules en hergebruik van code is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 4 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.

Waarom modules?

Het kopiëren en plakken van dezelfde resources in verschillende omgevingen leidt tot afwijkingen en bugs. Een module is een herbruikbare, geparametriseerde container met Terraform-resources die je meerdere keren met verschillende inputs kunt aanroepen, zodat je code DRY blijft.

Elke configuratie is een module

De map waarin je terraform apply uitvoert, is de rootmodule. Modules die deze aanroept, zijn childmodules. Je gebruikt dus al modules — je voegt er alleen meer toe.

Opbouw van een module

Een module is gewoon een map met .tf-bestanden, meestal met deze indeling:

  • main.tf — de resources.
  • variables.tf — inputvariabelen.
  • outputs.tf — beschikbare waarden.

Inputs definiëren

Inputs worden als variabelen in de module gedeclareerd, zodat aanroepers het gedrag kunnen aanpassen.

variable "bucket_name" {
  type = string
}
variable "versioning" {
  type    = bool
  default = false
}

De inputs gebruiken

De resources van de module verwijzen naar de variabelen ervan.

resource "aws_s3_bucket" "this" {
  bucket = var.bucket_name
}

Outputs beschikbaar maken

Outputs retourneren nuttige waarden aan de aanroeper, zoals ID's of ARN's.

output "bucket_arn" {
  value = aws_s3_bucket.this.arn
}

Een module aanroepen

De rootmodule roept een childmodule aan met een module-blok en geeft daarbij inputs door.

module "logs" {
  source     = "./modules/bucket"
  bucket_name = "app-logs"
  versioning  = true
}

Verwijzen naar module-outputs

Je gebruikt de outputs van een module elders in je configuratie met module.NAME.OUTPUT.

resource "aws_s3_bucket_policy" "p" {
  bucket = module.logs.bucket_arn
}

Modulebronnen

De source kan een lokaal pad, een Git-URL of de openbare Terraform Registry zijn.

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "5.0.0"
}

Modules van versies voorzien

Leg voor modules uit de registry altijd een version vast, zodat upgrades bewust worden uitgevoerd. Voer terraform init uit nadat je modules hebt toegevoegd of gewijzigd, zodat ze worden gedownload.

Goede modules ontwerpen

Houd modules gericht (één logisch onderdeel), stel alleen de benodigde inputs beschikbaar, documenteer outputs en vermijd waarden die specifiek voor een omgeving zijn hardgecodeerd. Kleine, combineerbare modules zijn beter dan één enorme module.

Korte controle

Test je kennis van modules.

Samenvatting

Modules maken Terraform herbruikbaar en DRY.

  • Een module is een map met .tf-bestanden, variabelen (inputs) en outputs.
  • Roep een module aan met een module-blok en een source; gebruik de resultaten via module.NAME.OUTPUT.
  • Bronnen kunnen lokaal, Git of de registry zijn; leg version vast en voer init uit.
  • Ontwerp kleine, gerichte en goed gedocumenteerde modules.
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 “Modules en hergebruik van code” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Modules en hergebruik van code”, 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 “Modules en hergebruik van code”?

Leer hoe Terraform-modules herbruikbare infrastructuur bundelen, inputs accepteren, outputs beschikbaar maken en configuraties DRY en onderhoudbaar houden. 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 4 van 4.

Hoe lang duurt de les “Modules en hergebruik van code”?

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