En el subcapítol anterior vam veure estratègies de disaster recovery on, en fallar el sistema principal, el trànsit ha de passar a un sistema de suport. Però com es detecta que el principal ha fallat i es redirigeix la gent automàticament, sense que una persona hagi d’intervenir a les 3 de la matinada? La resposta combina dues funcions de Route 53 (el DNS d’AWS que vam veure al subcapítol 16.1): els health checks (comprovacions de salut) i el failover (commutació per error).
Recordatori: què fa Route 53
Recorda del subcapítol 16.1 que Route 53 és el servei de DNS d’AWS: tradueix un nom de domini (com mitienda.com) a l’adreça del servidor que l’ha d’atendre. És el primer que consulta el navegador d’un usuari per saber on connectar-se. Això li dona una posició privilegiada: Route 53 decideix on es dirigeix el trànsit. I aquí hi ha la clau del failover automàtic.
El problema: redirigir la gent quan alguna cosa falla
Imagina que tens el teu sistema principal en una regió i un suport en una altra (com en les estratègies del subcapítol 26.2). Si el principal cau, necessites que els usuaris deixin d’anar al principal (caigut) i vagin al suport (sa). I necessites que això passi:
- Automàticament (sense esperar que una persona se n’adoni i actuï).
- Ràpid (cada minut de caiguda compta).
- De manera fiable (sense enviar gent a un sistema trencat).
Per això, primer cal detectar que el principal ha fallat, i després redirigir. Route 53 fa ambdues coses.
Health checks: vigilar si un sistema està sa
Un health check (comprovació de salut) de Route 53 és una vigilància automàtica que comprova periòdicament si el teu sistema respon correctament. Route 53 «pregunta» al teu sistema cada poc temps: «estàs bé?», i segons la resposta el marca com a sa o malalt.
Route 53 cada X segons: "sistema principal, estàs bé?" → respon correctament → SA ✓ (segueix enviant trànsit aquí) → no respon / dóna errors → MALALT ✗ (deixa d’enviar trànsit aquí)
Analogia: un health check és com prendre el pols a un pacient cada pocs minuts. Mentre el pols és normal, tot bé. Si el pols s’atura o es torna anormal, salta l’alarma i s’actua. Route 53 «pren el pols» als teus sistemes contínuament per saber quins estan vius i sans.
El health check pot comprovar coses com: respon la web?, retorna un codi correcte?, respon a temps? Tu defineixes què significa «estar sa».
Failover: canviar al suport automàticament
Aquí hi ha la màgia. Failover (commutació per error) és la capacitat de Route 53 de redirigir el trànsit automàticament del sistema principal al de suport quan el health check detecta que el principal està malalt.
Recorda les routing policies del subcapítol 16.1: una d’elles és precisament la de failover. Configures Route 53 així:
Route 53 (política de failover): Principal: regió A (amb health check) Suport: regió B Mentre A estigui SA → tot el trànsit va a A Si A es torna MALALT → Route 53 redirigeix AUTOMÀTICAMENT a B Quan A torni a estar SA → torna a enviar trànsit a A
Funcionament normal: Després de la fallada d’A:
Usuaris → [Regió A ✓] Usuaris → [Regió A ✗]──╳
└──────────► [Regió B ✓]Analogia: el failover és com un generador elèctric d’emergència en un hospital. Mentre hi ha llum de la xarxa (sistema principal sa), tot funciona amb normalitat. En l’instant en què se’n va la llum (el principal falla), un sistema detecta el tall automàticament i arrenca el generador (suport) en segons, sense que ningú hagi de córrer a fer-ho. L’hospital segueix funcionant sense que els pacients ho notin. Health check = detector de tall; failover = arrencada automàtica del generador.
Com treballen junts health checks i failover
Els dos són inseparables: el health check detecta, el failover reacciona:
HEALTH CHECK → vigila i detecta que el principal ha caigut
│
▼
FAILOVER → redirigeix automàticament el trànsit al suportSense el health check, Route 53 no sabria que alguna cosa ha fallat. Sense el failover, saber que ha fallat no serviria de res. Junts aconsegueixen una recuperació automàtica del trànsit, que és just el que fa que les estratègies de DR (26.2) funcionin sense intervenció humana.
Exemple del món real: una empresa té el seu web principal a la regió d’Irlanda i un suport (warm standby, subcapítol 26.2) a Frankfurt, amb Route 53 configurat en failover. Una matinada, la regió d’Irlanda pateix un problema i el web deixa de respondre. El health check de Route 53 ho detecta en segons i marca Irlanda com a malalta. El failover redirigeix automàticament tots els usuaris a Frankfurt, que estava a punt. Els clients gairebé no noten una breu interrupció. Ningú de l’equip s’ha hagut de despertar ni fer res: el sistema s’ha recuperat sol. L’endemà al matí, quan Irlanda es restableix, el trànsit torna automàticament. Això és resiliència ben feta.
Més enllà del failover: balanceig geogràfic
Aquestes mateixes capacitats (health checks + routing policies de Route 53) serveixen també per repartir usuaris entre regions per proximitat (recorda les polítiques de geolocalització i latència del subcapítol 16.1), enviant cada usuari a la regió més propera i sana. Així, la salut dels sistemes es té en compte no només per emergències, sinó també per donar el millor servei en el dia a dia.
El que has de recordar
- Route 53 (el DNS d’AWS, subcap. 16.1) decideix on va el trànsit, cosa que li permet gestionar la commutació automàtica davant fallades.
- Un health check comprova periòdicament si un sistema respon bé i el marca com a sa o malalt. Com prendre el pols a un pacient contínuament.
- El failover redirigeix el trànsit automàticament del sistema principal al de suport quan el health check detecta que el principal està malalt (i el retorna quan es recupera). Com un generador d’emergència que arrenca sol quan se’n va la llum.
- Treballen junts: el health check detecta, el failover reacciona. Junts aconsegueixen una recuperació automàtica del trànsit, sense intervenció humana, que fa funcionar les estratègies de DR.
- Les mateixes capacitats serveixen per a balanceig geogràfic (enviar cada usuari a la regió més propera i sana), no només per emergències.
A l’últim subcapítol del capítol (i de la Part VI) veurem com protegir les teves dades amb còpies de seguretat centralitzades i automàtiques: AWS Backup.
Cloud, AWS & Terraform — De zero a expert
Capítol 1 · Què és el cloud computing
- 1.1 El model client-servidor tradicional
- 1.2 Problemes que venia a resoldre el núvol
- 1.3 On-premise vs cloud vs híbrid
- 1.4 Els tres models de servei: IaaS, PaaS, SaaS
- 1.5 Els cinc pilars del cloud (segons NIST)
- 1.6 Avantatges reals: elasticitat, pagament per ús, disponibilitat global
Capítol 2 · El mercat cloud i els grans proveïdors
- 2.1 AWS, Azure i GCP: diferències i quotes de mercat
- 2.2 Per què aprendre AWS primer
- 2.3 Conceptes que són universals entre proveïdors
Capítol 3 · Regions, zones de disponibilitat i edge
- 3.1 Què és una regió AWS i com triar-la
- 3.2 Availability Zones: alta disponibilitat des del disseny
- 3.3 Edge locations i CloudFront
- 3.4 Latència, resiliència i sobirania de dades
Capítol 4 · Càlcul: EC2
- 4.1 Instàncies: tipus, famílies i quan triar cadascuna
- 4.2 AMIs, key pairs i Security Groups
- 4.3 Cicle de vida d'una instància
- 4.4 Elastic IPs i Placement Groups
- 4.5 Savings Plans vs Reserved vs On-Demand vs Spot
Capítol 5 · Emmagatzematge: S3
- 5.1 Buckets, objectes i claus
- 5.2 Classes d'emmagatzematge (Standard, IA, Glacier…)
- 5.3 Versionat i cicle de vida d'objectes
- 5.4 Polítiques de bucket i ACLs
- 5.5 Hosting de llocs web estàtics
Capítol 6 · Xarxes: VPC
- 6.1 Què és una VPC i per què la necessites
- 6.2 Subxarxes públiques i privades
- 6.3 Internet Gateway i NAT Gateway
- 6.4 Route Tables i Network ACLs
- 6.5 VPC Peering i endpoints
Capítol 7 · Identitat i accés: IAM
- 7.1 Usuaris, grups, rols i polítiques
- 7.2 El principi de mínim privilegi
- 7.3 Polítiques basades en identitat vs en recurs
- 7.4 MFA i credencials temporals (STS)
- 7.5 Bones pràctiques de seguretat IAM
Capítol 8 · Bases de dades gestionades
- 8.1 RDS: motors, Multi-AZ i rèpliques de lectura
- 8.2 Aurora i els seus avantatges sobre RDS vanilla
- 8.3 DynamoDB: model clau-valor / documents
- 8.4 ElastiCache per a memòria cau en memòria
- 8.5 Quan utilitzar cada tipus de base de dades
Capítol 9 · Per què Infraestructura com a Codi
- 9.1 Problemes del provisionament manual
- 9.2 IaC declaratiu vs imperatiu
- 9.3 Terraform vs CloudFormation vs Pulumi vs CDK
- 9.4 El cicle plan → apply → destroy
Capítol 10 · HCL: el llenguatge de Terraform
- 10.1 Blocs resource, variable, output, locals
- 10.2 Tipus de dades: string, number, bool, list, map, object
- 10.3 Expressions, referències i funcions built-in
- 10.4 Condicionals i bucles (count, for_each, for)
Capítol 11 · Providers i estat
- 11.1 Com funciona el provider d'AWS
- 11.2 El fitxer terraform.tfstate i la seva importància
- 11.3 State local vs state remot (S3 + DynamoDB)
- 11.4 Comandes essencials: init, plan, apply, destroy, fmt, validate
Capítol 12 · La teva primera infraestructura real amb Terraform
- 12.1 Crear una VPC amb subxarxes des de zero
- 12.2 Posar en marxa una instància EC2 pública
- 12.3 Associar un Security Group i una Elastic IP
- 12.4 Outputs i referències entre recursos
- 12.5 Flux de treball en equip: PR review de plans
Capítol 13 · Balanceig de càrrega i autoescalat
- 13.1 Application Load Balancer vs Network Load Balancer
- 13.2 Target Groups, listeners i regles
- 13.3 Auto Scaling Groups: polítiques i mètriques
- 13.4 Warm pools i lifecycle hooks
Capítol 14 · Serverless amb Lambda
- 14.1 El model d'execució de Lambda
- 14.2 Triggers: API Gateway, S3, DynamoDB Streams, SQS
- 14.3 Gestió de dependències i capes (Layers)
- 14.4 Cold starts i estratègies per reduir-los
- 14.5 Límits i antipatrones
Capítol 15 · Missatgeria i esdeveniments
- 15.1 SQS: cues estàndard vs FIFO, DLQ
- 15.2 SNS: topics, subscripcions, fan-out
- 15.3 EventBridge: event buses i regles
- 15.4 Patrons: pub/sub, desacoblament, saga
Capítol 16 · Lliurament de contingut i DNS
- 16.1 Route 53: tipus de registres i routing policies
- 16.2 CloudFront: distribucions, memòries cau i origins
- 16.3 ACM: certificats SSL/TLS gratuïts
- 16.4 WAF integrat amb CloudFront
Capítol 17 · Contenidors a AWS
- 17.1 Docker: repàs exprés de conceptes clau
- 17.2 ECR: registre privat d'imatges
- 17.3 ECS: task definitions, services, Fargate vs EC2
- 17.4 EKS: quan Kubernetes i quan no
Capítol 18 · Mòduls: reutilització i composició
- 18.1 Anatomia d'un mòdul Terraform
- 18.2 Variables d'entrada, outputs i dependències
- 18.3 Mòduls locals vs mòduls del Terraform Registry
- 18.4 Versionat de mòduls amb Git tags
- 18.5 Disseny de mòduls genèrics vs específics de domini
Capítol 19 · Workspaces i gestió d'entorns
- 19.1 Workspaces de Terraform: casos d'ús i limitacions
- 19.2 Estratègia de directoris per entorn (dev/stg/prod)
- 19.3 Terragrunt: DRY per a configuracions d'entorn
- 19.4 Variables d'entorn i fitxers .tfvars
Capítol 20 · Backends remots i locking
- 20.1 Configurar S3 + DynamoDB com a backend
- 20.2 State locking: evitar corrupció en equip
- 20.3 Migració d'estat entre backends
- 20.4 terraform import: portar recursos existents a l'estat
Capítol 21 · Testing d'infraestructura
- 21.1 Terraform validate i fmt en CI
- 21.2 Checkov i tfsec: anàlisi de seguretat estàtica
- 21.3 Terratest: tests d'integració en Go
- 21.4 Contract testing entre mòduls
Capítol 22 · Terraform en CI/CD
- 22.1 Pipeline bàsic: lint → plan → apply a GitHub Actions
- 22.2 Atlantis: GitOps per a Terraform
- 22.3 Terraform Cloud / HCP Terraform
- 22.4 Drift detection i reconciliació automàtica
Capítol 23 · Seguretat en profunditat
- 23.1 AWS Organizations i Service Control Policies
- 23.2 AWS Config: compliment continu
- 23.3 GuardDuty: detecció d'amenaces
- 23.4 Security Hub: visió centralitzada
- 23.5 KMS: gestió de claus i rotació
- 23.6 Secrets Manager vs Parameter Store
Capítol 24 · Observabilitat: logs, mètriques i traces
- 24.1 CloudWatch Logs, mètriques i alarmes
- 24.2 CloudWatch Dashboards i Contributor Insights
- 24.3 X-Ray: traçat distribuït
- 24.4 OpenTelemetry a AWS
- 24.5 Managed Grafana i Managed Prometheus
Capítol 25 · Optimització de costos
- 25.1 AWS Cost Explorer i pressupostos amb alertes
- 25.2 Trusted Advisor i Compute Optimizer
- 25.3 Rightsizing: com detectar sobredimensionament
- 25.4 Savings Plans vs Reserved Instances: decisió estratègica
- 25.5 FinOps: cultura i processos per controlar la despesa
Capítol 26 · Alta disponibilitat i disaster recovery
- 26.1 RTO i RPO: definir els objectius
- 26.2 Estratègies: backup/restore, pilot light, warm standby, multi-site
- 26.3 Route 53 health checks i failover automàtic
- 26.4 AWS Backup: política centralitzada de còpies
Capítol 27 · Well-Architected Framework d'AWS
- 27.1 Els sis pilars: excel·lència operacional, seguretat, fiabilitat, eficiència de rendiment, optimització de costos, sostenibilitat
- 27.2 Well-Architected Tool: revisions formals
- 27.3 Com aplicar el framework en decisions de disseny
Capítol 28 · Arquitectures serverless a escala
- 28.1 Event-driven architecture amb Lambda + EventBridge
- 28.2 Saga pattern per a transaccions distribuïdes
- 28.3 Step Functions: orquestració de workflows complexos
- 28.4 Lambda@Edge i CloudFront Functions
Capítol 29 · Plataformes de dades a AWS
- 29.1 Data Lake amb S3, Glue i Athena
- 29.2 Kinesis Data Streams i Firehose per a streaming
- 29.3 Redshift: data warehousing a escala
- 29.4 Lake Formation: govern del dada
Capítol 30 · Multi-compte i landing zones
- 30.1 Per què separar workloads en comptes diferents
- 30.2 AWS Control Tower i Account Factory
- 30.3 Gestió centralitzada de logs i seguretat
- 30.4 Terraform a escala multi-compte amb mòduls compartits
Capítol 31 · Platform Engineering i Internal Developer Platform
- 31.1 Golden paths i abstraccions sobre Terraform
- 31.2 Service Catalog d'AWS
- 31.3 Backstage com a portal de desenvolupadors
- 31.4 Mòduls Terraform com a producte intern
Capítol 32 · Certificacions AWS rellevants
- 32.1 Cloud Practitioner: val la pena?
- 32.2 Solutions Architect Associate → Professional
- 32.3 DevOps Engineer Professional
- 32.4 Specialty: Security, Database, Networking
- 32.5 HashiCorp Terraform Associate
Capítol 33 · Projectes per consolidar el que s'ha après
- 33.1 Projecte 1: blog serverless (S3 + CloudFront + Lambda + DynamoDB)
- 33.2 Projecte 2: API REST amb ECS Fargate + RDS + ALB
- 33.3 Projecte 3: plataforma de dades amb Glue + Athena + Redshift
- 33.4 Projecte 4: landing zone multi-compte amb Terraform i Control Tower
