📦 Almacenamiento de Datos en AWS: Opciones y Casos de Uso
AWS ofrece múltiples servicios de almacenamiento diseñados para diferentes necesidades. A continuación, te explico las principales opciones y cuándo usarlas.
🔹 1. Amazon S3 (Simple Storage Service) – Almacenamiento de Objetos
📌 ¿Qué es?
Amazon S3 es un almacenamiento escalable para archivos y datos no estructurados.
✅ Características
✔ Almacenamiento ilimitado y pago por uso.
✔ Alta disponibilidad y durabilidad (99.999999999% de durabilidad).
✔ Permite almacenamiento en diferentes clases:
- S3 Standard (acceso frecuente).
- S3 Intelligent-Tiering (automático según uso).
- S3 Glacier (archivado a largo plazo).
✔ Seguridad con cifrado y control de acceso IAM.
✔ Se integra con Lambda, CloudFront y DynamoDB.
🛠 Casos de Uso
✅ Almacenamiento de imágenes, videos, backups.
✅ Hosting de sitios web estáticos.
✅ Integración con Big Data y ML.
👨💻 Ejemplo: Subir un archivo con AWS CLI
aws s3 cp mi-archivo.txt s3://mi-bucket/
🔹 2. Amazon EBS (Elastic Block Store) – Almacenamiento de Bloques
📌 ¿Qué es?
EBS proporciona almacenamiento en bloques para instancias EC2.
✅ Características
✔ Diseñado para bases de datos y aplicaciones de alto rendimiento.
✔ Se comporta como un disco duro (SSD/HDD).
✔ Persistente incluso si la instancia EC2 se detiene.
✔ Soporta Snapshots para respaldo y restauración.
🛠 Casos de Uso
✅ Almacenamiento para servidores web y bases de datos en EC2.
✅ Aplicaciones que requieren baja latencia y alta IOPS.
👨💻 Ejemplo: Crear un volumen EBS
aws ec2 create-volume --size 10 --region us-east-1 --availability-zone us-east-1a --volume-type gp2
🔹 3. Amazon EFS (Elastic File System) – Almacenamiento de Archivos
📌 ¿Qué es?
EFS es un sistema de archivos compartido y escalable para instancias EC2 y contenedores.
✅ Características
✔ Sistema de archivos basado en NFS.
✔ Escalado automático sin necesidad de gestionar capacidad.
✔ Alta disponibilidad y rendimiento.
🛠 Casos de Uso
✅ Servidores web con contenido compartido.
✅ Análisis de datos en tiempo real con múltiples instancias.
👨💻 Ejemplo: Montar un sistema de archivos EFS
sudo mount -t nfs4 fs-12345678.efs.us-east-1.amazonaws.com:/ efs
🔹 4. Amazon RDS (Relational Database Service) – Bases de Datos Relacionales
📌 ¿Qué es?
Amazon RDS permite ejecutar bases de datos gestionadas como MySQL, PostgreSQL, SQL Server y MariaDB.
✅ Características
✔ No necesitas administrar hardware ni backups.
✔ Escalado automático y alta disponibilidad con Multi-AZ.
✔ Soporte para Read Replicas para mejorar rendimiento.
🛠 Casos de Uso
✅ Aplicaciones que requieren SQL y consultas estructuradas.
✅ Sitios web y plataformas transaccionales.
👨💻 Ejemplo: Crear una base de datos RDS MySQL
aws rds create-db-instance --db-instance-identifier mi-bd --engine mysql --master-username admin --master-user-password password --allocated-storage 20 --db-instance-class db.t2.micro
🔹 5. Amazon DynamoDB – Base de Datos NoSQL
📌 ¿Qué es?
DynamoDB es una base de datos NoSQL gestionada con alta escalabilidad.
✅ Características
✔ Soporta millones de consultas por segundo.
✔ Modelo de datos clave-valor y documentos JSON.
✔ Se integra con Lambda, API Gateway y ML.
🛠 Casos de Uso
✅ Aplicaciones serverless y de IoT.
✅ Sistemas de recomendación y catálogos de productos.
👨💻 Ejemplo: Crear una tabla en DynamoDB
aws dynamodb create-table --table-name MiTabla --attribute-definitions AttributeName=ID,AttributeType=S --key-schema AttributeName=ID,KeyType=HASH --billing-mode PAY_PER_REQUEST
🔹 Comparación Rápida
ServicioTipo de AlmacenamientoUso PrincipalS3ObjetosArchivos, backups, datos no estructuradosEBSBloquesDiscos virtuales para EC2EFSArchivosSistemas de archivos compartidosRDSRelacionalBases de datos SQLDynamoDBNoSQLAplicaciones escalables y rápidas
🎯 ¿Qué Sigue?
🔹 Configurar backups y snapshots en AWS.
🔹 Conectar almacenamiento con Machine Learning en AWS.
🔹 Optimizar costos con S3 Intelligent-Tiering y EFS Infrequent Access.