U4 - Emmagatzenament i bases de dades al núvol
🎯 RA's vinculats: RA4
Connexions amb contingut previ
En aquesta unitat aplicarem coneixements apresos en blocs anteriors:
- Xarxes virtuals (VPC, subxarxes, IGW, NGW, NACLs).
- Seguretat (Security Groups, IAM, rols).
- Servidors EC2 i arquitectura bàsica.
- Funcions Lambda i monitoratge amb CloudWatch.
El que fem ara és connectar-los amb el món de l’emmagatzematge, creant sistemes que reaccionen a canvis i guarden informació persistentment.
🗂️ Introducció a l’emmagatzematge al núvol
L’emmagatzematge al núvol permet desar informació de manera segura, escalable i d’alta disponibilitat, sense necessitat de gestionar directament el maquinari físic. En lloc de discos locals, els serveis al núvol ofereixen volums, fitxers o objectes virtuals accessibles des de qualsevol lloc.
Els sistemes d’emmagatzematge d’AWS estan dissenyats sota tres pilars fonamentals:
Durabilitat
És la probabilitat que les dades no es perden amb el temps. Per exemple, Amazon S3 garanteix una durabilitat de 99.999999999 % (11 nous), ja que cada objecte es replica automàticament en múltiples servidors i zones de disponibilitat.
Disponibilitat
És la capacitat d’accedir a les dades fins i tot si hi ha fallades en un centre de dades o una zona. Els serveis d’AWS estan distribuïts geogràficament per oferir alta disponibilitat.
Escalabilitat
Permet adaptar-se automàticament al volum de dades o a la càrrega de treball sense interrupcions. El sistema “creix” o “decreix” segons les necessitats reals.
Exemple del món real
Una aplicació web que puja fotografies pot començar amb pocs usuaris i pocs GB, però amb el temps pot arribar a desenes de milers de fitxers. Amb S3, no cal canviar res de la infraestructura: el sistema creix automàticament i sense límit pràctic.
Tipus d’emmagatzematge segons el cas d’ús
| Tipus | Servei | Característiques | Casos d’ús típics |
|---|---|---|---|
| Objectes | S3 | HTTP(S), quasi il·limitat, cost-efectiu | Web estàtica, multimèdia, backups, dades de mòbil |
| Blocs | EBS | Disc per a EC2, molt ràpid, persistent | BD xicotetes/mitjanes, /var, filesystems locals |
| Fitxers | EFS | NFS gestionat, multi-instància | Apps distribuïdes, contenidors, carpetes compartides |

Pràctica sugerida
En aquest punt dels continguts, es recomana fer la pràctica 0 de la unitat 4.
Amazon S3
Quan parlem de computació en el núvol, un dels serveis més utilitzats i fonamentals és Amazon S3 (Simple Storage Service). És molt probable que, siga quina siga l’aplicació que desenvolupes —una web, una API o una app mòbil—, necessite guardar fitxers d’algun tipus: imatges, vídeos, documents, logs o còpies de seguretat. S3 és el servei d’Amazon que permet fer-ho de manera segura, escalable i amb un cost molt reduït, sense haver de gestionar discs, carpetes o servidors de fitxers.
Quan penjem un arxiu a S3, en realitat l’estem convertint en un objecte dins d’un bucket. Cada bucket actua com un gran contenidor lògic dins del qual podem organitzar milers o milions de fitxers. Els buckets són globals (el seu nom ha de ser únic a tot AWS) i estan associats a una regió.
S3 no necessita cap servidor propi per funcionar: tota la infraestructura la gestiona Amazon. Això vol dir que no has d’instal·lar ni mantenir res: simplement crees un bucket, puges arxius, i els pots recuperar per URL o des del teu codi.

S3 guarda objectes dins de buckets. Cada objecte té:
- Key (nom/ruta), valor (bytes), metadades i, opcionalment, versió.
- Capacitat fins a 5 TB per objecte; bucket amb capacitat pràctica “il·limitada”.
- Accés via URL quan és públic o via SDK/CLI quan és privat.
Un objecte en S3 és accessible via una URL com:
https://nom-bucket.s3.amazonaws.com/nom-objecte
Buckets i emmagatzenament en la regió
Encara que triem la regió on s'emmagatzema el bucket, les dades es guarden de forma redundant en diferents instal·lacions.
Conceptes bàsics: buckets, objectes i metadades
En S3, tots els fitxers són objectes, i cada objecte conté:
- Un nom o clau (key), que equivaldria a la ruta o nom del fitxer.
- Un valor, que és el contingut binari (el fitxer real).
- Opcionalment, metadades (informació addicional com el tipus MIME, la data o propietats personalitzades).
Els objectes viuen dins dels buckets, que són els grans contenidors. A diferència d’un sistema de fitxers tradicional, en S3 no hi ha realment carpetes: el que veiem com “carpetes” és només part del nom de la clau. Per exemple, un objecte amb la clau imatges/profile1.jpg no està dins d’una carpeta “imatges”, sinó que simplement té eixe prefix.

Cada objecte pot tindre una mida de fins a 5 TB, i la capacitat total d’un bucket és pràcticament il·limitada. A més, S3 garanteix una durabilitat del 99,999999999% (11 nous), ja que guarda còpies redundants dels teus objectes en diverses instal·lacions dins de la mateixa regió.
Pràctica sugerida
En aquest punt dels continguts, es recomana fer la pràctica 1 de la unitat 4.
Tipus d’emmagatzematge S3: equilibrar cost i disponibilitat
No totes les dades necessiten estar disponibles amb la mateixa freqüència. AWS ofereix diferents classes d’emmagatzematge, cadascuna optimitzada per a un cas d’ús concret. Tractar d’entendre-les és essencial per optimitzar el cost i el rendiment.
Amazon S3 permet que tu tries com vols guardar cada objecte: de manera més ràpida i disponible, o més barata però menys accessible. Això ho aconsegueix gràcies a les seues classes d’emmagatzematge, que pots canviar en qualsevol moment.
| Classe | Descripció | Cas d’ús recomanat |
|---|---|---|
| S3 Standard | Alta disponibilitat i baix temps de resposta. | Webs, aplicacions i contingut accedit sovint. |
| S3 Intelligent-Tiering | Mou automàticament objectes entre capes segons l’ús. | Dades amb accés variable o imprevisible. |
| S3 Standard-IA | Accés infreqüent, però amb recuperació ràpida. | Backups o informes ocasionals. |
| S3 One Zone-IA | Igual que l’anterior però només en una AZ. | Dades que es poden tornar a crear fàcilment. |
| S3 Glacier | Emmagatzematge a llarg termini, amb recuperació lenta. | Arxius o dades històriques. |
| S3 Glacier Deep Archive | El més barat, recuperació d’hores. | Conservació durant anys (auditories, registres). |
Cicle de vida
Amb Lifecycle Management pots moure automàticament objectes de Standard → IA → Glacier → Delete per a reduir costos.

Aquesta flexibilitat permet que els teus projectes no paguen més del necessari. Pots definir regles de cicle de vida per a que AWS moga automàticament els objectes a capes més econòmiques o fins i tot els elimine després d’un temps.
Exemple pràctic
Imagina que desenvolupes una aplicació de fotos per a mòbil. Les imatges pujades recentment podrien estar en S3 Standard durant el primer mes, després passar a Standard-IA si no s’hi accedeix, i finalment a Glacier per a arxiu. Tot això pot automatitzar-se sense tocar una línia de codi.
Pràctica sugerida
En aquest punt dels continguts, es recomana fer la pràctica 2 de la unitat 4.
Seguretat i permisos en S3
Per defecte, tots els buckets i objectes de S3 són privats. Només poden accedir els usuaris, rols o serveis als quals se’ls ha concedit permís explícitament. Aquesta és una de les claus del model de responsabilitat compartida d’AWS: Amazon protegeix la infraestructura, però tu eres responsable de qui pot llegir o escriure les teues dades.
AWS ofereix diverses capes de seguretat i control d’accés, que poden combinar-se segons el cas d’ús.
Mecanismes de control d’accés
| Mecanisme | Descripció breu | Cas d’ús habitual |
|---|---|---|
| Bloqueig d’accés públic | Evita qualsevol accés públic encara que hi haja permisos oberts. | Recomanat per a buckets privats o de dades sensibles. |
| Polítiques de bucket (Bucket policies) | JSON que defineix permisos per a usuaris, rols o tot el món (Principal: "*") sobre un bucket concret. |
Donar accés públic controlat (p. ex., per a una web estàtica). |
| Polítiques IAM | Definixen permisos a nivell d’usuari o rol, no de bucket. | Donar accés intern des d’un servei AWS (p. ex., Lambda o EC2). |
| ACL (Access Control Lists) | Permisos heretats d’abans d’IAM, ara en desús. | Només per compatibilitat o casos puntuals. |
| Punts d’accés (Access Points) | URL dedicades amb configuració pròpia de permisos i xarxa. | Quan diversos equips o aplicacions accedeixen al mateix bucket. |
Bones pràctiques
- Mantén activat el bloqueig d’accés públic excepte si és absolutament necessari desactivar-lo.
En AWS, es pot comprovar les característiques de seguretat de un bucket accedint a la pestanya Permissions
Activitat sugerida
- Desactiva el bloqueig per al públic general i llegeix el missatge que et mostra. Com pots observar, és una acció que AWS desaconsella.
Integrant S3 amb altres serveis d'AWS
Una de les fortaleses de S3 és la seua integració nativa amb altres serveis. Cada vegada que ocorre un esdeveniment (com penjar o esborrar un objecte), pots fer que AWS execute automàticament una acció.
| Servei | Funció típica |
|---|---|
| AWS Lambda | Executar una funció quan es puja un fitxer (p. ex., redimensionar una imatge o indexar dades). |
| CloudFront | Distribuir contingut d’un bucket a nivell global amb millor rendiment. |
| SQS / SNS | Notificar altres sistemes quan hi ha nous objectes. |
| Athena | Consultar dades en CSV/JSON directament dins de S3 amb SQL. |
Per fer-ho, cal accedir a la secció Event Notifications dins de la pestanya de Propierties del bucket. Des d'allí, podem crear un event de notificació per a que quan passe alguna acció (per exemple, es puja un fitxer), s'execute algun servei, com per exemple Lambda (recordeu que permetia executar codi en resposta a un event).

Utilitat
Com podríem aprofitar açò en una aplicació web o mòbil? - Per exemple, per enviar un correu o actualitzar un registre d'una BBDD cada vegada que un usuari puja una imatge.
Pràctica sugerida
En aquest punt dels continguts, es recomana fer la pràctica 3, 4 i 5 de la unitat 4.
Emmagatzematge a nivell de bloc i fitxer: EBS i EFS
Amazon S3, que és el servei d’emmagatzematge d’objectes més utilitzat a AWS. Però S3 no és adequat per a tots els escenaris: no està pensat per a instal·lar sistemes operatius, bases de dades o aplicacions que necessiten llegir i escriure contínuament sobre un disc. Per això AWS ofereix altres dues opcions principals:
| Tipus d’emmagatzematge | Servei AWS | Cas d’ús típic |
|---|---|---|
| Objectes | Amazon S3 | Fitxers independents (imatges, documents, backups, webs estàtiques) |
| Blocs | Amazon EBS (Elastic Block Store) | Discs virtuals per a EC2, bases de dades, aplicacions amb molta E/S |
| Fitxers compartits | Amazon EFS (Elastic File System) | Carpetes en xarxa accessibles des de diverses instàncies |
Quan fer servir cadascun
- S3: quan l’aplicació llig o escriu fitxers complets (imatges, PDFs, vídeos…).
- EBS: quan necessites un disc per al sistema o una base de dades.
- EFS: quan diverses instàncies necessiten accedir als mateixos fitxers simultàniament.
Mini-activitat
Observa aquestes situacions i indica quin servei faries servir i per què:
- Un blog Wordpress allotjat a EC2 que desa imatges pujades pels usuaris
- Una base de dades MongoDB dins d’una instància EC2.
- Un projecte on tres servidors EC2 comparteixen un directori /uploads.
- Una app mòbil que guarda vídeos i permet accedir-hi des del navegador.
- Còpia de seguretat mensual d’una base de dades antiga.
Amazon EBS: Volums, Muntatge i Snapshots
Què és Amazon EBS?
Amazon Elastic Block Store (EBS) és el sistema d’emmagatzematge de blocs persistent per a EC2. Funciona com un disc dur virtual connectat a una instància. Cada volum EBS és independent de la vida de la instància, de manera que, encara que atures o elimines l’EC2, el volum pot conservar-se i reutilitzar-se.
Durabilitat i rendiment
EBS està pensat per a dades vives: bases de dades, sistemes de fitxers, logs o qualsevol aplicació que necessite latència baixa i accés ràpid.

Tipus de volums EBS
| Tipus | Descripció | Rendiment aproximat | Ús típic |
|---|---|---|---|
| gp3 (SSD ús general) | Equilibri cost-rendiment | Fins 16.000 IOPS | Ús general, bases de dades petites |
| io2 / io2 Block Express (SSD provisionat) | Rendiment alt i baixa latència | Fins 64k-246k IOPS | Bases de dades crítiques |
| st1 (HDD optimitzat per throughput) | Gran volum seqüencial | Fins 500 MB/s | Logs, processament massiu |
| sc1 (HDD fred) | Més econòmic, menys IOPS | Fins 250 MB/s | Dades poc accedides |
Dada important
Per defecte, les instàncies EC2 ja tenen un volum EBS de sistema (root) on s’instal·la l’OS, però podem afegir-ne més per separar dades o ampliar espai.
Creació i gestió d'EBS
Els EBS es creen, eliminen i gestionen de forma independent al EC2. D'aquesta forma, primer es crea un volum, després s'associa a un EC2 i després caldria muntar-lo per a que el SO el reconega.
A més, també es poden crear còpies de seguretat dels volums EBS i emmagatzermar-los a S3.
Pràctica sugerida
En aquest punt dels continguts, es recomana fer la pràctica 6 i 7 de la unitat 4.
Amazon EFS
Amazon Elastic File System (EFS) és un servei d’emmagatzematge de fitxers compartits. Permet que diverses instàncies EC2 accedisquen al mateix conjunt de fitxers alhora mitjançant el protocol NFS (Network File System).
Es pot entendre com un NAS al núvol: un espai comú on moltes màquines poden llegir i escriure fitxers simultàniament.
Context
EFS és molt útil en aplicacions distribuïdes o contenidors (com Kubernetes), però no és habitual en entorns web o mòbils com els que treballarem en DAW i DAM. A més, no està disponible al laboratori d’AWS Academy, així que no el practicarem directament.
Quan s’utilitza?
| Cas d’ús | Explicació |
|---|---|
| Aplicacions que necessiten accés simultani a fitxers | diverses instàncies web compartint configuracions o recursos |
| Processament de dades distribuït | entorns d’anàlisi, machine learning o big data |
| Directori d’usuari compartit | entorns corporatius amb carpetes comunes |
En el nostre context docent, pots considerar EFS com una opció més, però en la pràctica, els teus projectes faran servir S3 (objectes) i EBS (blocs).
Exercici entregable
En aquest punt dels continguts, es recomana fer l'entregable PAC4 que trobareu a aules.
Curs AWS Academy Cloud Foundations
En aquest punt s'ha de realitzar el mòdul 7 (Almacenamiento) del curs d' AWS Academy Cloud Foundations. Aquest inclou un laboratori avaluable.
Bases de dades relacionals al núvol (Amazon RDS)
La majoria d’aplicacions web o mòbils necessiten un sistema de bases de dades per a guardar informació d’usuaris, contingut o configuracions. Tradicionalment, això implicava instal·lar i mantindre un servidor MySQL o PostgreSQL: actualitzacions, còpies de seguretat, configuració de xarxa, i vigilància constant del rendiment.
Recordatori
En la Unitat 3 ja vas crear una instància EC2 i vas instal·lar MySQL de manera manual. Amazon RDS permet aconseguir el mateix objectiu, però sense haver de gestionar el sistema operatiu ni el motor de la base de dades.
Què és Amazon RDS?
Amazon RDS (Relational Database Service) és un servei completament gestionat que permet desplegar bases de dades relacionals com MySQL, PostgreSQL, MariaDB, Oracle o SQL Server.

AWS s’encarrega automàticament de:
- Aprovisionar els recursos (CPU, memòria, disc).
- Fer còpies de seguretat automàtiques i snapshots manuals.
- Reparar la base de dades en cas de fallades.
- Aplicar parxes i actualitzacions de seguretat.
- Escalar verticalment (més potència) o horitzontalment (replicació).
Avantatges respecte a un servidor autogestionat
| Aspecte | EC2 amb MySQL manual | Amazon RDS |
|---|---|---|
| Manteniment | L’administrador s’encarrega de tot | AWS aplica parxes automàticament |
| Còpies de seguretat | S’han de programar manualment | Backups automàtics i snapshots |
| Alta disponibilitat | Cal muntar rèpliques a mà | RDS Multi-AZ ho fa automàticament |
| Escalabilitat | Redimensionar la instància EC2 | Canvi de tipus d’instància des de la consola |
| Cost | Més flexible però menys segur | Ligerament superior però estable i segur |
Components d’una instància RDS

- Instància RDS:Representa el servidor virtual on s’executa el motor (MySQL, PostgreSQL...).
- Endpoint:Nom DNS que utilitzarem per connectar-nos (mi-bd.xxxxxx.us-east-1.rds.amazonaws.com).
- Subxarxes i VPC:Sempre està dins d’una VPC i normalment en subxarxes privades.
- Security Groups::Controlen qui pot connectar-se al port de la BBDD. 3306 (MySQL) o 5432 (PostgreSQL).
- Snapshots:Còpies de seguretat que podem restaurar en qualsevol moment.
Seguretat bàsica
Quan creem una instància RDS, hem de decidir qui pot connectar-se. Les opcions més importants són:
- VPC i subxarxa: normalment privada, accessible des d’una EC2 a la mateixa VPC i/o bastió.
- Security Group: permetre el port 3306 (si és MySQL) només al SG del servidor EC2.
- Autenticació: usuari i contrasenya d’administrador definits en crear la instància.
Compte amb la connexió pública
Evita marcar “Public access = Yes” excepte per a proves puntuals. Una base de dades mai no hauria de ser pública a Internet.
Pràctica sugerida
En aquest punt dels continguts, es recomana fer la pràctica 8, 9 i 10 de la unitat 4.
Bases de dades no relacionals al núvol (DynamoDB)
Amazon DynamoDB és el servei de base de dades NoSQL completament gestionat d’AWS. Està pensat per a aplicacions web i mòbils que necessiten rendiment alt, latència mínima i escalabilitat automàtica, sense preocupar-se per la gestió de servidors o del maquinari.

Per què DynamoDB?
Recordatori 1er curs
En el mòdul de Bases de Dades ja has treballat amb models NoSQL com MongoDB o Firebase. DynamoDB comparteix moltes d’aquestes característiques, però destaca per la seua integració nativa amb altres serveis AWS i pel rendiment sota càrregues molt altes.
Les seues principals característiques són:
- Gestió totalment automàtica: no cal crear instàncies, ni definir tamanys de disc, ni configurar servidors.
- Escalabilitat automàtica: augmenta o redueix la capacitat segons el trànsit.
- Alta disponibilitat: les dades es repliquen automàticament en tres zones de disponibilitat dins d’una mateixa regió.
- Latència de mil·lisegons: especialment adequada per a aplicacions que necessiten respostes molt ràpides (API, jocs, IoT…).
- Integració directa amb Lambda, API Gateway, CloudWatch, IAM, S3…
Estructura bàsica de DynamoDB
DynamoDB emmagatzema dades en taules (no en col·leccions ni documents). Cada taula està formada per ítems (similars a registres) i atributs (similars a camps).
Cada taula ha de definir una clau primària, que pot ser:
| Tipus de clau | Format | Exemple | Cas d’ús |
|---|---|---|---|
| Clau simple (Partition key) | Un sol atribut | user_id |
Cerca directa per identificador únic |
| Clau composta (Partition + Sort key) | Dos atributs | user_id + timestamp |
Històrics, registres per usuari, versions, etc. |
Els atributs poden ser de tipus:
- String, Number, Boolean, Binary, List, Map, Set
Exemple
{
"user_id": "u123",
"timestamp": "2025-10-28T10:00:00",
"nom": "Anna Coll",
"ciutat": "València",
"compres": 12
}
On s'indiquen les claus?
En DynamoDB no hi ha cap atribut reservat com _id (a diferència de MongoDB). Eres tu qui defineix quins camps seran les claus quan crees la taula. S'estudia més endavant.
Models de treball
Quan crees una taula, AWS et demana com vols gestionar-ne la capacitat:
| Mode | Descripció | Quan utilitzar-lo |
|---|---|---|
| On-Demand | AWS ajusta automàticament la capacitat segons les peticions. | Ideal per a pràctiques i aplicacions variables. |
| Provisioned | Definixes manualment la taxa de lectura/escriptura per segon. | Per a entorns amb càrregues constants o cost controlat. |
Per al laboratori
Tria On-Demand, ja que evita errors de capacitat i s’ajusta automàticament a l’ús (sense cost extra dins d’AWS Academy).
Seguretat i permisos
- L’accés a DynamoDB es controla mitjançant IAM (usuari o rol).
- Pots restringir l’accés a una taula concreta o a determinades operacions (lectura, escriptura, o totes dues).
- DynamoDB integra CloudWatch per monitorar l’ús i el rendiment.
Casos d’ús habituals
- Aplicacions web o mòbils amb consultes senzilles però molt freqüents.
- API que gestionen informació d’usuaris o sessions.
- Sistemes IoT amb registres d’esdeveniments constants.
- Aplicacions serverless amb Lambda que guarden informació sense un servidor propi.
Mini-Activitat
Llig atentament els següents casos i indica quin tipus de clau triaries per a cada un:
| Escenari | Tipus de clau |
|---|---|
| 1️⃣ Una aplicació de missatgeria vol guardar cada missatge amb el seu usuari i hora d’enviament. | ? |
2️⃣ Un sistema d’usuaris on només cal identificar cada persona pel seu user_id. |
? |
| 3️⃣ Un registre de temperatures de sensors IoT, on cada dispositiu envia dades cada minut. | ? |
Pràctica sugerida
En aquest punt dels continguts, es recomana fer la pràctica 11 i 12 de la unitat 4.
Curs AWS Academy Cloud Foundations
En aquest punt s'ha de realitzar el mòdul 8 (Bases de dades) del curs d' AWS Academy Cloud Foundations. Aquest inclou un laboratori avaluable.
Exercici entregable
En aquest punt dels continguts, es recomana fer l'entregable PAC5 que trobareu a aules.