Saltar al contenido
← Catálogo
AlmacenamientoFundamental

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

  1. Creas un bucket con un nombre único a nivel mundial, en una región concreta.
  2. Subes objetos, cada uno con una clave (su “ruta”) y metadatos.
  3. 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.
  4. 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.html de 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

Un sitio estático en S3 detrás de CloudFrontsincronizaorigen (OAC)HTTPSdist/astro buildAmazon S3bucket privadoCloudFrontcaché de bordeVisitante
Un sitio estático en S3 detrás de CloudFrontEl comando astro build genera la carpeta dist/ con el sitio compilado. Un paso de despliegue sincroniza esa carpeta con un bucket de Amazon S3 privado. CloudFront lee de ese bucket mediante Origin Access Control y sirve el sitio al visitante con HTTPS y caché en el borde, sin que el bucket quede nunca expuesto a internet.

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