Saltar al contenido
aprendeaws.dev

Módulo 7 · Almacenamiento/Lección 45

Amazon S3: almacenamiento de objetos

Buckets, objetos y llaves. Guarda cualquier cantidad de archivos con alta durabilidad y controla quién los ve.

Al terminar podrás

  • →Explicar qué es el almacenamiento de objetos y cuándo usarlo
  • →Configurar un bucket privado con versionado y cifrado
  • →Reconocer los usos típicos de S3

Hay tres formas de guardar datos en la nube. Un disco (bloques) se conecta a un servidor. Un sistema de archivos se comparte con carpetas. Y un almacén de objetos guarda archivos completos con un nombre y metadatos, y los entrega por HTTP a quien tenga permiso. Amazon S3 (Simple Storage Service) es el almacén de objetos de AWS y uno de sus servicios más antiguos y usados.

S3 no se monta como un disco ni se edita por partes: subes un objeto, lo lees o lo reemplazas entero. A cambio, no tienes que pensar en capacidad. Guardas lo que quieras y pagas por lo que ocupa.

Buckets, objetos, llaves y prefijos

En la ciudadEn AWS
La caja de seguridadBucketVive en una región. Su nombre forma parte de la URL
El sobreObjetoEl archivo más sus metadatos (tipo, fecha, etiquetas)
La etiqueta del sobreLlave (key)El nombre completo, por ejemplo 2026/11/factura-0042.pdf
Las palabras al inicio de la etiquetaPrefijo2026/11/ parece una carpeta, pero es parte del nombre

Un bucket se crea en una región y los datos no salen de ella a menos que tú lo configures. Pero su nombre, tradicionalmente, debe ser único en todo AWS: si alguien ya usa fotos, tú no puedes. Por eso verás nombres como facturas-acme-prod.

S3 no tiene carpetas de verdad. La consola muestra 2026/11/ como si fuera una carpeta para que sea fácil navegar, pero el objeto se llama 2026/11/factura-0042.pdf de punta a punta. Los prefijos sirven para organizar, para aplicar reglas a un grupo de objetos y para dar permisos por partes.

Durabilidad y disponibilidad

11 nueves

durabilidad de diseño (99,999999999 %) al año

99,99 %

disponibilidad de diseño de S3 Standard

≥ 3

zonas de disponibilidad donde S3 Standard guarda copias

50 TB

tamaño máximo de un objeto

Fuentes: guía del usuario de Amazon S3 («Data protection in Amazon S3»), página de clases de almacenamiento de S3 y anuncio de diciembre de 2025 sobre objetos de 50 TB. Revisado en noviembre de 2026.

Son dos promesas distintas. Durabilidad es la probabilidad de no perder el objeto: once nueves significa que perder uno es extremadamente raro. Disponibilidad es la probabilidad de poder leerlo en un momento dado. Un objeto puede estar perfectamente guardado y, durante un rato, no responder.

Quién puede abrir la caja

Por defecto, todo en S3 es privado. Hoy, además, un bucket nuevo viene con tres protecciones ya encendidas:

  • Block Public Access activado: aunque alguien escriba una política que abra el bucket a internet, S3 la bloquea. Se puede aplicar a un bucket o a toda la cuenta.
  • ACLs deshabilitadas: el dueño del bucket es dueño de todos los objetos y los permisos se manejan solo con políticas.
  • Cifrado por defecto con SSE-S3: todo objeto nuevo se cifra en reposo con llaves que administra S3. Puedes cambiarlo a SSE-KMS para controlar la llave y auditar su uso (lo ves en Cifrado y secretos).

Para dar acceso usas dos herramientas. Las políticas de IAM dicen qué puede hacer una identidad («este rol puede leer de este bucket»). La bucket policy va pegada al bucket y dice quién puede entrar («esta otra cuenta puede escribir aquí», «solo se aceptan conexiones HTTPS»). Ambas son JSON y se evalúan juntas.

Para compartir un archivo puntual sin abrir nada existe la URL prefirmada (presigned URL): un enlace firmado con tus credenciales que vence después del tiempo que elijas. Quien lo tenga puede descargar (o subir) ese objeto, y nada más.

Protegerte de tus propios errores

Los once nueves te protegen de que falle el hardware, no de que alguien borre o sobrescriba un archivo. Para eso está el versionado: con él, S3 guarda cada versión de cada objeto. Si borras, S3 pone un marcador de borrado y la versión anterior sigue ahí. Una vez activado, el versionado solo se puede suspender, no quitar.

La replicación copia los objetos nuevos a otro bucket de forma automática. Entre regiones se llama CRR (Cross-Region Replication): sirve para recuperación ante desastres, requisitos legales o tener los datos más cerca de otros usuarios. En la misma región es SRR (Same-Region Replication): sirve para juntar logs o tener una copia en otra cuenta. Las dos exigen versionado en el origen y en el destino. Si necesitas que nadie pueda borrar un objeto durante un tiempo, ni siquiera un administrador, existe S3 Object Lock.

Un bucket privado, con versionado y cifrado

S3 › Buckets › Create bucket
AWS Regionus-east-1▾Los datos se quedan en esta región.
Bucket type
General purposeDirectory
Directory es para S3 Express One Zone.
Bucket namefacturas-acme-prodMinúsculas, números, puntos y guiones.
Object Ownership
ACLs disabled (recommended)ACLs enabled
Block all public accessOnDéjalo encendido salvo que tengas una razón muy concreta.
Bucket Versioning
EnableDisable
Default encryption
SSE-KMSSSE-S3DSSE-KMS
SSE-S3 ya viene por defecto. SSE-KMS te da control y auditoría de la llave.

Vista simplificada para estudiar. Los nombres de los campos están en inglés, como en la consola real; el diseño de la consola cambia con el tiempo.

resource "aws_s3_bucket" "facturas" {
  bucket = "facturas-acme-prod"
}

# Bloquea cualquier acceso público, aunque alguien escriba una política abierta
resource "aws_s3_bucket_public_access_block" "facturas" {
  bucket                  = aws_s3_bucket.facturas.id
  block_public_acls       = true
  block_public_policy     = true
  ignore_public_acls      = true
  restrict_public_buckets = true
}

# Guarda todas las versiones de cada objeto
resource "aws_s3_bucket_versioning" "facturas" {
  bucket = aws_s3_bucket.facturas.id
  versioning_configuration {
    status = "Enabled"
  }
}

# Cifrado con una llave de KMS (sin esto, S3 igual cifra con SSE-S3)
resource "aws_s3_bucket_server_side_encryption_configuration" "facturas" {
  bucket = aws_s3_bucket.facturas.id
  rule {
    apply_server_side_encryption_by_default {
      sse_algorithm = "aws:kms"
    }
    bucket_key_enabled = true
  }
}

Para qué se usa S3

  • Respaldos y archivo de bases de datos, discos y documentos.
  • Data lake: datos crudos en S3 que luego consultas con Athena o procesas con Glue (en Datos y analítica).
  • Archivos de una aplicación: fotos de perfil, documentos, videos.
  • Logs de CloudTrail, del balanceador o de CloudFront.
  • Sitios web estáticos: HTML, CSS y JavaScript. S3 tiene una opción de static website hosting, pero su endpoint solo sirve HTTP. En producción se usa un bucket privado detrás de CloudFront, que agrega HTTPS, caché cerca del usuario y dominio propio (en Una aplicación serverless completa).

Quiz

Pon a prueba lo que aprendiste

0 de 5 correctas · 5 sin responder

  1. 1.Un equipo borró por error cientos de reportes en S3 y necesita recuperarlos. ¿Qué configuración lo habría evitado?

  2. 2.¿Qué significa que S3 Standard esté diseñado para once nueves de durabilidad?

  3. 3.Necesitas que un cliente descargue un archivo privado durante las próximas 24 horas, sin crearle una cuenta. ¿Qué usas?

  4. 4.Una empresa debe tener una copia automática de sus objetos en otra región por si falla la principal. ¿Qué usa?

  5. 5.¿Qué afirmación sobre los buckets de S3 es correcta?