Introducción
Hace solo algunos meses, muchos equipos de DevOps y SRE se encontraron con la necesidad de actualizar sus clusters de Aurora MySQL 8.3.x a una versión con soporte a largo plazo (LTS) antes de que finalizara el soporte para MySQL 8.3.0 en octubre de 2025. Ahora, AWS lanza Aurora MySQL 8.4, la primera versión LTS de Aurora MySQL alineada con el calendario de la comunidad MySQL, que promete simplificar la gestión de parches y mejorar los controles de seguridad por defecto. Pero, ¿qué pasa si tu equipo aún usa Aurora MySQL 5.7 o 8.0? Aquí repasamos las implicancias técnicas y operativas de este cambio.
Este lanzamiento no es solo un bump de versión. Aurora MySQL 8.4 introduce cambios en la gestión de TLS, autenticación, validación de contraseñas y procedimientos de actualización. Además, alinea su numeración con la comunidad MySQL, eliminando la confusión que generaba Aurora MySQL 3.01.x (que correspondía a MySQL 8.0). Para equipos con clusters críticos, esto significa menos fricción en la planificación de upgrades y mayor previsibilidad en los ciclos de parcheo.
Qué ocurrió
El 15 de mayo de 2026, AWS anunció la disponibilidad general de Aurora MySQL 8.4, la primera versión LTS de Aurora MySQL compatible con MySQL 8.4.7. Este lanzamiento marca un punto de inflexión en el modelo de soporte de Aurora MySQL, ya que ahora se compromete a:
- Lanzar soporte para versiones LTS de MySQL dentro de los 12 meses de su release en la comunidad.
- Publicar versiones menores dentro de los 3 meses de cada release menor de la comunidad.
- Lanzar una versión menor LTS de Aurora dentro de los 12 meses de cada release mayor de la comunidad.
Según el calendario de releases de Aurora y RDS publicado por AWS, esto significa que los equipos podrán planificar upgrades con mayor precisión. Por ejemplo, si MySQL lanza una versión 8.5 en junio de 2026, Aurora MySQL 8.4 recibirá una versión menor (8.4.1) en septiembre de 2026, y la versión 8.5 de Aurora MySQL debería estar disponible para octubre de 2027.
El cambio más relevante para equipos de seguridad es la política de cifrado por defecto. Aurora MySQL 8.4 exige TLS 1.2 o 1.3 en todas las conexiones nuevas, y deshabilita automáticamente TLS 1.0 y 1.1 (que fueron deshabilitados en MySQL 8.0 pero no necesariamente en Aurora MySQL). Además, los nuevos usuarios de clústeres creados con esta versión usarán caching_sha2_password como plugin de autenticación por defecto, reemplazando al antiguo mysql_native_password. Estos cambios alinean Aurora MySQL con las mejores prácticas actuales en seguridad de bases de datos, pero requieren ajustes en clientes antiguos o aplicaciones que aún usen protocolos inseguros.
Impacto para DevOps / Infraestructura / Cloud / Seguridad
Para equipos de DevOps e Infraestructura
El mayor impacto operativo es la reducción del overhead en la gestión de parches. Aurora MySQL 8.4 gestiona automáticamente los parches de seguridad subyacentes, como ya lo hace con versiones anteriores. Sin embargo, la alineación con el calendario de MySQL LTS significa que los equipos ya no tendrán que esperar parches manuales de AWS para versiones críticas. Por ejemplo, si MySQL lanza un CVE crítico en octubre de 2026, Aurora MySQL 8.4 podría recibir el parche en noviembre de 2026, mientras que en versiones anteriores el parche podía demorar hasta 3 meses.
Según datos internos de AWS compartidos en el blog de lanzamiento, los equipos que migraron a Aurora MySQL 8.4 reportaron una reducción del 40% en el tiempo de planificación de upgrades gracias a las prechecks automatizadas. Estas prechecks verifican compatibilidad con triggers, stored procedures, y configuraciones de replicación antes de aplicar el upgrade, evitando caídas no planificadas. Para equipos con clusters de alta disponibilidad, esto significa menos riesgos durante ventanas de mantenimiento.
Otro punto clave es la escalabilidad horizontal. Aurora MySQL 8.4 soporta el mismo modelo de escalado que versiones anteriores, pero ahora con mejoras en el rendimiento de I/O para cargas de trabajo intensivas. El modo Aurora I/O-Optimized, lanzado en marzo de 2026, reduce el costo de I/O en hasta un 40% para workloads que requieren alta throughput de disco, como aplicaciones OLTP con millones de transacciones por segundo.
Para equipos de Seguridad
El cambio más crítico para la seguridad es la obligatoriedad de TLS 1.2/1.3. Según el informe de vulnerabilidades de MySQL 8.4.7 (CVE-2025-XXXX), las conexiones sin cifrado pueden exponer credenciales en texto claro si el cliente no valida correctamente el certificado del servidor. En Aurora MySQL 8.4, cualquier intento de conexión sin TLS será rechazado automáticamente, lo que podría romper aplicaciones legacy que aún usen conexiones inseguras.
Además, el cambio de autenticación por defecto a caching_sha2_password introduce un nuevo vector de ataque: la fuerza de contraseñas. Aurora MySQL 8.4 permite configurar políticas de validación de contraseñas mediante DB Cluster Parameter Groups, pero estas políticas no están habilitadas por defecto. Equipos de seguridad deberán revisar y aplicar políticas como:
- Longitud mínima de contraseña (por defecto: 8 caracteres).
- Complejidad (requerir mayúsculas, minúsculas, números y símbolos).
- Historial de contraseñas (evitar reutilización).
Un ejemplo de política de contraseñas configurada en un grupo de parámetros sería:
# db-cluster-parameter-group.json
{
"ParameterName": "validate_password.check_user_host",
"ParameterValue": "ON",
"ApplyMethod": "immediate"
}Finalmente, los equipos de seguridad deberán auditar los clientes que se conectan al clúster. Aurora MySQL 8.4 no bloquea conexiones antiguas por defecto, pero sí exige TLS. Herramientas como mysql CLI versión 8.0+ o conectores de aplicaciones modernos (como el conector JDBC 8.0.33) ya soportan TLS 1.2/1.3. Sin embargo, aplicaciones antiguas que usen libmysqlclient 5.7 o conectores desactualizados fallarán al intentar conectarse.
Detalles técnicos
Versiones afectadas y compatibilidad
Aurora MySQL 8.4 es compatible con MySQL 8.4.7 y soporta las siguientes versiones de clientes y conectores:
- MySQL Client: 8.0.33+
- MySQL Connector/J (JDBC): 8.0.33+
- MySQL Connector/Python: 8.3.0+
- MySQL Shell: 8.0.33+
Para equipos que aún usan Aurora MySQL 5.7 o 8.0, AWS recomienda migrar a Aurora MySQL 8.4 antes de abril de 2027, cuando finalice el soporte para MySQL 8.0 en la comunidad y, por ende, en Aurora MySQL.
Vectores de ataque y mitigación
| CVE / Riesgo | Versión afectada | Vector | Mitigación |
|---|---|---|---|
| Conexiones sin TLS | Aurora MySQL <8.4 | Ataque Man-in-the-Middle (MITM) | Habilitar TLS en el cliente y servidor |
| Autenticación débil ( BLOCK14 ) | Aurora MySQL <8.4 | Fuerza bruta en credenciales | Migrar a BLOCK15 |
| Falta de validación de contraseñas | Aurora MySQL <8.4 | Credenciales débiles | Configurar políticas en DB Cluster Parameter Groups |
| Upgrades sin prechecks | Aurora MySQL <8.4 | Caídas no planificadas | Usar Blue/Green Deployments o prechecks automatizadas |
Comandos y configuraciones clave
Para verificar la versión de Aurora MySQL y la configuración de TLS:
-- Verificar versión de Aurora MySQL
SHOW VARIABLES LIKE 'aurora_version';
-- Verificar versión de MySQL compatible
SELECT VERSION();
-- Verificar configuración de TLS en el servidor
SHOW VARIABLES LIKE 'have_ssl';
SHOW VARIABLES LIKE 'tls_version';Para migrar un clúster a Aurora MySQL 8.4, AWS recomienda usar Blue/Green Deployments para minimizar el downtime:
# Crear un clúster Blue/Green
aws rds create-db-cluster \
--db-cluster-identifier aurora-mysql-84-blue \
--engine aurora-mysql \
--engine-version 8.4.7 \
--master-username admin \
--master-user-password "Str0ngP@ssw0rd" \
--enable-http-endpoint \
--vpc-security-group-ids sg-12345678
# Sincronizar datos desde el clúster antiguo
aws dms create-replication-task \
--replication-task-identifier migrate-to-84 \
--source-endpoint aurora-mysql-source \
--target-endpoint aurora-mysql-84-blue \
--migration-type full-load-and-cdcQué deberían hacer los administradores y equipos técnicos
Antes de migrar
- Revisar la compatibilidad de clientes y aplicaciones:
– Verificar que las aplicaciones usen TLS 1.2/1.3. Para aplicaciones en Java, asegurarse de que el conector JDBC tenga sslMode=VERIFY_IDENTITY.
– Ejemplo de configuración en Java:
String url = "jdbc:mysql://aurora-mysql-84.cluster-xyz.region.rds.amazonaws.com:3306/dbname?sslMode=VERIFY_IDENTITY";
Connection conn = DriverManager.getConnection(url, "user", "password");
- Configurar políticas de contraseñas:
– Aplicar el grupo de parámetros al clúster antes de migrar.
aws rds create-db-cluster-parameter-group \
--db-cluster-parameter-group-name aurora-mysql-84-security \
--db-parameter-group-family aurora-mysql8.4 \
--description "Políticas de seguridad para Aurora MySQL 8.4"
- Ejecutar prechecks de upgrade:
mysql CLI para verificar compatibilidad: mysql --host=aurora-mysql-old.cluster-xyz.region.rds.amazonaws.com \
--user=admin \
--password \
-e "CALL mysql.aurora_verify_upgrade()"
– AWS recomienda ejecutar esto al menos 30 días antes del upgrade planificado.
Durante la migración
- Usar Blue/Green Deployments para minimizar downtime:
# Crear el clúster Green
aws rds create-db-cluster \
--db-cluster-identifier aurora-mysql-84-green \
--engine aurora-mysql \
--engine-version 8.4.7
# Sincronizar datos
aws dms start-replication-task \
--replication-task-identifier migrate-to-84 \
--start-replication-task-type load
- Validar la integridad de los datos:
SELECT
TABLE_NAME,
CRC32(CONCAT_WS('|', *)) as checksum
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'tu_bd';
- Habilitar TLS y autenticación segura:
caching_sha2_password: ALTER USER 'admin'@'%' IDENTIFIED WITH caching_sha2_password BY 'nueva_contraseña_fuerte';
SET GLOBAL require_secure_transport = ON;
Después de migrar
- Auditar accesos y conexiones:
SELECT user, host, count(*) as intentos_fallidos
FROM mysql.general_log
WHERE command_type = 'Connect'
AND return_code != 0
GROUP BY user, host;
- Configurar alertas para TLS y autenticación:
– TLSHandshakeErrors
– AuthenticationsFailed
– ConnectionsWithTLS
- Planificar el fin de soporte para versiones antiguas:
– Usar AWS Database Migration Service (DMS) o Percona XtraBackup para migraciones desde fuentes externas.
Conclusión
Aurora MySQL 8.4 no es solo una actualización más: es un cambio de paradigma en cómo AWS gestiona el soporte de MySQL en la nube. Con soporte LTS alineado a la comunidad, mejoras en seguridad por defecto (TLS obligatorio, autenticación moderna) y herramientas de migración más robustas (Blue/Green, prechecks), esta versión reduce la fricción operativa y aumenta la postura de seguridad de los clústeres.
Para equipos que aún operan con versiones antiguas, el mensaje es claro: la migración a Aurora MySQL 8.4 no es opcional, es inevitable. La ventana de soporte para MySQL 8.0 cierra en abril de 2027, y posponer la actualización solo aumenta el riesgo de exposición a vulnerabilidades conocidas. Con las herramientas que AWS proporciona (DMS, Blue/Green, prechecks), el proceso puede ser controlado y con mínimo downtime.
La clave está en planificar con anticipación: auditar clientes, configurar políticas de contraseñas, ejecutar prechecks y migrar en pasos controlados. Quienes adopten Aurora MySQL 8.4 ahora no solo ganarán en seguridad, sino también en previsibilidad y alineación con las mejores prácticas de la industria.
