July 31, 2025

S3

🗄️ Amazon S3 (Simple Storage Service)

Amazon S3 es un servicio de almacenamiento de objetos altamente escalable, duradero y seguro que permite almacenar y recuperar cualquier cantidad de datos desde cualquier parte del mundo.

📦 Conceptos Clave

  • Objeto (Object):
    Unidad básica de almacenamiento en S3. Está compuesto por:

    • Datos (archivo propiamente dicho)

    • Metadatos (información adicional sobre el objeto)

    • Identificador único (clave o key)

  • Bucket (Cubo):
    Contenedor donde se almacenan los objetos. Cada bucket tiene un nombre único global dentro de AWS.


🌐 Hosting de Páginas Web Estáticas

  • S3 permite configurar un bucket para alojar páginas web estáticas.

  • Debe habilitarse la opción “Static Website Hosting” en el bucket.

  • Es necesario establecer:

    • Documento de índice (por ejemplo: index.html)

    • (Opcional) Documento de error (por ejemplo: error.html)

  • El acceso público debe ser permitido mediante políticas apropiadas.


🔐 Control de Acceso

1. Bucket Policies

  • Escritas en formato JSON.

  • Definen qué identidades (usuarios, roles) tienen acceso y qué acciones pueden realizar.

  • Permiten acceso público o restringido.

  • Ejemplo de uso: permitir acceso de solo lectura a todo el mundo.

2. IAM Policies

  • Asociadas a usuarios o roles de IAM.

  • Controlan el acceso a los recursos de S3 desde una perspectiva del usuario.

3. ACLs (Access Control Lists)

  • Nivel más granular (menos usado hoy en día).

  • Permiten definir permisos específicos a nivel de objeto o bucket.


🏷️ Clases de Almacenamiento

Amazon S3 ofrece múltiples clases de almacenamiento para adaptarse a diferentes necesidades de acceso, durabilidad y costo:

ClaseUso PrincipalDurabilidadDisponibilidadRecuperación
S3 StandardUso general, accesos frecuentes99.999999999%99.99%Inmediata
S3 Intelligent-TieringOptimización automática de costos según uso99.999999999%99.9%–99.99%Inmediata
S3 Standard-IAAcceso infrecuente, pero recuperación rápida99.999999999%99.9%Inmediata
S3 One Zone-IAIgual que IA pero en una única zona de disponibilidad99.999999999%99.5%Inmediata
S3 GlacierArchivado, recuperación en minutos u horas99.999999999%VariableMinutos-horas
S3 Glacier Deep ArchiveArchivado a largo plazo, recuperación lenta99.999999999%VariableHoras

📁 Versionado

  • S3 permite habilitar el versionado en un bucket para conservar, recuperar y restaurar versiones de cada objeto.

  • Útil para auditoría o recuperación ante errores.


🔄 Ciclo de Vida (Lifecycle Management)

  • Puedes establecer reglas para automatizar:

    • Transición de objetos entre clases de almacenamiento.

    • Eliminación automática después de cierto tiempo.

  • Reduce costos y simplifica la gestión de datos a largo plazo.


🔍 Otras Características Importantes

  • Encryption (Cifrado):

    • SSE-S3 (administrado por AWS)

    • SSE-KMS (administrado por AWS KMS)

    • SSE-C (administrado por el cliente)

  • Transfer Acceleration:

    • Utiliza la red global de AWS para acelerar la carga de archivos grandes desde ubicaciones geográficas lejanas.
  • Event Notifications:

    • Permite configurar eventos (como cargas o eliminaciones) para que disparen funciones Lambda, envíen mensajes a SNS o SQS.
  • Multipart Upload:

    • Permite cargar archivos grandes en partes, mejorando la eficiencia y fiabilidad