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:
- Cloudflare: Populært valg med god Terraform-støtte
- AWS Route 53: Dersom du allerede bruker AWS-infrastruktur
- Google Cloud DNS: For Google Cloud-brukere
- 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
- Kjør
terraform initfor å laste ned nødvendige providere - Kjør
terraform planfor å se hvilke endringer som vil bli gjort - Gjennomgå planen nøye
- Kjør
terraform applyfor å 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:
- Committes til en feature-branch
- Åpner en pull request med
terraform plan-output - Reviewes av en kollega
- Merges til main og kjører
terraform applyautomatisk
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:
- Logg inn hos din nåværende registrar og hent autorisasjonskoden (AuthCode/EPP-kode)
- Gå til Feno og start en domeneoverføring
- Oppgi autorisasjonskoden
- 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.