Terraform som Infrastructure as Code · leksjon

Moduler og gjenbruk av kode

Lær hvordan Terraform-moduler pakker gjenbrukbar infrastruktur, tar imot inndata, eksponerer utdata og holder konfigurasjoner DRY og vedlikeholdbare.

Leksjon 4 av 413 trinn

Moduler og gjenbruk av kode er en gratis leksjon i Terraform som Infrastructure as Code på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Terraform som Infrastructure as Code, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Terraform som Infrastructure as Code inneholder totalt 4 leksjoner.

Hvorfor moduler?

Hvis De kopierer og limer inn de samme ressursene på tvers av miljøer, oppstår avvik og feil. En modul er en gjenbrukbar, parameterisert beholder for Terraform-ressurser som De kan kalle flere ganger med ulike inndata, slik at koden forblir DRY.

All konfigurasjon er en modul

Katalogen der De kjører terraform apply, er rotmodulen. Moduler den kaller, er underordnede moduler. De bruker altså allerede moduler – De legger bare til flere.

Modulens oppbygning

En modul er ganske enkelt en mappe med .tf-filer, vanligvis:

  • main.tf – ressursene.
  • variables.tf – inndatavariablene.
  • outputs.tf – eksponerte verdier.

Definere inndata

Inndata deklareres som variabler i modulen, slik at klienter kan tilpasse virkemåten.

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

Bruke inndataene

Ressursene i modulen refererer til variablene.

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

Eksponere utdata

Utdata returnerer nyttige verdier til klienten, for eksempel ID-er eller ARN-er.

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

Kalle en modul

Rotmodulen kaller en underordnet modul med en module-blokk og sender inn inndata.

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

Referere til modulutdata

Få tilgang til utdata fra en modul med module.NAME.OUTPUT andre steder i konfigurasjonen.

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

Modulkilder

source kan være en lokal bane, en Git-URL eller det offentlige Terraform Registry.

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

Versjonere moduler

Fastsett alltid en version for registermoduler, slik at oppgraderinger skjer bevisst. Kjør terraform init etter at De har lagt til eller endret moduler, slik at de lastes ned.

Utforme gode moduler

Hold modulene fokuserte (én logisk komponent), eksponer bare inndataene De trenger, dokumenter utdataene, og unngå hardkoding av miljøspesifikke verdier. Små, komponerbare moduler er bedre enn én gigantisk modul.

Rask kontroll

Test kunnskapen Deres om moduler.

Oppsummering

Moduler gjør Terraform gjenbrukbart og DRY.

  • En modul er en mappe med .tf-filer, variabler (inndata) og utdata.
  • Kall den med en module-blokk og en source; få tilgang til resultatene via module.NAME.OUTPUT.
  • Kilder kan være lokale, Git eller registeret; fastsett version og kjør init.
  • Utform små, fokuserte og godt dokumenterte moduler.
Gratis å komme i gang

Lær deg Terraform som Infrastructure as Code med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Moduler og gjenbruk av kode» gratis?

Ja – hele teksten i «Moduler og gjenbruk av kode» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Terraform som Infrastructure as Code-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Terraform som Infrastructure as Code inneholder totalt 4 leksjoner.

Hva lærer jeg i «Moduler og gjenbruk av kode»?

Lær hvordan Terraform-moduler pakker gjenbrukbar infrastruktur, tar imot inndata, eksponerer utdata og holder konfigurasjoner DRY og vedlikeholdbare. Du øver på Terraform som Infrastructure as Code med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Terraform som Infrastructure as Code?

Ingen tidligere erfaring er nødvendig. Terraform som Infrastructure as Code på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Moduler og gjenbruk av kode»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Terraform som Infrastructure as Code-leksjonen?

Ja. Alle Terraform som Infrastructure as Code-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Providers og ressurser
  2. Variabler og utdata
  3. Grunnleggende om state-håndtering
  4. Moduler og gjenbruk av kode
← Tilbake til Terraform som Infrastructure as Code