Terraform DNS: Slik automatiserer du DNS-oppdateringer

Manuelle DNS-endringer er tidkrevende og utsatte for menneskelige feil. Med Terraform DNS kan du automatisere hele prosessen, versjonskontrollere endringene dine og rulle tilbake feil på sekunder. Denne guiden viser deg nøyaktig hvordan du kommer i gang.

Kort oppsummert: Terraform er et Infrastructure as Code-verktøy som lar deg definere DNS-soner og DNS-poster i konfigurasjonsfiler. Du kjører én kommando, og Terraform oppdaterer DNS-en din automatisk. Kombinert med en norsk domeneregistrar som Feno får du full kontroll over .no-domenene dine.

Hva er Terraform DNS og Infrastructure as Code?

Infrastructure as Code (IaC) betyr at du beskriver infrastrukturen din i kode i stedet for å klikke manuelt i et kontrollpanel. Terraform er det mest brukte IaC-verktøyet, utviklet av HashiCorp, og støtter hundrevis av tjenesteleverandører.

Når du bruker Terraform for DNS, definerer du alle DNS-poster (A, AAAA, CNAME, MX, TXT) i .tf-filer. Terraform sammenligner ønsket tilstand med faktisk tilstand og gjør bare de nødvendige endringene. Det betyr færre feil, full sporbarhet og mulighet for godkjenningsflyt via pull requests.

Fordeler med å automatisere DNS

  • Versjonskontroll: Alle endringer logges i Git, slik at du alltid kan se hvem som endret hva og når
  • Repeterbarhet: Samme konfigurasjon gir alltid samme resultat, uansett miljø
  • Feilreduksjon: Ingen tastefeil i kontrollpanelet, Terraform validerer syntaks før endringer kjøres
  • Samarbeid: Teamet kan reviewe DNS-endringer som vanlige kodeendringer
  • Rask tilbakerulling: Reverter en commit, kjør terraform apply, og DNS er tilbake til forrige tilstand

Slik setter du opp Terraform DNS steg for steg

Her er en praktisk gjennomgang for å komme i gang med Terraform og DNS-administrasjon for ditt .no-domene.

Steg 1: Installer Terraform

Last ned Terraform fra den offisielle nettsiden og installer det for ditt operativsystem. Bekreft installasjonen ved å kjøre:

terraform version

Du trenger versjon 1.0 eller nyere for å følge denne guiden.

Steg 2: Velg en DNS-provider

Terraform bruker providers for å kommunisere med eksterne tjenester. For DNS finnes det flere relevante providere:

  1. Cloudflare: Populært valg med god Terraform-støtte
  2. AWS Route 53: Dersom du allerede bruker AWS-infrastruktur
  3. Google Cloud DNS: For Google Cloud-brukere
  4. Azure DNS: For Microsoft Azure-miljøer

Uansett hvilken DNS-provider du bruker for oppslag, kan du registrere .no-domenet ditt hos Feno og peke navneserverne til ønsket provider.

Steg 3: Definer DNS-konfigurasjonen

Opprett en fil kalt main.tf med din DNS-konfigurasjon. Her er et eksempel med Cloudflare som DNS-provider:

terraform {
  required_providers {
    cloudflare = {
      source = "cloudflare/cloudflare"
    }
  }
}

resource "cloudflare_record" "www" {
  zone_id = var.zone_id
  name    = "www"
  content   = "192.0.2.1"
  type    = "A"
  ttl     = 300
}

resource "cloudflare_record" "mx" {
  zone_id  = var.zone_id
  name     = "@"
  content    = "mail.eksempel.no"
  type     = "MX"
  priority = 10
}

Steg 4: Initialiser og kjør Terraform

  1. Kjør terraform init for å laste ned nødvendige providere
  2. Kjør terraform plan for å se hvilke endringer som vil bli gjort
  3. Gjennomgå planen nøye
  4. Kjør terraform apply for å utføre endringene

Terraform viser deg en detaljert oversikt over hva som legges til, endres eller fjernes før du bekrefter. Dette gir deg full kontroll.

Best practices for Terraform DNS i produksjon

Bruk remote state

Lagre Terraform state i en ekstern backend (som AWS S3 eller Terraform Cloud) i stedet for lokalt. Dette sikrer at teamet alltid jobber mot samme tilstand og unngår konflikter.

Bruk moduler for gjenbruk

Dersom du administrerer DNS for flere domener, kan du lage en Terraform-modul som standardiserer oppsettet. Definer standard DNS-poster (SPF, DKIM, DMARC for e-post) i modulen, og gjenbruk den for hvert domene.

Implementer CI/CD-pipeline

Sett opp en automatisert pipeline der DNS-endringer:

  1. Committes til en feature-branch
  2. Åpner en pull request med terraform plan-output
  3. Reviewes av en kollega
  4. Merges til main og kjører terraform apply automatisk

Denne arbeidsflyten gir deg samme kvalitetskontroll for DNS som for applikasjonskoden din.

Hold sensitive verdier utenfor koden

API-nøkler og tokens skal aldri committes til Git. Bruk miljøvariabler eller en secrets manager som HashiCorp Vault. Terraform leser automatisk variabler fra TF_VAR_-prefiksede miljøvariabler.

Hva koster et .no-domene?

For å bruke Terraform DNS trenger du naturligvis et domene. Hos Feno koster et .no-domene fra kun 99 kr per år, uten skjulte gebyrer eller oppsettskostnader. Terraform i seg selv er gratis og open source.

Sammenlignet med markedet ligger dette blant de mest konkurransedyktige prisene i Norge. Du betaler kun for domeneregistreringen, og får et moderne kontrollpanel for å administrere navneservere og DNS-innstillinger.

Overføre domene fra en annen registrar

Har du allerede et .no-domene hos en annen registrar? Du kan enkelt flytte det til Feno:

  1. Logg inn hos din nåværende registrar og hent autorisasjonskoden (AuthCode/EPP-kode)
  2. Gå til Feno og start en domeneoverføring
  3. Oppgi autorisasjonskoden
  4. Bekreft overføringen (prosessen tar vanligvis noen timer for .no-domener)

Dine eksisterende DNS-poster beholdes under overføringen. Etter at domenet er hos Feno, kan du peke navneserverne til din foretrukne DNS-provider og fortsette med Terraform som før.

Vanlige spørsmål om Terraform og DNS

Kan jeg bruke Terraform med hvilken som helst domeneregistrar?

Terraform kommuniserer med DNS-provideren din (som Cloudflare eller Route 53), ikke direkte med registraren. Du registrerer domenet hos en registrar som Feno, og peker navneserverne til DNS-provideren. Deretter styrer Terraform DNS-postene hos provideren.

Hva skjer hvis Terraform-konfigurasjonen min har feil?

Terraform validerer konfigurasjonen før den gjør endringer. Kommandoen terraform plan viser deg nøyaktig hva som vil endres uten å faktisk gjøre noe. Dersom en feil likevel oppstår, kan du rulle tilbake ved å revertere Git-committen og kjøre terraform apply på nytt.

Er det trygt å automatisere DNS-endringer?

Ja, med riktig oppsett er det faktisk tryggere enn manuelle endringer. Du får versjonskontroll, code review, og en plan-steg som lar deg verifisere endringer før de utføres. Mange bedrifter bruker denne tilnærmingen i produksjon med hundrevis av domener.

Konklusjon

Terraform DNS gir deg en profesjonell og repeterbar måte å administrere DNS-poster på. Ved å behandle DNS som kode får du bedre sporbarhet, færre feil og raskere endringer. Kombinert med en CI/CD-pipeline og code review har du et robust system for DNS-administrasjon.

Trenger du et .no-domene å komme i gang med? Sikre ditt domene hos Feno i dag fra kun 99 kr per år, og sett opp automatisert DNS-administrasjon med Terraform på minutter.

Registrer ditt .no-domene i dag

Sikre deg det perfekte domenenavnet for din bedrift eller prosjekt. Enkel registrering og administrasjon.

  • Norsk domeneforhandler
  • Enkel DNS-administrasjon
  • Konkurransedyktige priser
Kom i gang