Quan la Marta va crear el compte de MercadoFresco a la lliçó anterior, vam deixar apuntada una decisió
sense justificar del tot: la regió serà eu-west-1. Aquesta lliçó explica per què, i per fer-ho
hem d'obrir el capó i veure com està construït AWS per dins.
Entendre la infraestructura global no és cultura general: és la base de l'alta disponibilitat. El servidor de MercadoFresco cau els divendres perquè és un. La manera que això deixi de passar és repartir l'aplicació entre instal·lacions físicament separades que no fallen alhora. Per dissenyar aquest repartiment necessites saber què és una regió, què és realment una zona de disponibilitat, quins serveis són globals i quins no, i quant costa moure dades entre uns llocs i uns altres.
Contingut
- Les tres capes de la infraestructura d'AWS
- Regions: què són, com s'anomenen i per què estan aïllades
- Zones de disponibilitat: què és realment una AZ
- Per què les lletres de les AZ es barregen entre comptes
- Xarxa de vora: edge locations, PoP i regional edge caches
- Infraestructura especialitzada: Local Zones, Wavelength i Outposts
- Serveis globals, regionals i zonals
- Com triar regió: els cinc criteris
- Disseny multi-AZ: què falla i què sobreviu
- Decisió de regió per a MercadoFresco
- Cost del trànsit entre AZ i entre regions
Les tres capes de la infraestructura d'AWS
La infraestructura d'AWS s'organitza en una jerarquia de tres nivells. Interioritza-la, perquè gairebé tota la resta se'n deriva.
flowchart TB
subgraph GLOBAL["Infraestructura global d'AWS"]
subgraph REG["Regio: eu-west-1 (Irlanda)"]
AZA["AZ eu-west-1a - un o mes centres de dades"]
AZB["AZ eu-west-1b - un o mes centres de dades"]
AZC["AZ eu-west-1c - un o mes centres de dades"]
end
subgraph REG2["Regio: us-east-1 (Virginia)"]
AZ2["6 zones de disponibilitat"]
end
EDGE["Xarxa de vora: centenars d'edge locations arreu del mon"]
end
AZA <-->|"latencia inferior a 2 ms, fibra dedicada"| AZB
AZB <-->|"latencia inferior a 2 ms"| AZC
REG <-->|"xarxa privada d'AWS, desenes de ms"| REG2
| Capa | Què és | Quantes n'hi ha | Per a què serveix |
|---|---|---|---|
| Regió | Una àrea geogràfica amb diversos centres de dades independents | Desenes al món | Triar on viuen les teves dades i els teus servidors |
| Zona de disponibilitat (AZ) | Un o més centres de dades aïllats dins d'una regió | 3 a 6 per regió | Sobreviure a la fallada d'un centre de dades |
| Ubicació de vora (edge) | Punt de presència per acostar contingut i DNS a l'usuari | Centenars | Reduir latència i descarregar l'origen |
Regions: què són, com s'anomenen i per què estan aïllades
Una regió d'AWS és una àrea geogràfica del món on AWS ha construït un grup de centres de dades. Exemples: Irlanda, Frankfurt, París, Espanya, Nord de Virgínia, Tòquio, São Paulo.
Nomenclatura
Els identificadors segueixen un patró fix, i convé saber-lo llegir perquè l'escriuràs centenars de vegades a la CLI i a les plantilles:
eu-west-1
│ │ │
│ │ └── número seqüencial dins d'aquesta zona geogràfica
│ └─────── zona dins del continent: west, east, central, north, south, northeast...
└────────── àrea del món: eu (Europa), us (EUA), ap (Àsia-Pacífic), sa (Sud-amèrica),
ca (Canadà), me (Orient Mitjà), af (Àfrica)Regions europees que t'interessen com a professional a Espanya:
| Identificador | Ubicació | Notes |
|---|---|---|
eu-west-1 |
Irlanda | La més antiga d'Europa; catàleg molt complet i preus competitius |
eu-west-2 |
Londres | Fora de la UE després del Brexit (implicacions de residència de la dada) |
eu-west-3 |
París | Bona latència des d'Espanya, catàleg una mica menor que Irlanda |
eu-central-1 |
Frankfurt | Molt usada per empreses alemanyes; catàleg ampli |
eu-south-1 |
Milà | Latència baixa des del sud d'Europa |
eu-south-2 |
Espanya (Aragó) | La més propera als clients de MercadoFresco; catàleg encara en creixement |
eu-north-1 |
Estocolm | Sol ser de les més barates d'Europa |
Compte amb us-east-1 (Nord de Virgínia): és la regió més antiga i gran, on AWS estrena gairebé
tots els serveis, i on viuen forçosament algunes coses globals (com la mètrica de
facturació que vam veure a 01-02, o els certificats de CloudFront). No la facis servir com a regió principal
si els teus clients són a Europa.
Aïllament entre regions
Aquest és el punt conceptual més important: les regions són independents entre si. No és una frase de màrqueting, és una propietat de disseny amb conseqüències pràctiques molt concretes:
- Un recurs creat a
eu-west-1no existeix aeu-west-3. Si busques la teva instància a la regió equivocada, la consola et dirà que no hi ha res. - Les dades no surten d'una regió tret que ho demanis explícitament (replicació entre regions, còpia d'una instantània, transferència). Aquesta és la base del compliment de l'RGPD.
- Una fallada greu en una regió no es propaga a les altres. És la unitat d'aïllament de fallades més gran que existeix.
- Els preus varien per regió. El mateix servidor pot costar un 20 % més a São Paulo que a Irlanda.
- Alguns serveis nous no estan disponibles a totes les regions.
Regla mental: pensa en cada regió com un núvol complet i separat que casualment comparteix la consola, l'API i el teu compte amb els altres.
Zones de disponibilitat: què és realment una AZ
Una zona de disponibilitat (Availability Zone, AZ) és un conjunt d'un o més centres de dades dins d'una regió, amb:
- Alimentació elèctrica independent: la seva pròpia escomesa i els seus propis generadors.
- Refrigeració independent.
- Connectivitat de xarxa independent.
- Separació física real: són a quilòmetres de distància les unes de les altres, prou lluny perquè una inundació, un incendi o un tall elèctric no n'afecti dues alhora, i prou a prop perquè la latència entre elles continuï sent mínima.
Aquesta doble condició —lluny per al risc, a prop per a la latència— és la clau de tot el disseny:
| Trajecte | Latència típica d'anada i tornada | Què permet |
|---|---|---|
| Dins de la mateixa AZ | < 0,5 ms | Tot |
| Entre AZ de la mateixa regió | 1-2 ms | Replicació síncrona de bases de dades |
| Entre regions europees | 15-40 ms | Replicació asíncrona, recuperació davant desastres |
| Entre continents | 80-200 ms | Només replicació asíncrona |
Que la latència entre AZ sigui d'1-2 mil·lisegons és el que fa possible que una base de dades RDS en mode Multi-AZ escrigui de manera síncrona a dues AZ alhora: cada transacció es confirma a totes dues abans de donar l'OK, i si una AZ desapareix, no es perd ni una comanda. Amb 40 ms això seria inviable.
Les AZ s'anomenen afegint una lletra a l'identificador de la regió: eu-west-1a, eu-west-1b,
eu-west-1c.
Per què les lletres de les AZ es barregen entre comptes
Aquí hi ha un detall que confon molta gent i que convé entendre bé.
eu-west-1a no és el mateix centre de dades per a tots els comptes d'AWS. AWS assigna les lletres
de manera aleatòria i independent per a cada compte. La eu-west-1a de MercadoFresco pot ser
físicament la mateixa instal·lació que la eu-west-1c d'una altra empresa.
Per què? Per repartir la càrrega. Si les lletres fossin fixes, la majoria dels clients triaria "la a" per costum i aquella zona es congestionaria mentre les altres quedarien buides. L' aleatorització distribueix l'ús de manera uniforme.
Conseqüències pràctiques:
- No comparis lletres d'AZ entre comptes. Dir "desplega a la 1a" a un company d'una altra empresa no significa res.
- Per identificar la zona física real existeix l'AZ ID, que sí que és estable i global:
euw1-az1,euw1-az2,euw1-az3. Aquest identificador és el mateix per a tots els comptes.
Pots veure la correspondència del teu compte amb aquesta comanda (la CLI s'instal·la i configura a la lliçó 01-05; aquí només en mostrem el resultat perquè el reconeguis):
# Llista les zones de disponibilitat d'eu-west-1 mostrant el nom i l'ID físic
aws ec2 describe-availability-zones \
--region eu-west-1 \
--query 'AvailabilityZones[].{Nom:ZoneName, IdFisic:ZoneId, Estat:State}' \
--output tableExplicat línia a línia:
aws ec2 describe-availability-zones: serveiec2, operació que llista zones.--region eu-west-1: sobre quina regió preguntem.--query '...': filtre JMESPath que es queda només amb tres camps i els posa nom.--output table: format de taula llegible en lloc de JSON.
Sortida aproximada:
------------------------------------------ | DescribeAvailabilityZones | +------------+------------+--------------+ | Estat | IdFisic | Nom | +------------+------------+--------------+ | available | euw1-az2 | eu-west-1a | | available | euw1-az3 | eu-west-1b | | available | euw1-az1 | eu-west-1c | +------------+------------+--------------+
Fixa-t'hi: en aquest compte, eu-west-1a correspon físicament a euw1-az2. En un altre compte la
correspondència seria diferent.
Xarxa de vora: edge locations, PoP i regional edge caches
A més de regions i AZ, AWS té una tercera capa molt més nombrosa i repartida: la xarxa de vora (edge network).
| Element | Què és | Quants | Per a què |
|---|---|---|---|
| Edge location (PoP) | Instal·lació petita, a prop dels usuaris, amb memòria cau i capacitat de xarxa | Centenars, en més de 90 ciutats (Madrid i Barcelona incloses) | Servir contingut en memòria cau, resoldre DNS, terminar connexions TLS |
| Regional edge cache | Memòria cau intermèdia, més gran i menys nombrosa | Una desena llarga | Absorbir el que no cap als edge i evitar anar a l'origen |
El flux és una jerarquia de memòries cau:
flowchart LR
U["Client a Sevilla"] --> E["Edge location de Madrid"]
E -->|"si no el te"| R["Regional edge cache"]
R -->|"si no el te"| O["Origen a eu-west-1 - S3 o servidor"]
O --> R --> E --> U
Per a MercadoFresco això té un efecte directe: les fotos de producte (milers d'imatges que gairebé no canvien) es poden servir des de l'edge de Madrid en pocs mil·lisegons, sense tocar l'origen a Irlanda. Això millora l'experiència del client i redueix càrrega i cost de sortida.
Els serveis que fan servir aquesta xarxa són CloudFront (xarxa de distribució de contingut), Route 53 (DNS), AWS Shield i AWS WAF (protecció) i Global Accelerator. Com es configura CloudFront és la lliçó 03-04; Route 53 és 03-05; Shield i WAF, 04-04 i 04-05. Aquí només et cal saber que aquesta capa existeix i que és fora de les regions.
Infraestructura especialitzada: Local Zones, Wavelength i Outposts
A més del que hem vist, AWS ofereix tres extensions que probablement no faràs servir al principi, però que convé reconèixer pel nom.
| Tipus | Què és | Cas d'ús típic |
|---|---|---|
| Local Zones | Extensió d'una regió a una ciutat concreta, amb un subconjunt de serveis (còmput, emmagatzematge) molt a prop de l'usuari | Edició de vídeo en temps real, videojocs, aplicacions amb requisit de latència d'un dígit de mil·lisegons en una ciutat |
| AWS Wavelength | Infraestructura d'AWS integrada dins de la xarxa 5G d'operadores de telefonia | Aplicacions mòbils amb latència ultrabaixa: realitat augmentada, vehicle connectat |
| AWS Outposts | Bastidors de maquinari d'AWS instal·lats al teu propi centre de dades, gestionats per AWS i amb les mateixes APIs | Núvol híbrid real: dades que per llei no poden sortir de les teves instal·lacions, o sistemes industrials que exigeixen proximitat física |
MercadoFresco no necessita cap de les tres. La seva latència objectiu (una botiga web) es resol de sobres amb una regió europea més CloudFront.
Serveis globals, regionals i zonals
Aquest és un dels punts on més s'equivoquen els principiants: no tots els serveis d'AWS tenen el mateix abast.
| Abast | Què significa | Conseqüència pràctica | Exemples |
|---|---|---|---|
| Global | El recurs no pertany a cap regió; es veu igual des de qualsevol lloc | El selector de regió de la consola és irrellevant (apareix com a "Global") | IAM, Route 53, CloudFront, WAF (per a CloudFront), Organizations, facturació |
| Regional | El recurs viu en una regió i AWS el replica automàticament entre les AZ d'aquella regió | Has de triar la regió; sobreviu a la caiguda d'una AZ sense que facis res | S3, DynamoDB, SQS, SNS, Lambda, el servei de VPC, ELB |
| Zonal | El recurs viu en una AZ concreta | Si aquella AZ cau, el recurs cau. La redundància la dissenyes tu | Instància EC2, volum EBS, subxarxa, instància RDS individual |
Casos que convé matisar perquè generen confusió:
- Amazon S3: el bucket és regional i les seves dades es repliquen automàticament entre diverses AZ, però el nom del bucket és únic a escala global. Ningú més al món no pot anomenar el seu bucket igual que tu.
- Amazon RDS: una instància individual és zonal. En mode Multi-AZ hi ha una rèplica en una altra AZ, amb commutació automàtica. L'endpoint de connexió no canvia en commutar.
- AWS Lambda: tu desplegues la funció en una regió i AWS s'encarrega d'executar-la en diverses AZ. És regional i no t'has de preocupar de la redundància.
- VPC: la VPC és regional, però cada subxarxa pertany a una única AZ. Aquesta és la peça que faràs servir per repartir els teus servidors (lliçó 03-01).
Regla pràctica: si el recurs és zonal, és responsabilitat teva tenir-ne un altre d'igual en una altra AZ.
Com triar regió: els cinc criteris
Triar regió no és una qüestió de gust. Aquests són els cinc criteris, en ordre d'importància habitual.
- Latència fins als teus usuaris
Cada 1.000 km afegeixen aproximadament 10 ms d'anada i tornada per la velocitat de la llum a la fibra, més el retard dels salts de xarxa. Referències aproximades des de Madrid:
| Regió | Latència orientativa des de Madrid |
|---|---|
eu-south-2 (Espanya) |
5-15 ms |
eu-west-3 (París) |
25-35 ms |
eu-west-1 (Irlanda) |
35-45 ms |
eu-central-1 (Frankfurt) |
40-50 ms |
us-east-1 (Virgínia) |
90-110 ms |
ap-southeast-1 (Singapur) |
180-220 ms |
Per a una botiga en línia, la diferència entre 35 ms i 100 ms és perfectament perceptible: una pàgina que fa 20 peticions encadenades acumula més d'un segon de retard extra.
- Compliment i residència de la dada
MercadoFresco tracta dades personals de clients espanyols: nom, adreça, telèfon, historial de compra. L'RGPD no prohibeix treure dades de la UE, però exigeix garanties addicionals i documentació quan es transfereixen a tercers països. La manera més simple de complir sense advocats és no treure-les: triar una regió de la Unió Europea.
Això descarta directament us-east-1 i, a la pràctica, també eu-west-2 (Londres), que va quedar
fora de la UE després del Brexit.
- Disponibilitat de serveis
No totes les regions ofereixen tots els serveis, ni tots els tipus d'instància. Les regions més
antigues i grans (us-east-1, eu-west-1, eu-central-1) tenen el catàleg més complet; les
més recents (com eu-south-2) van incorporant serveis progressivament.
Abans de comprometre't amb una regió, comprova a la pàgina de disponibilitat regional d'AWS que tots els serveis de la teva arquitectura hi són. Descobrir a mitja obra que et falta un servei és molt car.
- Preu
El mateix recurs costa diferent segons la regió. Prenent us-east-1 com a índex 100, els ordres
de magnitud aproximats són:
| Regió | Índex de preu aproximat |
|---|---|
us-east-1 (Virgínia) |
100 |
eu-north-1 (Estocolm) |
100-105 |
eu-west-1 (Irlanda) |
105-110 |
eu-west-3 (París) |
110-115 |
eu-south-2 (Espanya) |
110-120 |
sa-east-1 (São Paulo) |
150-190 |
La diferència entre regions europees és d'un dígit percentual: no compensa sacrificar latència o compliment per estalviar un 5 %.
- Proximitat a altres sistemes
Si la teva aplicació depèn d'un sistema que ja és en un altre lloc (un ERP, un proveïdor extern, una base de dades heretada), col·locar-t'hi a prop redueix latència i cost de transferència. En el cas de MercadoFresco, el servidor de l'oficina desapareixerà en acabar la migració, així que aquest criteri no pesa.
Disseny multi-AZ: què falla i què sobreviu
Anem al que importa. Què passa exactament quan cau una AZ, i com se sobreviu?
L'arquitectura ingènua: tot en una AZ
flowchart TB
U[Clients] --> E["EC2 botiga - eu-west-1a"]
E --> D[("RDS - eu-west-1a")]
Si eu-west-1a pateix un tall elèctric, MercadoFresco està caiguda al 100 %. És exactament la
mateixa fragilitat del servidor de l'oficina, només que en un edifici més bonic. Molta gent migra al
núvol i es queda aquí, sense adonar-se que no ha guanyat disponibilitat.
L'arquitectura repartida: dues AZ
flowchart TB
U["Clients de MercadoFresco"] --> ALB["Application Load Balancer - regional, present a totes dues AZ"]
subgraph REGION["Regio eu-west-1"]
subgraph AZ1["AZ eu-west-1a"]
W1["EC2 botiga 1"]
DB1[("RDS primaria")]
end
subgraph AZ2["AZ eu-west-1b"]
W2["EC2 botiga 2"]
DB2[("RDS en espera - replica sincrona")]
end
end
ALB --> W1
ALB --> W2
W1 --> DB1
W2 --> DB1
DB1 <-->|"replicacio sincrona, 1-2 ms"| DB2
S3["S3 - fotos de producte - regional, replicat entre AZ"] -.-> W1
S3 -.-> W2
Ara simulem la caiguda completa d'eu-west-1a:
| Component | Què li passa | Efecte per al client |
|---|---|---|
| EC2 botiga 1 | Es perd | Cap: el balancejador deixa d'enviar-li trànsit en segons |
| Balancejador (ALB) | Sobreviu: és regional i té nodes a totes dues AZ | Cap |
| RDS primària | Es perd | Tall d'1 a 2 minuts mentre commuta a la rèplica d'1b; sense pèrdua de dades, perquè la replicació és síncrona |
| Fotos a S3 | Sobreviuen: S3 és regional | Cap |
| EC2 botiga 2 | Continua dempeus, ara amb tot el trànsit | Possible lentitud si no hi ha capacitat de sobres |
Resultat: en lloc d'una caiguda total d'hores, MercadoFresco té una degradació d'un o dos minuts. Aquesta és la diferència entre perdre la tarda del divendres i no assabentar-se'n.
Tres regles de disseny multi-AZ
- Dimensiona per a N-1. Si necessites 4 servidors per atendre el pic i els reparteixes 2 i 2, en caure una AZ te'n queden 2 i no hi arribes. Reparteix 3 i 3, o fes servir escalat automàtic que reaccioni.
- No posis estat al disc local d'una instància. Les fotos de producte no poden viure al disc d'un EC2: si aquella instància desapareix, desapareixen. Van a S3 (lliçó 02-03).
- Prova la fallada. Una arquitectura multi-AZ que mai no s'ha provat és una hipòtesi. Apagar deliberadament una instància i comprovar que el servei continua dempeus és un exercici sa.
I multiregió?
Repartir entre dues regions protegeix contra la fallada d'una regió sencera, però multiplica la complexitat: replicació de dades a desenes de mil·lisegons, DNS amb commutació, cost de transferència i el doble d'infraestructura. Per a MercadoFresco és innecessari avui. La regla general de la indústria és: multi-AZ des del principi, multiregió només quan el negoci ho justifiqui.
Decisió de regió per a MercadoFresco
La Marta compara les tres candidates realistes amb els cinc criteris:
| Criteri | eu-south-2 (Espanya) |
eu-west-3 (París) |
eu-west-1 (Irlanda) |
|---|---|---|---|
| Latència des de Madrid | Excel·lent (5-15 ms) | Bona (25-35 ms) | Acceptable (35-45 ms) |
| Compliment RGPD | A la UE | A la UE | A la UE |
| Catàleg de serveis | En creixement; falten serveis | Ampli | El més complet d'Europa |
| Preu | Lleugerament superior | Lleugerament superior | Dels més baixos d'Europa |
| Nombre d'AZ | 3 | 3 | 3 |
| Maduresa i documentació | Recent | Consolidada | Màxima; gairebé tots els exemples en línia la fan servir |
Decisió: eu-west-1 (Irlanda), amb aquest raonament explícit:
- La latència de 35-45 ms és perfectament acceptable per a una botiga web, i a més la major part del pes de la pàgina (fotos de producte) es servirà des de l'edge de Madrid via CloudFront, amb la qual cosa la latència percebuda serà molt menor que la latència a l'origen.
- El catàleg complet evita el risc de descobrir a mitja obra que falta un servei, cosa crítica quan el curs recorrerà onze mòduls de serveis diferents.
- És a la UE, amb la qual cosa l'RGPD es compleix sense transferències internacionals.
- És la regió amb més documentació i exemples, cosa que importa molt en un equip de tres persones sense especialista en AWS.
La Marta anota a més una revisió futura: quan eu-south-2 completi el seu catàleg i si la
latència esdevé un factor competitiu, es reavaluarà. Documentar la decisió i la seva data de
revisió és una bona pràctica d'arquitectura.
Cost del trànsit entre AZ i entre regions
El preu de moure dades dins d'AWS sorprèn molts equips. Aquests són els ordres de magnitud que has de tenir al cap:
| Trajecte de la dada | Cost aproximat | Comentari |
|---|---|---|
| Dins de la mateixa AZ, per IP privada | Gratis | El cas ideal |
| Entre AZ de la mateixa regió | ~0,01 $/GB en cada sentit (≈0,02 $/GB anada i tornada) | Petit, però s'acumula amb trànsit alt |
| Entre regions | ~0,02-0,09 $/GB segons el parell de regions | Bastant més car |
| Sortida a internet | ~0,09 $/GB (amb trams gratuïts inicials) | La partida que més creix |
| Entrada des d'internet | Gratis | Pujar dades a AWS no es cobra |
| Des d'AWS cap a CloudFront | Gratis | Un motiu més per fer servir CloudFront (lliçó 03-04) |
Exemple concret per a MercadoFresco: si els servidors d'aplicació d'eu-west-1a consulten la
base de dades d'eu-west-1b, cada gigabyte de resultats travessa una frontera d'AZ i es factura.
Amb 500 GB al mes de trànsit entre capes, serien uns 10 $/mes. No és dramàtic, però:
- Dissenya perquè el trànsit calent es quedi dins de l'AZ quan puguis.
- No ho facis a costa de la disponibilitat. Pagar 10 $ al mes per sobreviure a la caiguda d'un centre de dades és una de les millors compres que pot fer MercadoFresco.
I un advertiment important: el cost entre AZ no t'ha d'empènyer a posar-ho tot en una sola AZ. Aquest estalvi és exactament el que et costarà la tarda del divendres.
Errors Habituals i Consells
- Crear recursos a la regió equivocada. És l'error número u dels principiants: crees una instància, tanques el navegador, tornes l'endemà amb una altra regió seleccionada i "ha desaparegut". No ha desaparegut: continua facturant a l'altra regió. Ho veurem amb detall a la lliçó 01-04.
- Creure que "és a AWS" implica alta disponibilitat. Una única instància EC2 en una única AZ té, aproximadament, la mateixa disponibilitat que un servidor ben mantingut a l'oficina. La redundància s'ha de dissenyar.
- Suposar que
eu-west-1aés el mateix en tots els comptes. Fes servir l'AZ ID (euw1-az1) quan necessitis parlar de la zona física, per exemple en compartir subxarxes entre comptes. - Triar
us-east-1perquè "és la que surt a tots els tutorials". Si els teus usuaris i les teves dades són a Europa, és una mala elecció per latència i per compliment. - Repartir en dues AZ però dimensionar només per al total. Si en perdre una AZ et quedes per sota de la capacitat necessària, el teu disseny multi-AZ només serveix per no caure del tot, no per continuar donant servei.
- Oblidar que hi ha recursos zonals sense rèplica. Un volum EBS viu en una AZ. La seva instantània, en canvi, es desa a S3 i és regional: per això les instantànies són la manera de moure un disc d'una AZ a una altra.
- Consell: documenta per escrit la regió triada, els motius i la data de revisió. Canviar de regió més endavant és un projecte de migració complet, no un ajust de configuració.
- Consell: quan dissenyis, pregunta't sempre "què passa si aquesta AZ desapareix ara mateix?". Si la resposta és "cau la botiga", tens feina a fer.
Exercicis
Exercici 1: llegir la infraestructura
Respon raonadament:
- Un company et diu: "he desplegat a
eu-west-1a, desplega-hi tu també perquè estiguem junts". Treballeu en comptes d'AWS diferents. Què li contestes i quina dada li demanes? - Classifica com a global, regional o zonal: un usuari IAM, un bucket S3, una instància EC2, una funció Lambda, un volum EBS, una distribució de CloudFront, una subxarxa.
- Per què és possible que una base de dades repliqui de manera síncrona entre dues AZ però no entre dues regions?
Exercici 2: triar regió per a dos escenaris
Per a cada escenari, tria regió i justifica-ho amb almenys tres dels cinc criteris:
Escenari A. MercadoFresco decideix obrir una filial a Mèxic amb clients exclusivament mexicans i catàleg propi. Les dades de clients mexicans no es barregen amb les espanyoles.
Escenari B. La Sara necessita un entorn on processar durant la nit els informes de vendes històrics, sense usuaris interactius, amb dades ja anonimitzades i sense dades personals. El cost és el criteri dominant.
Exercici 3: anàlisi de fallada d'una AZ
MercadoFresco desplega a eu-west-1 amb aquesta configuració:
- 2 instàncies EC2 de la botiga: una a
eu-west-1a, una altra aeu-west-1b. Cadascuna suporta com a màxim 600 comandes per hora. - 1 base de dades RDS en mode Multi-AZ, amb la primària a
eu-west-1a. - Les fotos de producte a S3.
- Un Application Load Balancer davant de les instàncies.
- El pic del divendres és de 900 comandes per hora.
Respon:
- Què passa exactament si
eu-west-1acau un dimarts a les 10:00 (200 comandes/hora)? - I si cau un divendres a les 19:00, en ple pic?
- Proposa dos canvis concrets perquè l'escenari del divendres no degradi el servei, i indica quin dels dos preferiries per cost.
Solucions
Solució 1
-
Li contestes que les lletres de les AZ no coincideixen entre comptes: la seva
eu-west-1apot ser una altra instal·lació física que la teva. Li demanes l'AZ ID (per exempleeuw1-az2), que sí que és estable i global, i busques al teu compte quina lletra li correspon ambaws ec2 describe-availability-zones. -
Recurs Abast Usuari IAM Global Bucket S3 Regional (amb nom únic global) Instància EC2 Zonal Funció Lambda Regional Volum EBS Zonal Distribució de CloudFront Global Subxarxa Zonal -
Perquè la replicació síncrona exigeix esperar la confirmació del destí abans de donar per bona la transacció. Entre AZ, aquest viatge costa 1-2 ms, un sobrecost assumible per operació. Entre regions costa 30-40 ms o més, cosa que reduiria el rendiment d'escriptura en un ordre de magnitud i faria inviable l'aplicació. Per això entre regions es replica de manera asíncrona, acceptant una petita finestra de possible pèrdua de dades.
Solució 2
Escenari A: mx-central-1 (Mèxic) o, si no, us-east-1/us-west-2.
- Latència: una regió a Mèxic o al sud dels EUA és molt més a prop dels clients mexicans que qualsevol regió europea (que estaria a més de 150 ms).
- Compliment i residència de la dada: les dades de clients mexicans queden a la seva jurisdicció i, en no barrejar-se amb les europees, no es crea una transferència internacional innecessària.
- Disponibilitat de serveis: cal verificar que la regió triada ofereixi tots els serveis de l'arquitectura; si hi falten peces, una regió estatunidenca consolidada amb bona latència cap a Mèxic és l'alternativa raonable.
- Preu:
sa-east-1(São Paulo) quedaria descartada per ser notablement més cara i no aportar cap avantatge de latència respecte a les opcions nord-americanes.
Escenari B: eu-north-1 (Estocolm).
- Preu: habitualment és de les regions més econòmiques d'Europa, i el cost és el criteri dominant de l'enunciat.
- Latència: irrellevant, perquè és un procés per lots nocturn sense usuaris interactius.
- Compliment: és a la UE i, a més, les dades ja estan anonimitzades, amb la qual cosa el requisit és doblement folgat.
- Disponibilitat de serveis: cal comprovar que ofereix els serveis d'anàlisi
necessaris; si en faltés algun,
eu-west-1seria l'alternativa per molt poca diferència de preu.
Un matís: si aquestes dades s'han de moure des d'eu-west-1, el cost de transferència entre regions
podria anul·lar l'estalvi. Caldria calcular-ho abans de decidir.
Solució 3
-
Dimarts a les 10:00 (200 comandes/hora). L'ALB detecta que la instància d'
1ano respon i deixa d'enviar-li trànsit en segons. RDS commuta la primària aeu-west-1ben 1-2 minuts, sense pèrdua de dades, i l'endpoint de connexió no canvia. La instància d'1bpot amb les 200 comandes/hora (el seu límit és 600). Les fotos a S3 no es veuen afectades. Impacte per al client: un o dos minuts d'errors en operacions d'escriptura, i després servei normal. -
Divendres a les 19:00 (900 comandes/hora). El mateix tall d'1-2 minuts per la commutació de RDS, però després queda una sola instància amb capacitat per a 600 comandes/hora davant d'una demanda de 900. El sistema queda saturat: cues, temps de resposta alts i errors. Es perden aproximadament un terç de les comandes durant tot l'incident. El disseny evita la caiguda total, però no la degradació greu, perquè no està dimensionat per a N-1.
-
Dos canvis possibles:
- Opció A: tres instàncies fixes (una a
1a, una a1bi una tercera repartida), de manera que en perdre una AZ quedin 2 × 600 = 1 200 comandes/hora de capacitat, suficient per al pic de 900. Cost: una instància més encesa 24/7 tot el mes. - Opció B: grup d'escalat automàtic repartit en les dues AZ, amb mínim 2 instàncies i màxim 4, que escali per CPU o per nombre de peticions. En el pic del divendres hi hauria 3 o 4 instàncies; en caure una AZ, el grup llança reemplaçaments a l'AZ sana.
Preferible: l'opció B per cost. Només es paga capacitat extra durant les hores del pic (unes poques al dia) en lloc de mantenir una instància addicional les 730 hores del mes, i a més reacciona automàticament a pics no previstos. L'únic inconvenient és el temps d'arrencada de les instàncies noves, que es mitiga amb una imatge preparada i amb un llindar d'escalat prou anticipat. L'escalat automàtic es tracta al mòdul 2 i el balanceig al 3.
- Opció A: tres instàncies fixes (una a
Conclusió
Ja saps com està construït AWS per dins i, sobretot, per què aquesta estructura importa per a la teva
arquitectura. Has vist les tres capes —regions, zones de disponibilitat i xarxa de vora—, la
nomenclatura eu-west-1, l'aïllament entre regions que sosté el compliment de l'RGPD, i què
és realment una AZ: instal·lacions amb energia, refrigeració i xarxa independents, separades
quilòmetres però unides per fibra a 1-2 ms, que és just el que fa possible la replicació síncrona
de bases de dades.
Has après a distingir serveis globals, regionals i zonals —la clau per saber quina
redundància et dona AWS de franc i quina has de dissenyar tu—, a raonar l'elecció de regió amb
cinc criteris (latència, compliment, catàleg, preu i proximitat), i a estimar el cost del
trànsit entre AZ i entre regions. I MercadoFresco ja té la seva decisió presa i documentada:
eu-west-1, amb desplegament repartit en dues zones de disponibilitat.
A la lliçó següent, 01-04 «Consola d'administració d'AWS», baixem al terreny: recorrerem la consola amb la qual treballaràs cada dia, aprendrem a no caure en el parany del selector de regió que acabem d'esmentar, veurem com etiquetar i localitzar recursos dispersos amb Tag Editor, i crearàs el teu primer recurs real al compte de MercadoFresco.
Curs d'AWS
Mòdul 1: Introducció a AWS
- Què és AWS?
- Configuració del teu compte d'AWS
- Infraestructura global d'AWS
- Consola d'administració d'AWS
- AWS CLI i SDK
Mòdul 2: Serveis principals d'AWS
Mòdul 3: Xarxes i lliurament de contingut
- Amazon VPC
- Grups de seguretat i llistes de control d'accés
- Elastic Load Balancing
- Amazon CloudFront
- Route 53
Mòdul 4: Seguretat i identitat
- AWS Identity and Access Management (IAM)
- AWS Key Management Service (KMS)
- Secrets Manager i Parameter Store
- AWS Shield
- AWS WAF
Mòdul 5: Monitoratge i gestió
- Amazon CloudWatch
- AWS X-Ray i traçabilitat distribuïda
- AWS CloudTrail
- AWS Config
- AWS Trusted Advisor
Mòdul 6: Bases de dades
- Com triar la base de dades adequada
- Amazon DynamoDB
- Amazon Aurora
- Amazon Redshift
- Amazon ElastiCache
Mòdul 7: Integració d'aplicacions
- Amazon SQS
- Amazon SNS
- Amazon EventBridge
- AWS Step Functions
- Patrons d'integració: idempotència, reintents i cues de missatges fallits
