En el subcapítol anterior vam veure com posar límits amb les SCP. Però com saps, en tot moment, si els teus recursos compleixen les regles que la teva empresa exigeix? Com detectes un bucket que s’ha tornat públic o una base de dades sense xifrar? Per a aquesta vigilància contínua del compliment existeix AWS Config. És com tenir un auditor permanent revisant la teva infraestructura.
El problema: la infraestructura canvia constantment
En un compte d’AWS real, les coses canvien tot el temps: es creen recursos, es modifiquen configuracions, algú ajusta un permís... Amb tants canvis, és molt fàcil que alguna cosa acabi incomplint les regles de seguretat sense que ningú se n’adoni:
- Un bucket S3 que algú va fer públic «temporalment» i va oblidar tancar (recorda el drift del subcapítol 22.4).
- Una base de dades que es va crear sense xifrat.
- Un Security Group amb un port perillós obert.
- Un recurs sense les etiquetes obligatòries de l’empresa.
Necessites alguna cosa que vigili contínuament i t’avisi quan alguna cosa deixi de complir les normes.
Què és AWS Config
AWS Config és un servei que registra la configuració dels teus recursos i vigila que compleixin les regles que defineixis, de manera contínua. Fa tres coses fonamentals:
1. REGISTRA → guarda com està configurat cada recurs, i el seu historial 2. AVALUA → comprova si cada recurs compleix unes regles 3. ALERTA → avisa quan alguna cosa NO compleix (és "no conforme")
Analogia: AWS Config és com un inspector de sanitat que viu al teu restaurant i revisa contínuament que tot compleixi les normes d’higiene. No ve una vegada a l’any: està sempre vigilant, i en el moment en què alguna cosa surt de la norma (una nevera mal tancada, una superfície bruta), ho apunta i avisa. A més, porta un diari de com ha estat tot al llarg del temps.
Les tres funcions en detall
- Registre i historial de configuració
Config guarda com està configurat cada recurs en cada moment, i manté un historial dels canvis. Això et permet respondre preguntes molt valuoses:
- «Com estava configurat aquest Security Group la setmana passada?»
- «Qui i quan va canviar aquesta configuració?»
- «Quin aspecte tenia la meva infraestructura el dia de l’incident?»
Aquest historial és or pur per a investigar problemes i per a auditories.
- Regles de compliment (Config Rules)
Defineixes regles que els teus recursos han de complir, i Config comprova contínuament si les compleixen. AWS ofereix moltes regles predefinides, i pots crear les teves. Exemples:
Regla: "tots els buckets S3 han de tenir bloquejat l’accés públic" Regla: "totes les bases de dades RDS han d’estar xifrades" Regla: "cap Security Group ha de tenir SSH obert a 0.0.0.0/0" Regla: "tots els recursos han de tenir l’etiqueta 'projecte'"
Cada recurs es marca com a «conforme» (compleix) o «no conforme» (incompleix). D’una ullada, veus l’estat de compliment de tot el teu compte.
- Alertes i remediació
Quan un recurs es torna no conforme, Config pot avisar (a l’equip de seguretat, per exemple) i fins i tot corregir-ho automàticament (remediació). Per exemple, si un bucket es torna públic, una acció de remediació podria tornar a bloquejar-lo automàticament.
Bucket es torna públic → Config ho detecta → marca "NO CONFORME" → alerta a l’equip de seguretat → (opcional) remediació automàtica: torna a bloquejar-lo
Config vs l’anàlisi estàtica del Capítol 21
Potser et preguntes en què es diferencia de Checkov/tfsec (subcapítol 21.2). La diferència és quan actuen:
| Anàlisi estàtica (Checkov/tfsec) | AWS Config | |
|---|---|---|
| Quan | Abans de desplegar (en el codi, CI) | Després, sobre recursos reals, en continu |
| Què mira | El codi Terraform | Els recursos que existeixen a AWS |
| Detecta | Configuracions perilloses abans de crear-les | Recursos que han deixat de complir (inclòs el drift) |
Es complementen: l’anàlisi estàtica evita que arribi codi insegur (prevenció), i AWS Config vigila que el que ja està desplegat segueixi complint (detecció contínua). Recorda el drift del subcapítol 22.4: Config és una de les formes de detectar que alguna cosa va canviar a mà i va deixar de complir les normes.
Exemple del món real: una empresa financera té la norma «totes les bases de dades han d’estar xifrades» (per regulació). Configuren una Config Rule que ho comprova. Un dia, algú crea a mà una base de dades de prova sense xifrat. Config la marca immediatament com a «no conforme», alerta a l’equip de seguretat, i una remediació automàtica la marca per revisió. L’incompliment es detecta en minuts, no a l’auditoria anual. L’empresa pot demostrar als reguladors que té vigilància contínua del compliment.
Per què importa: compliment continu
La idea clau és el compliment continu. En comptes de revisar el compliment una vegada a l’any (en una auditoria manual, estressant i que només veu una foto puntual), Config ho verifica tot el temps, automàticament. Això és essencial per a empreses amb requisits regulatoris (banca, sanitat, etc.), però útil per a qualsevol que vulgui mantenir la seva infraestructura segura i ordenada.
El que has de recordar
- En un compte real, la infraestructura canvia constantment, i és fàcil que alguna cosa acabi incomplint les regles de seguretat sense que ningú ho noti.
- AWS Config vigila el compliment de manera contínua: registra la configuració dels recursos (amb historial), avalua si compleixen unes regles, i alerta (o remeia) quan alguna cosa és no conforme. Com un inspector que viu a la teva infraestructura.
- L’historial de configuració permet investigar incidents i auditar («com estava això la setmana passada?»).
- Davant de l’anàlisi estàtica (Capítol 21), que actua abans de desplegar sobre el codi, Config actua després, sobre els recursos reals i en continu (detecta també el drift). Es complementen.
- Aporta compliment continu: verifica el compliment tot el temps, en comptes d’una auditoria puntual a l’any. Essencial per a entorns regulats.
En el següent subcapítol passarem de vigilar el compliment a detectar amenaces actives amb GuardDuty.
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
