Amazon S3
Simple Storage Service
Almacenamiento de objetos duradero y económico, la base de casi cualquier sitio estático.
En palabras simples
Es un disco duro infinito en internet, pero organizado por archivos completos en vez de carpetas del sistema: guardas un archivo, te dan una dirección, y desde ahí lo recuperas.
Cuándo aplicarlo
Cuando necesitas guardar archivos (imágenes, backups, sitios estáticos, datasets) de forma duradera y accesible desde internet, sin administrar un sistema de archivos tú mismo.
- ▸Alojar los archivos compilados de un sitio estático, como este mismo
- ▸Guardar backups, logs o datasets de investigación
- ▸Servir imágenes y archivos descargables de una aplicación
- ▸Recibir archivos que luego procesa una función Lambda
Vocabulario mínimo
- Bucket
- El contenedor donde viven los objetos. Su nombre es único a nivel mundial, no solo dentro de tu cuenta.
- Objeto
- Cada archivo guardado, junto con sus metadatos. S3 no tiene carpetas reales: son parte del nombre del objeto.
- Clase de almacenamiento
- Standard, Infrequent Access, Glacier… definen el equilibrio entre costo de guardar y costo/velocidad de recuperar.
- Block Public Access
- El interruptor que impide exponer un bucket a internet por accidente. Debe quedarse encendido salvo que sepas exactamente qué haces.
Costo y capa gratuita
- Cómo se cobra
- Por GB almacenado al mes, por número de peticiones (GET, PUT) y por transferencia de datos hacia internet.
- Capa gratuita
- 5 GB de almacenamiento Standard, 20.000 peticiones GET y 2.000 PUT al mes durante los primeros 12 meses.
Cuidado con los créditos
- ⚠Servir archivos grandes directamente desde S3 a internet: la transferencia de salida es lo que más se cobra. CloudFront delante sale más barato.
- ⚠Dejar versiones antiguas acumulándose con el versionado activado sin una regla de ciclo de vida.
- ⚠Subir backups a la clase Standard cuando casi nunca se leen: Glacier cuesta una fracción.
Descripción
Amazon S3 guarda objetos — en la práctica, archivos — organizados en buckets. No es un disco duro tradicional ni una base de datos: es almacenamiento diseñado para ser prácticamente indestructible (AWS anuncia once nueves de durabilidad) y escalar sin límite práctico de tamaño total.
Está, además, detrás de este mismo sitio, aunque no se vea: Amplify guarda en S3 los archivos que
genera Astro al compilar y los sirve con CloudFront. Cualquier página del sitio responde con la
cabecera Server: AmazonS3; se puede comprobar con curl -I.
Cómo funciona
- Creas un bucket con un nombre único a nivel mundial, en una región concreta.
- Subes objetos, cada uno con una clave (su “ruta”) y metadatos.
- Defines quién puede leerlos: por política del bucket, por IAM, o —en un sitio estático bien montado— solo desde CloudFront mediante Origin Access Control.
- Opcionalmente configuras reglas de ciclo de vida para mover objetos viejos a clases más baratas.
Manos a la obra
- Crea un bucket con Block Public Access activado.
- Sube un
index.htmlde una sola línea. - Genera una URL prefirmada desde la consola y ábrela: el archivo se descarga aunque el bucket sea privado.
- Prueba a abrir la URL directa del objeto sin firmar: recibirás Access Denied. Ese contraste es el que enseña cómo funciona el acceso en S3.
Ejemplo visual
Fíjate en que el bucket nunca habla directamente con el visitante. Esa es la diferencia entre guardar archivos y servirlos, y también la razón de que salga más barato.
Ese era el plan original de este sitio. Al final se publicó con AWS Amplify, que hace esos mismos pasos por su cuenta en cada push, con un almacenamiento y una distribución que administra él.
Cuándo NO es la mejor opción
- Amazon EBS — si necesitas un disco montado en una instancia EC2 con acceso tipo sistema de archivos.
- Amazon DynamoDB — si necesitas consultar y actualizar registros individuales, no guardar archivos completos.
Se usa junto con
Aparece en certificaciones
- AWS Certified Cloud Practitioner
- AWS Certified Solutions Architect – Associate
- AWS Certified Developer – Associate
Para profundizar