Onafhankelijke vergelijking · geen betaalde rankings
Home / Blog / Technisch / Terraform: hostinginfrastructuur herleesbaar en reproduceerbaar maken

Terraform: hostinginfrastructuur herleesbaar en reproduceerbaar maken

Een VPS die met de hand in het paneel is gemaakt, wordt snel vergeten – inclusief firewall. Terraform beschrijft hosting in code, op voorwaarde dat u status, modules en geheimen als contracten behandelt, en niet als een wegwerpscript.

Redactie Hébergeurs.eu 4 min Bijgewerkt 19 jul. 2026

De enscenering ontstond door op vrijdagavond in het Hetzner-paneel te klikken. Zes maanden later weet niemand waarom de firewall openbare poort 6379 toestaat. De productie vindt plaats in Terraform – behalve de S3-bucket die ‘tijdelijk’ met de hand is toegevoegd. Resultaat: twee waarheden, een ‘terraformplan’ dat wil vernietigen wat het team nog gebruikt.

Terraform belooft reproduceerbaarheid. Dit geldt alleen als de status, modules en governance hetzelfde niveau van vereisten volgen als de applicatiecode.

Aanbieders, middelen en wat we modelleren

Europese providers (Hetzner hcloud, OVH, Scaleway, OpenStack) stellen servers, volumes, privénetwerken, DNS, load balancers beschikbaar. Modelleer wat vaak verandert en wat nodig is om traceerbaar te zijn:

BronInteresse TerraformVal
Server/instantieGrootte, afbeelding, regio gecodeerdlevenscyclus negeer_veranderingen maskerdrift
Firewall / beveiligingsgroepRegels met versiebeheerHandmatige regel buiten TF
DNSUitlijning geïmplementeerdTTL en propagatie vergeten
ObjectopslagEmmers, levenscyclusIAM-sleutels buiten versleutelde status

Als het niet in de staat is, is het niet reproduceerbaar – het is een schuld.

Staat op afstand, slot en geheimen

Externe backend (S3 + slot, GitLab HTTP-backend, Terraform Cloud):

  • Vergrendel tijdens toepassing — er zijn geen twee gelijktijdige toepassingen.
  • Back-up van de staat — deze bevat soms gevoelige gegevens.
  • Codering in rust; minimale toegang.

Nooit terraform.tfstate in het ongewisse plegen. Gebruik gevoelige variabelen (TF_VAR_, kluis CI) voor host-API-tokens.

Modules: DROOG zonder black box

Herbruikbare modules (vpc + subnet + bastion) versnellen, maar een ondoorzichtige allesomvattende module ontmoedigt het opnieuw afspelen. Maak expliciete variabelen zichtbaar (instance_type, enable_ipv6, backup_window).

Versiemodules met Git-tags (?ref=v1.2.0) — niet zwevend main. Als team terraform fmt en validate in CI voordat u plannen maakt voor MR.

Beleid plannen, toepassen en wijzigen

Gezonde workflow: MR → terraformplan becommentarieerd in CI; menselijke beoordeling van vernietigen en vervangen; automatisch of handmatig toepassen, afhankelijk van de kriticiteit.

prevent_destroy op DB-prod. -target gereserveerd voor gedocumenteerde noodsituaties – anderszins inconsistente toestand.

Geleidelijke import van oude hulpbronnen: één hulpbron tegelijk, een groen plan voor de volgende.

Multi-cloud en Europese hosts

Vermijd standaard multi-cloud: een goed gecontroleerde provider verslaat drie halfbakken configuraties. Voor EU-residentie stelt u de regio in en controleert u de bijbehorende bronnen (momentopnameregio, replica).

Kruisverwijzing met AVG-subcontracten: Terraform garandeert geen jurisdictie – u kiest de regio in de code.

De top: infra als code zonder governance = vermomde clickops

Reproduceerbaar betekent: elke ingenieur kan de enscenering helemaal opnieuw creëren - niet alleen dat het .tf-bestand bestaat.

Beslis en ga vooruit zonder blinde vlek

Configureer een externe backend en vergrendel de toegang. Integreer 'terraform plan' in CI bij elk samenvoegverzoek. Versiemodules met Git-tags. Plan de import van verouderde bronnen één voor één. Scheid status per omgeving – nooit staging en prod in hetzelfde statusbestand.

Vergelijk aanbieders via de overzicht en de vergelijker. Laatste test: vernietig en reconstrueer de enscenering van git - duur en verrassingen gedocumenteerd.

Veelgestelde vragen

Waarom de Terraform-status op afstand opslaan?

De lokale status op een laptop verhindert teamwerk en gaat verloren bij een schijfcrash. Een externe backend vergrendelt gelijktijdige applicaties en registreert wijzigingen.

Vervangt Terraform Ansible?

Nee – Terraform verzorgt de infrastructuur (servers, netwerk, DNS, buckets); Ansible of cloud-init configureert het besturingssysteem en de services. De twee vullen elkaar aan.

Hoe vermijd je drift?

Regulier CI-plan, verbod op handmatige wijzigingen die niet in de code worden vermeld, en gedocumenteerde import voor oudere bronnen.

Is er één werkruimte vereist per omgeving?

Ja – gescheiden staatsopvoering en productie. Nooit dezelfde status voor twee kritieke omgevingen.


Handige Terraform kan worden gelezen in een plan dat door een mens wordt beoordeeld – niet in een aanvraag die zonder getuige vanaf een laptop wordt gelanceerd.

Vergelijk Europese providers

Filter op compliance, locatie en gebruikssituatie — open daarna de fiches om het echte bereik te controleren.

Blader door het overzicht
Blog

Gerelateerde lectuur

Alle artikelen →