RDS
📘 ¿Qué es Amazon RDS?
Amazon RDS es un servicio administrado de bases de datos relacionales que facilita la configuración, operación y escalado de una base de datos en la nube.
Reduce tareas operativas como aprovisionamiento, parches, backup, recuperación, escalabilidad y replicación.
🧩 Bases de datos compatibles
| Motor de base de datos | Descripción |
|---|---|
| Amazon Aurora | Motor de alta disponibilidad optimizado por AWS (compatible con MySQL y PostgreSQL) |
| MySQL | Popular motor open source |
| PostgreSQL | Avanzado, extensible, ideal para cargas complejas |
| MariaDB | Derivado de MySQL con optimizaciones |
| Oracle | Versiones con y sin licencia incluida |
| SQL Server | Versiones Express, Web, Standard y Enterprise |
🔧 Funcionalidades clave
| Característica | Descripción |
|---|---|
| Automated Backups | Copias de seguridad automáticas diarias y PITR |
| Snapshots manuales | Puedes crear backups personalizados |
| Multi-AZ | Réplica sincronizada en otra zona para alta disponibilidad |
| Read Replicas | Réplicas de solo lectura (MySQL, PostgreSQL, Aurora, MariaDB) |
| Escalado automático de almacenamiento | Aumenta el almacenamiento sin reinicio |
| Patching automático | Actualizaciones del motor gestionadas por AWS |
| Monitoreo | Integración con CloudWatch, Enhanced Monitoring, Performance Insights |
📦 Tipos de almacenamiento
| Tipo | Uso ideal | Descripción |
|---|---|---|
| General Purpose (gp2/gp3) | Workloads generales | Balance entre precio y rendimiento |
| Provisioned IOPS (io1/io2) | Bases de datos críticas | Bajo tiempo de respuesta y alta IOPS |
| Magnetic (obsoleto) | No recomendado | Más barato pero muy lento |
📊 Clases de instancia
| Familia | Uso recomendado |
|---|---|
| db.t3/t4g | Uso general, bajo costo |
| db.m6g/m5 | Carga media y balanceada |
| db.r6g/r5 | Alta demanda de memoria |
| db.x/m/z | Uso intensivo de CPU o compliance específico |
🔐 Seguridad en RDS
| Elemento | Descripción |
|---|---|
| VPC | RDS se lanza dentro de subredes privadas |
| Grupos de seguridad | Controlan acceso a través de puertos y protocolos |
| IAM | Permisos para crear y administrar bases de datos |
| KMS Encryption | Cifrado en reposo y en tránsito |
| SSL/TLS | Conexiones seguras entre cliente y servidor |
🔁 Alta disponibilidad
1. Multi-AZ Deployment
-
Replica sincrónicamente a otra AZ
-
Failover automático
-
No mejora el rendimiento de lectura
2. Read Replicas
-
Hasta 15 réplicas (depende del motor)
-
Asincrónicas
-
Se pueden escalar y promover a independientes
📑 Copias de seguridad y restauración
| Tipo de backup | Detalles |
|---|---|
| Automated backups | Hasta 35 días con PITR (Point-in-Time Recovery) |
| Manual snapshots | Hasta que el usuario los elimine |
| Restore options | Por fecha/hora o desde snapshot manual |
🧮 Precios
| Elemento | Cobro |
|---|---|
| Instancia (por hora) | Según clase y región |
| Almacenamiento EBS | GB/mes + IOPS si aplica |
| Transferencia de datos | Gratis dentro de misma AZ, se cobra entre regiones |
| Backups | Gratuitos hasta tamaño del almacenamiento base |
| IOPS | Adicional si usas io1/io2 |
👉 RDS no entra en el Free Tier, salvo ciertas instancias t2.micro con MySQL, PostgreSQL o MariaDB por 750h/mes durante 12 meses.
🛠️ Casos de uso
-
Aplicaciones web con backend SQL
-
ERP/CRM tradicionales (SAP, Oracle)
-
Reemplazo de bases auto gestionadas on-prem
-
Sistemas multicliente con alto aislamiento (multi-AZ o multi cuenta)
-
Aplicaciones SaaS con Aurora Serverless
🧠 Preguntas tipo certificación
-
¿Cuál es la diferencia entre Multi-AZ y Read Replica?
-
Multi-AZ: Alta disponibilidad.
-
Read Replica: Escalado de lectura.
-
-
¿Cómo restauras una base a su estado hace 4 horas?
- ✅ Point-in-Time Recovery
-
¿Puedes cambiar la clase de instancia sin perder datos?
- ✅ Sí, requiere reinicio
-
¿Qué motor de RDS permite escalado más rápido y pago por segundos?
- ✅ Aurora Serverless v2
-
¿Cuándo se recomienda usar Provisioned IOPS?
- ✅ Cuando necesitas latencia mínima constante y alto rendimiento
🧪 Buenas prácticas
-
Usar Multi-AZ para producción
-
Habilitar backups automáticos
-
Restringir acceso con subredes privadas y grupos de seguridad
-
Monitorear rendimiento con Performance Insights
-
Hacer pruebas de recuperación regularmente
-
Usar Read Replicas para tareas intensivas en lectura (reporting, BI)