En el mundo digital actual, la necesidad de mover y gestionar grandes volúmenes de datos es constante. Ya sea para modernizar tu infraestructura, consolidar bases de datos o simplemente trasladar tus operaciones a la nube, contar con una herramienta fiable es fundamental. Aquí es donde entra en juego AWS Database Migration Service (AWS DMS).

AWS DMS es un servicio en la nube diseñado para facilitar la migración de bases de datos relacionales, almacenes de datos, bases de datos NoSQL y otros tipos de almacenes de datos. Permite trasladar tus datos hacia, desde, o entre configuraciones locales y la Nube de AWS. Su objetivo principal es hacer que las migraciones sean lo más sencillas y seguras posible, minimizando el tiempo de inactividad de las aplicaciones que dependen de la base de datos.

¿Qué es y Cómo Funciona AWS DMS?
En esencia, AWS DMS opera sobre un servidor en la Nube de AWS que ejecuta el software de replicación. Para iniciar una migración, configuras conexiones de origen y destino, indicando a AWS DMS de dónde extraer los datos y dónde cargarlos. Luego, programas una tarea que se ejecuta en este servidor para realizar el movimiento de datos.
Una de las grandes ventajas de AWS DMS es que puede encargarse de crear las tablas y las claves principales asociadas en el destino si no existen previamente. Sin embargo, también tienes la flexibilidad de crear las tablas de destino tú mismo si lo prefieres. Para tareas más complejas de preparación del destino, como la creación de índices, vistas, activadores, etc., puedes apoyarte en una herramienta complementaria.
Tareas de Migración que AWS DMS Realiza
AWS DMS asume muchas de las tareas difíciles o tediosas implicadas en un proyecto de migración. Permite:
- Descubrir tus almacenes de datos de origen utilizando herramientas como DMS Fleet Advisor, que recopila datos de servidores y bases de datos locales para crear un inventario migratorio.
- Convertir tus esquemas de origen. Si migras a un motor de base de datos diferente (migración heterogénea), puedes usar la conversión de esquemas de DMS o descargar AWS Schema Conversion Tool (AWS SCT) para evaluar y convertir automáticamente los esquemas.
- Migrar tus datos. Una vez que los esquemas están convertidos y aplicados en la base de datos de destino, AWS DMS mueve los datos.
- Realizar migraciones puntuales (one-time).
- Replicar cambios en curso para mantener sincronizados los orígenes y los destinos, lo que es crucial para migraciones con mínima interrupción.
AWS DMS soporta migraciones homogéneas (por ejemplo, Oracle a Oracle) y migraciones heterogéneas entre diferentes bases de datos (como Oracle o Microsoft SQL Server a Amazon Aurora). También permite la replicación continua de datos con baja latencia desde un origen soportado a un destino soportado. Por ejemplo, puedes replicar desde múltiples orígenes a Amazon Simple Storage Service (Amazon S3) para construir una solución de data lake escalable y altamente disponible, o consolidar bases de datos en un data warehouse a escala de petabytes enviando datos a Amazon Redshift.

AWS DMS vs. AWS SCT: Entendiendo la Diferencia
Es común confundir AWS DMS con AWS Schema Conversion Tool (AWS SCT), pero tienen roles distintos y complementarios en el proceso de migración. La diferencia fundamental radica en su función principal:
- AWS DMS (Database Migration Service) es el servicio *gestionado* que se encarga de la *migración y replicación de los datos*. Su tarea principal es mover los datos de la base de datos de origen a la de destino.
- AWS SCT (Schema Conversion Tool) es una *herramienta* que se enfoca en la *evaluación y conversión de los esquemas de base de datos y el código* (como procedimientos almacenados, funciones, activadores, etc.) de un motor de base de datos a otro. Ayuda a preparar la base de datos de destino para recibir los datos.
Puedes usar AWS SCT para preparar el destino (convirtiendo el esquema) y luego usar AWS DMS para mover los datos a ese destino preparado. Son dos herramientas que a menudo se utilizan juntas en migraciones heterogéneas.
| Característica | AWS DMS | AWS SCT |
|---|---|---|
| Función Principal | Migración y Replicación de Datos | Evaluación y Conversión de Esquemas y Código |
| Manejo de Datos | Mueve los datos | Modifica la estructura y código |
| Uso con DMS | El servicio que ejecuta la tarea de mover datos | Herramienta complementaria para preparar el destino |
La Seguridad en AWS Database Migration Service
La seguridad es una prioridad máxima en AWS, y AWS DMS está diseñado teniendo esto en cuenta. La seguridad en la nube es una responsabilidad compartida entre AWS y el cliente (modelo de responsabilidad compartida). AWS es responsable de la seguridad *de* la nube (la infraestructura subyacente), mientras que tú eres responsable de la seguridad *en* la nube (cómo configuras y utilizas los servicios).
Para cumplir con tus objetivos de seguridad y cumplimiento al usar AWS DMS, hay varios aspectos clave a considerar:
Gestión de Acceso
Puedes gestionar el acceso a tus recursos de AWS DMS y a tus bases de datos utilizando políticas de AWS Identity and Access Management (IAM). AWS DMS requiere que tengas los permisos apropiados si inicias sesión como usuario de IAM. Por ejemplo, puedes usar IAM para determinar quién tiene permiso para crear, describir, modificar o eliminar instancias de replicación, etiquetar recursos o modificar grupos de seguridad.

Cifrado
AWS DMS utiliza cifrado para proteger tus datos y conexiones:
- Cifrado en Tránsito: Utiliza Secure Sockets Layer (SSL) con Transport Layer Security (TLS) para las conexiones de tus endpoints. Esto asegura que los datos transmitidos entre la instancia de replicación y las bases de datos de origen/destino estén cifrados.
- Cifrado en Reposo:AWS DMS utiliza claves de cifrado de AWS Key Management Service (AWS KMS) para cifrar el almacenamiento utilizado por tu instancia de replicación y la información de conexión de sus endpoints. También utiliza claves de AWS KMS para asegurar los datos de destino en reposo para endpoints como Amazon S3 y Amazon Redshift. Puedes usar la clave KMS predeterminada de tu cuenta (
aws/dms) o crear una clave KMS personalizada. Es importante que cualquier clave KMS personalizada sea una clave simétrica, ya que AWS DMS no soporta claves asimétricas. La gestión de estas claves se realiza a través de AWS KMS.
Para usar una clave KMS personalizada, el usuario de IAM que realiza la migración necesita permisos específicos sobre esa clave (como kms:ListAliases, kms:DescribeKey, kms:CreateGrant, kms:Encrypt, kms:ReEncrypt*), además de los permisos necesarios para usar AWS DMS.
Seguridad de Red
AWS DMS siempre crea tu instancia de replicación dentro de una nube privada virtual (VPC) basada en el servicio Amazon VPC. Esto proporciona un control de acceso a la red muy granular. Para que la instancia de replicación pueda comunicarse con los endpoints de origen y destino, es fundamental configurar correctamente los grupos de seguridad y las listas de control de acceso de red (ACLs) tanto para la instancia de replicación como para los endpoints.
Las reglas generales de seguridad de red son:
- La instancia de replicación debe tener acceso a los endpoints de origen y destino en sus respectivos puertos de base de datos (reglas de salida/egreso en el grupo de seguridad de la instancia de replicación).
- Los endpoints de base de datos deben permitir el acceso entrante desde la instancia de replicación en sus puertos de base de datos (reglas de entrada/ingreso en los grupos de seguridad de los endpoints).
La configuración de red específica puede variar:
- Todos los componentes en una VPC: Los grupos de seguridad de los endpoints deben permitir el ingreso desde el grupo de seguridad o la IP privada de la instancia de replicación.
- Múltiples VPCs: Se requieren reglas de grupo de seguridad que permitan el tráfico entre los rangos de VPCs y los puertos de base de datos relevantes.
- Red a una VPC usando AWS Direct Connect o VPN: El tráfico desde la VPC hacia la red local a través del túnel VPN/Direct Connect debe estar permitido. Si se usa una instancia EC2 como puerta de enlace NAT, su grupo de seguridad debe permitir el tráfico desde la instancia de replicación.
- Red a una VPC usando Internet: Si la conexión al endpoint es a través de Internet, la conexión desde la instancia de replicación parecerá venir de su dirección IP pública. Los grupos de seguridad de los endpoints deben permitir el ingreso desde esa IP pública.
- Origen/Destino fuera de la VPC con NAT Gateway: Si la instancia de replicación accede a un endpoint externo a través de una NAT Gateway en la VPC, la conexión parecerá provenir de la IP pública de la NAT Gateway. Los grupos de seguridad del endpoint externo deben permitir el ingreso desde la IP de la NAT Gateway.
AWS DMS no soporta endpoints de VPC para motores que no sean RDBMS.
AWS DMS tradicionalmente traslada cargas de trabajo relacionales más pequeñas (<10 TB), mientras que AWS SCT se utiliza principalmente para migrar grandes cargas de trabajo de almacenes de datos . AWS DMS admite la replicación continua para mantener el destino sincronizado con el origen; AWS SCT no.[/caption]
Cambio de Contraseña de la Base de Datos
Cambiar la contraseña de una base de datos de origen o destino que se está utilizando en una tarea de migración o replicación requiere seguir un procedimiento específico para asegurar que la tarea no se interrumpa.
Preguntas Frecuentes sobre AWS DMS
- ¿Qué tipos de bases de datos puedo migrar con AWS DMS?
- Puedes migrar bases de datos relacionales, almacenes de datos, bases de datos NoSQL y otros tipos de almacenes de datos.
- ¿AWS DMS soporta migraciones entre diferentes motores de base de datos?
- Sí, soporta tanto migraciones homogéneas (mismo motor) como heterogéneas (motores diferentes).
- ¿Puedo replicar datos continuamente con AWS DMS?
- Sí, AWS DMS permite la replicación continua de datos con baja latencia para mantener el origen y el destino sincronizados.
- ¿Cómo se asegura AWS DMS?
- AWS DMS utiliza SSL/TLS para cifrar las conexiones de endpoints, AWS KMS para cifrar el almacenamiento de la instancia de replicación y los datos de destino en reposo, y se despliega dentro de una VPC para control de red. El acceso a los recursos de DMS se gestiona con IAM.
- ¿Cuál es la diferencia principal entre AWS DMS y AWS SCT?
- AWS DMS se encarga de mover los datos (migración y replicación), mientras que AWS SCT se utiliza para evaluar y convertir los esquemas de base de datos y el código entre diferentes motores.
AWS DMS simplifica el complejo proceso de migración de bases de datos, ofreciendo flexibilidad, seguridad y la capacidad de minimizar el tiempo de inactividad, permitiéndote aprovechar al máximo los servicios de base de datos en la Nube de AWS.
Si quieres conocer otros artículos parecidos a AWS DMS: Migra tus Bases de Datos a la Nube puedes visitar la categoría Bases de datos.

Aprende mas sobre MySQL