Ja saps què és un balancejador i quan utilitzar ALB o NLB. Ara obrirem la caixa i veurem els seus tres components interns: els listeners (quin tràfic escolta), les regles (com decideix) i els Target Groups (a quins servidors envia). Entendre aquestes tres peces és entendre com funciona realment un balancejador.

El recorregut d’una petició

Quan un usuari visita el teu web a través del balancejador, la seva petició passa per tres etapes:

Usuari ──► [ LISTENER ] ──► [ REGLES ] ──► [ TARGET GROUP ] ──► Servidor
           "escolto el      "decideixo a     "grup de
            port 443"        on va"           servidors"

Vegem cada peça.

  1. Listener: quin tràfic escolta el balancejador

Un listener (oient) és una «porta oberta» del balancejador que escolta en un port concret. Per exemple:

  • Un listener al port 80 escolta el tràfic HTTP.
  • Un listener al port 443 escolta el tràfic HTTPS (segur).
Balancejador
 ├── Listener port 80  (HTTP)  → normalment redirigeix a HTTPS
 └── Listener port 443 (HTTPS) → atén les peticions segures

Analogia: els listeners són com les diferents línies de telèfon d’una empresa. Una línia per a vendes (port 80), una altra per a suport (port 443). Cada una escolta i, segons qui truqui, ho deriva al departament correcte.

Un patró molt habitual: el listener del port 80 (HTTP) redirigeix automàticament al 443 (HTTPS) per forçar connexions segures.

  1. Target Group: el grup de servidors destinació

Un Target Group (grup de destinació) és una llista de servidors (instàncies EC2, contenidors, funcions Lambda...) que reben el tràfic. El balancejador no envia les peticions a servidors solts, sinó a un Target Group, que és qui agrupa els destinataris.

Target Group "servidors-web"
 ├── Servidor 1  ✓ sa
 ├── Servidor 2  ✓ sa
 └── Servidor 3  ✗ no respon  ← el balancejador NO li envia tràfic

Els health checks: la màgia de l’alta disponibilitat

Aquí hi ha una de les claus més importants: cada Target Group fa health checks (comprovacions de salut). Periòdicament, el balancejador «pregunta» a cada servidor si està bé (per exemple, fent una petició a una URL com /health).

  • Si el servidor respon correctament → està «sa», rep tràfic.
  • Si no respon (ha caigut, està saturat...) → es marca «no sa» i el balancejador deixa d’enviar-li peticions automàticament, fins que es recuperi.

Això és el que dona l’alta disponibilitat del subcapítol 13.1. Gràcies als health checks, si un servidor falla, els usuaris mai hi arriben: el balancejador els redirigeix als servidors sans sense que ningú noti el problema. Sense health checks, el balancejador seguiria enviant gent a un servidor caigut.

  1. Regles: com decideix el balancejador

Les regles (rules) connecten listeners amb Target Groups. En un ALB (que és intel·ligent, capa 7), les regles poden mirar el contingut de la petició per decidir a quin Target Group enviar-la:

Listener 443 (HTTPS)
 ├── Regla: si la ruta és /api/*   → Target Group "servidors-api"
 ├── Regla: si la ruta és /imatges/* → Target Group "servidors-estatics"
 └── Regla per defecte             → Target Group "servidors-web"

Això és l’enrutament intel·ligent que vam esmentar al subcapítol 13.1: un mateix balancejador pot repartir el tràfic a diferents grups de servidors segons la URL, el domini, les capçaleres, etc.

Com encaixa tot: un exemple

Imagina una botiga online. El recorregut d’una petició a https://botiga.com/api/productes:

  1. Listener del port 443 (HTTPS) rep la petició.
  2. Una regla veu que la ruta comença per /api/ → l’envia al Target Group servidors-api.
  3. El Target Group servidors-api té 3 servidors; 2 estan sans. Envia la petició a un dels sans.
  4. Aquest servidor respon, i la resposta torna a l’usuari pel mateix camí.
Usuari → Listener 443 → Regla (/api/*) → Target Group API → Servidor sa

Taula resum

Component Què fa Analogia
Listener Escolta un port (80, 443...) Línia de telèfon
Regla Decideix a quin Target Group enviar Recepcionista que deriva
Target Group Grup de servidors destinació, amb health checks Departament amb els seus empleats
Health check Comprova si cada servidor està sa Passar llista de presents

El que has de recordar

  • Una petició recorre tres etapes: Listener (escolta un port) → Regles (decideixen el destí) → Target Group (servidors que responen).
  • El listener escolta en un port (80 per HTTP, 443 per HTTPS); és habitual redirigir 80 → 443.
  • El Target Group agrupa els servidors destinació i fa health checks: si un servidor no respon, deixa de rebre tràfic automàticament. Això és el que dona l’alta disponibilitat.
  • Les regles (a l’ALB) permeten enrutament intel·ligent per ruta, host o capçaleres cap a diferents Target Groups.

Al següent subcapítol veurem l’altra meitat de la màgia: com crear i eliminar servidors automàticament segons la demanda, amb els Auto Scaling Groups.

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