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:
| Clase | Uso Principal | Durabilidad | Disponibilidad | Recuperación |
|---|---|---|---|---|
| S3 Standard | Uso general, accesos frecuentes | 99.999999999% | 99.99% | Inmediata |
| S3 Intelligent-Tiering | Optimización automática de costos según uso | 99.999999999% | 99.9%–99.99% | Inmediata |
| S3 Standard-IA | Acceso infrecuente, pero recuperación rápida | 99.999999999% | 99.9% | Inmediata |
| S3 One Zone-IA | Igual que IA pero en una única zona de disponibilidad | 99.999999999% | 99.5% | Inmediata |
| S3 Glacier | Archivado, recuperación en minutos u horas | 99.999999999% | Variable | Minutos-horas |
| S3 Glacier Deep Archive | Archivado a largo plazo, recuperación lenta | 99.999999999% | Variable | Horas |
📁 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