← Volver al catálogo

Amazon Aurora

En una frase: Base relacional compatible con MySQL y PostgreSQL con almacenamiento replicado en 3 AZ (Availability Zone: zona de disponibilidad)
Documentación oficial: Documentación de Amazon Aurora ↗

Qué es

Amazon Aurora es un motor relacional creado por AWS y compatible con MySQL y PostgreSQL: las aplicaciones y herramientas de esos motores funcionan casi sin cambios. Se gestiona desde RDS (Relational Database Service), pero su arquitectura es distinta: separa el cómputo (instancias) de un volumen de almacenamiento compartido que guarda seis copias de los datos en tres zonas de disponibilidad y crece solo. Eso le da más rendimiento, réplicas más baratas y conmutaciones más rápidas que RDS clásico.

Conceptos clave

  • Clúster: una instancia escritora y hasta 15 réplicas de Aurora que leen del mismo volumen, con retrasos de milisegundos. Cualquier réplica puede pasar a ser la escritora; con prioridades de conmutación decides cuál.
  • Endpoints: de clúster (siempre apunta a la escritora), de lectura (reparte entre réplicas), de instancia y personalizados (un subconjunto de réplicas, por ejemplo para informes).
  • Almacenamiento: crece automáticamente en bloques de 10 GB, hasta 128 TiB o 256 TiB según la versión del motor; tolera perder dos copias sin afectar a las escrituras y tres sin afectar a las lecturas.
  • Aurora Serverless v2: la capacidad se ajusta en unidades ACU (Aurora Capacity Unit: unidad de capacidad de Aurora Serverless) según la carga, y en las versiones compatibles puede bajar a 0 ACU y pausarse cuando no hay actividad. Se puede mezclar con instancias aprovisionadas en el mismo clúster.
  • Aurora Global Database: un clúster principal y hasta 10 regiones secundarias de solo lectura con replicación por almacenamiento (normalmente menos de un segundo). Permite lecturas locales y recuperación regional en poco tiempo.
  • Clonación: copia de la base de datos en minutos que comparte el almacenamiento hasta que cambian los datos (copy-on-write). Ideal para pruebas.
  • Backtrack (solo Aurora MySQL): rebobina el clúster a un momento anterior sin restaurar una copia.
  • Modos de almacenamiento: Standard (pagas las operaciones de E/S) o I/O-Optimized (sin coste por E/S, para cargas intensivas).
  • Copias y PITR (Point-In-Time Recovery: restaurar a un momento concreto) hasta 35 días, como RDS.

Casos de uso típicos

  • Aplicaciones relacionales críticas que necesitan alta disponibilidad y muchas lecturas.
  • SaaS y aplicaciones globales con lectores en varias regiones (Global Database).
  • Cargas intermitentes o entornos de desarrollo con Serverless v2.
  • Migrar desde bases comerciales (Oracle, SQL Server) a un motor compatible con código abierto.

Cuándo NO usarlo

  • Si necesitas Oracle, SQL Server o Db2 tal cual: RDS para ese motor.
  • Bases de datos pequeñas y estables donde RDS en una sola instancia es más barato.
  • Acceso clave-valor masivo o esquema flexible: DynamoDB.
  • Análisis de datos a gran escala: Redshift.

Comparativa con RDS clásico

CaracterísticaAuroraRDS (MySQL/PostgreSQL)
Copias de los datos6 copias en 3 zonas, siempre1 (o 2-3 con Multi-AZ)
Réplicas de lecturaHasta 15, sobre el mismo volumenHasta 15, cada una con su almacenamiento
ConmutaciónNormalmente en menos de 30 segundos1-2 minutos (Multi-AZ con una espera)
AlmacenamientoCrece solo, sin aprovisionarAprovisionado, con autoescalado opcional
MultirregiónGlobal Database (< 1 s)Réplicas asíncronas entre regiones

Modelo de precios

Se paga por hora de cada instancia (o por ACU-hora en Serverless v2), el almacenamiento realmente usado por GB al mes, las operaciones de E/S en el modo Standard, las copias que superen el tamaño del clúster, Backtrack, y la replicación y transferencia en Global Database. Hay instancias reservadas para las aprovisionadas.

Seguridad y alta disponibilidad

  • Datos siempre replicados en tres zonas; con al menos una réplica en otra zona, la conmutación es automática y rápida.
  • Cifrado con KMS (Key Management Service) decidido al crear el clúster, TLS (Transport Layer Security: cifrado de las conexiones) en tránsito, autenticación IAM (Identity and Access Management) y contraseña gestionada con Secrets Manager.
  • Subredes privadas y security groups, como cualquier base de datos en VPC (Virtual Private Cloud).
  • Global Database para recuperación regional con RPO (Recovery Point Objective: cuántos datos puedes permitirte perder) de segundos y RTO (Recovery Time Objective: cuánto tiempo puedes estar sin servicio) de minutos.

Trampas de examen

  • "Compatible con MySQL/PostgreSQL, alto rendimiento y alta disponibilidad": Aurora.
  • "Carga impredecible o intermitente" relacional: Aurora Serverless v2.
  • "Lecturas de baja latencia en otras regiones" o "RPO de segundos entre regiones": Global Database.
  • "Copia rápida de producción para pruebas": clonación.
  • "Deshacer un error sin restaurar" en Aurora MySQL: Backtrack.
  • "Enviar los informes a unas réplicas concretas": endpoint personalizado.
  • "Muchas E/S y factura de E/S alta": modo I/O-Optimized.

Preguntas de práctica

Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.

Fuentes