Tanquem el capítol amb un repàs pràctic de les comandes que faràs servir diàriament amb Terraform. Ja n’hem vist algunes per separat; aquí les reunim en ordre, afegim dues de noves (fmt i validate) i les ordenem com un flux de treball real. Considera-ho la teva xuleta de comandes.

El flux de treball complet

Aquest és l’ordre típic de les comandes en un projecte de Terraform:

   fmt → validate → init → plan → apply → ... → destroy
  (formatar)(revisa) (prepara)(previsualitza)(aplica)  (elimina)

Anem una a una.

terraform init: preparar el projecte

Què fa: inicialitza el directori de treball. Descarrega els providers (subcapítol 11.1) i configura el backend de l’estat (subcapítol 11.3).

Quan s’executa:

  • La primera vegada que treballes en un projecte.
  • Quan afegeixes o canvies un provider.
  • Quan canvies la configuració del backend.
terraform init

És la primera comanda que executes en qualsevol projecte nou. Sense ella, les altres comandes no funcionen perquè falta descarregar els providers.

terraform fmt: formatar el codi

Què fa: formata automàticament els teus fitxers .tf perquè tinguin un estil consistent (indentació, alineació, espais). No canvia la lògica, només l’aparença.

terraform fmt

Per què fer-la servir: un codi ben formatat és més fàcil de llegir i evita discussions d’estil a l’equip. És com un corrector d’estil automàtic. Se sol executar abans de desar o pujar canvis. En equips, es comprova automàticament en CI (Capítol 22).

Analogia: fmt és com el botó «ordenar/alinear» d’un document: deixa tot net i uniforme sense canviar el contingut.

terraform validate: revisar que el codi és correcte

Què fa: comprova que el teu codi és vàlid sintàcticament i lògicament, sense connectar-se a AWS ni crear res. Detecta errors com arguments mal escrits o referències inexistents.

terraform validate

Per què fer-la servir: t’avisa d’errors abans d’intentar aplicar res. És una comprovació ràpida i barata. Si validate falla, no té sentit seguir.

Diferència amb plan: validate només revisa que el codi estigui ben escrit (no necessita credencials). plan va més enllà: consulta AWS i et diu quins canvis faria. Primer validate (està ben escrit?), després plan (què farà?).

terraform plan: previsualitzar els canvis

Què fa: mostra quins canvis faria sense aplicar-los. Compara el teu codi, l’estat i la realitat (subcapítols 9.4 i 11.2).

terraform plan

Recorda els símbols: + crear, ~ modificar, - destruir. És la teva xarxa de seguretat: revises abans de tocar res.

terraform apply: aplicar els canvis

Què fa: executa els canvis de veritat, després de mostrar-te el pla i demanar confirmació (yes).

terraform apply

Després d’aplicar, la teva infraestructura real coincideix amb el teu codi, i l’estat s’actualitza.

Truc: terraform apply ja fa un plan internament i te’l mostra abans de demanar confirmació, així que pots revisar una última vegada abans d’escriure yes.

terraform destroy: eliminar la infraestructura

Què fa: destrueix tots els recursos gestionats, després de confirmació. Ideal per netejar proves i deixar de pagar (subcapítol 9.4).

terraform destroy

⚠️ Irreversible. Genial en proves, perillós en producció. Fes-lo servir amb seny.

Taula resum de comandes

Comanda Què fa Toca AWS? Demana confirmació?
init Descarrega providers i prepara backend No (només descarrega) No
fmt Formata el codi No No
validate Revisa que el codi és vàlid No No
plan Previsualitza canvis Llegeix No
apply Aplica els canvis Sí (escriu) Sí (yes)
destroy Elimina tot Sí (esborra) Sí (yes)

Altres comandes útils (per conèixer)

A més de les essencials, n’hi ha d’altres que aniràs fent servir:

Comanda Per a què
terraform show Veure l’estat actual o un pla desat
terraform state list Llistar recursos gestionats (subcapítol 11.2)
terraform output Veure els outputs definits (subcapítol 10.1)
terraform refresh Sincronitzar l’estat amb la realitat
terraform import Portar recursos existents a l’estat (Capítol 20)
terraform graph Veure el graf de dependències

Un flux de treball real, pas a pas

Així seria el teu dia a dia creant infraestructura nova:

1. terraform init       # només la primera vegada (o en canviar providers/backend)
2. (escrius el teu codi .tf)
3. terraform fmt        # ordena el codi
4. terraform validate   # està ben escrit?
5. terraform plan       # què canviarà? -> revises
6. terraform apply      # apliques -> escrius "yes"
7. (fas servir la teva infraestructura)
8. terraform destroy    # quan ja no la necessitis (en proves)

Consell: Acostuma’t a executar sempre plan abans de apply i a llegir el pla amb atenció. És l’hàbit que et salvarà d’errors costosos. Molts ensurts al núvol s’eviten simplement llegint bé el que Terraform anava a fer.

El que has de recordar

  • El flux típic és initfmtvalidateplanapplydestroy.
  • init: prepara el projecte (descarrega providers, configura backend). Primera comanda, imprescindible.
  • fmt: formata el codi (estil net i uniforme).
  • validate: revisa que el codi és vàlid, sense tocar AWS.
  • plan: previsualitza els canvis (no aplica res). La teva xarxa de seguretat.
  • apply: aplica els canvis (demana yes). destroy: elimina tot (demana yes, irreversible).
  • Hàbit d’or: sempre plan abans de apply, i llegeix el pla amb atenció.

Amb això tanques el Capítol 11. Ja tens totes les peces teòriques de Terraform: llenguatge, providers, estat i comandes. Al Capítol 12 ho ajuntarem tot construint la teva primera infraestructura real: una VPC amb un servidor EC2, pas a pas.

Cloud, AWS & Terraform — De zero a expert

Capítol 1 · Què és el cloud computing

Capítol 2 · El mercat cloud i els grans proveïdors

Capítol 3 · Regions, zones de disponibilitat i edge

Capítol 4 · Càlcul: EC2

Capítol 5 · Emmagatzematge: S3

Capítol 6 · Xarxes: VPC

Capítol 7 · Identitat i accés: IAM

Capítol 8 · Bases de dades gestionades

Capítol 9 · Per què Infraestructura com a Codi

Capítol 10 · HCL: el llenguatge de Terraform

Capítol 11 · Providers i estat

Capítol 12 · La teva primera infraestructura real amb Terraform

Capítol 13 · Balanceig de càrrega i autoescalat

Capítol 14 · Serverless amb Lambda

Capítol 15 · Missatgeria i esdeveniments

Capítol 16 · Lliurament de contingut i DNS

Capítol 17 · Contenidors a AWS

Capítol 18 · Mòduls: reutilització i composició

Capítol 19 · Workspaces i gestió d'entorns

Capítol 20 · Backends remots i locking

Capítol 21 · Testing d'infraestructura

Capítol 22 · Terraform en CI/CD

Capítol 23 · Seguretat en profunditat

Capítol 24 · Observabilitat: logs, mètriques i traces

Capítol 25 · Optimització de costos

Capítol 26 · Alta disponibilitat i disaster recovery

Capítol 27 · Well-Architected Framework d'AWS

Capítol 28 · Arquitectures serverless a escala

Capítol 29 · Plataformes de dades a AWS

Capítol 30 · Multi-compte i landing zones

Capítol 31 · Platform Engineering i Internal Developer Platform

Capítol 32 · Certificacions AWS rellevants

Capítol 33 · Projectes per consolidar el que s'ha après

Capítol 34 · Recursos i comunitat

© Copyright 2024. Tots els drets reservats