Blog de Amazon Web Services (AWS)

Nuevo – AWS DMS Serverless: Aprovisiona y Escala capacidad de forma Automática para Migración y Replicación de Datos

Por Donnie Prakoso, Principal Developer Advocate

 

Con la gran cantidad de datos que se crean hoy en día, las organizaciones están migrando a la nube para aprovechar la seguridad, confiabilidad y rendimiento de los servicios de bases de datos totalmente administrados. Para facilitar las migraciones de bases de datos y analítica, se puede utilizar  AWS Database Migration Service (AWS DMS).  Lanzado por primera vez en 2016, AWS DMS ofrece un proceso de migración sencillo que automatiza los proyectos de migración de bases de datos, ahorrando tiempo, recursos y dinero.

Aunque puedes comenzar la migración con AWS DMS con unos pocos clicks a través de la consola, es necesario realizar una investigación y planeación inicial para determinar la capacidad cómputo requerida antes de migrar. Puede ser desafiante saber cómo escalar adecuadamente la capacidad antes de tiempo, especialmente al migrar simultáneamente muchas cargas de trabajo o replicar datos de manera continua. Además, necesitas monitorear constantemente el uso y escalar la capacidad manualmente para garantizar un rendimiento óptimo.

Presentando AWS DMS Serverless
Hoy, estoy emocionado de contarte sobre AWS DMS Serverless, una nueva opción sin servidor en AWS DMS que configura, escala y administra automáticamente los recursos de migración para que tus migraciones de bases de datos sean más fáciles y rentables.

Esta es una vista previa rápida de cómo funciona AWS DMS Serverless:

AWS DMS Serverless elimina la incertidumbre a la hora de determinar los recursos de cómputo necesarios y de manejar la carga operativa necesaria para garantizar una migración ininterrumpida de alto rendimiento. El servicio realiza el aprovisionamiento automático de recursos, escalamiento y optimización de la capacidad de las migraciones, lo que te permite comenzar rápidamente las migraciones con una supervisión mínima.

Desde su lanzamiento, AWS DMS Serverless soporta Microsoft SQL Server, PostgreSQL, MySQL y Oracle como fuentes de datos. En cuanto a los destinos de datos, AWS DMS Serverless es compatible con una amplia gama de bases de datos y servicios de análisis, como Amazon AuroraAmazon Relational Database Service (Amazon RDS)Amazon Simple Storage Service (Amazon S3)Amazon RedshiftAmazon DynamoDB y más. AWS DMS Serverless continúa agregando soporte para nuevas fuentes y destinos de datos. Visita «Versiones de motor compatibles» para mantenerte actualizado.

Con esta variedad de fuentes y destinos compatibles con AWS DMS Serverless, muchos escenarios se vuelven posibles. Puedes utilizar AWS DMS Serverless para migrar bases de datos y ayudar a construir estrategias de datos modernas mediante la sincronización de replicaciones continuas de datos en data lakes (ej. Amazon S3) o data warehouses (ej. Amazon Redshift) desde múltiples fuentes de datos diferentes

Cómo funciona AWS DMS Serverless
Permíteme mostrarte cómo puedes comenzar con AWS DMS Serverless. En esta publicación, voy a migrar mis datos desde una base de datos de origen que se ejecuta en PostgreSQL hacia una base de datos de destino que se ejecuta en MySQL en Amazon RDS. La siguiente captura de pantalla muestra mi base de datos de origen con datos de prueba:

En cuanto al destino, he configurado una base de datos de MySQL que se ejecuta en Amazon RDS. La siguiente captura de pantalla muestra mi base de datos de destino:

Comenzar con AWS DMS Serverless es similar a cómo funciona hoy AWS DMS. AWS DMS Serverless requiere que se realicen algunas tareas de configuración, como crear una red virtual privada (VPC) y definir puntos de conexión de origen y destino. Si esta es la primera vez que trabajas con AWS DMS, puedes obtener más información visitando «Requisitos previos de AWS Database Migration Service«.

Para conectarme a un almacenamiento de datos, AWS DMS necesita puntos de conexión tanto para la fuente como para el destino. Un punto de conexión proporciona toda la información necesaria, incluyendo la conexión, el tipo y la ubicación de mis almacenes de datos. La siguiente imagen muestra un punto de conexión que he creado para mi base de datos de destino:

Una vez que haya terminado de configurar los puntos de conexión, puedo comenzar a crear una replicación seleccionando el botón «Create replication» en la página de Serverless replications. La replicación es un nuevo concepto introducido en AWS DMS Serverless para abstraer las instancias y tareas que normalmente tenemos en AWS DMS estándar. Además, los recursos de capacidad se gestionan de forma independiente para cada replicación.

En la página «Create replication«, debe definir algunas configuraciones. Empieza por la definición del Nombre, luego especificando el Punto de conexión de la base de datos de origen (“Source database endpoint”) y el Punto de conexión de la base de datos de destino (“Target database endpoint”). Si no encuentras tus puntos de conexión, asegúrate de seleccionar motores de bases de datos compatibles con AWS DMS Serverless.

Después de eso, se debe especificar el Tipo de replicación. Hay tres tipos de replicación disponibles en AWS DMS Serverless:

  • Carga completa (“Full load”) — Si necesito migrar todos los datos existentes en la base de datos de origen.
  • Captura de cambios de datos (CDC, por sus siglas en inglés) — Si debo replicar los cambios de datos desde la base de datos de origen hacia la base de datos de destino.
  • Carga completa y captura de cambios de datos (CDC) — Si necesito migrar datos existentes y replicar cambios de datos desde la base de datos de origen hacia la base de datos de destino.

En este ejemplo, elegí «Carga completa y captura de cambios de datos (CDC)» porque necesito migrar datos existentes y actualizar continuamente la base de datos de destino con los cambios en la base de datos de origen.

En la sección de Settings, también puedo habilitar el registro de Logs con Amazon CloudWatch, lo que facilita el monitoreo del progreso de la replicación en el tiempo.

Al igual que con AWS DMS estándar, en AWS DMS Serverless, también puedo configurar Reglas de selección (“Selection rules”) en la sección Table mappings para definir filtros que necesito replicar desde las columnas de la tabla en la fuente de datos de origen.

También puedo usar Reglas de transformación (“Transformation rules”) si necesito cambiar el nombre de un esquema o tabla, o agregar un prefijo o sufijo a un esquema o tabla.

En la sección de Capacity, puedo establecer el rango de capacidad requerida para realizar la replicación mediante la definición de las unidades de capacidad mínima y máxima (DCU, por sus siglas en inglés) requerida. La configuración de la capacidad mínima de DCU es opcional porque AWS DMS Serverless determina la capacidad mínima de DCU en función de una evaluación previa de la carga de trabajo de replicación. Durante el proceso de replicación, AWS DMS utiliza este rango para escalar hacia arriba y hacia abajo en función de la utilización de CPU, las conexiones y la memoria disponible.

Establecer la capacidad máxima te permite administrar los costos asegurándote de que AWS DMS Serverless nunca consuma más recursos de los que has presupuestado. Al definir la unidad de capacidad máxima de DCU, asegúrate de elegir una capacidad razonable para que AWS DMS Serverless pueda manejar grandes volúmenes de transacciones de datos. Si el volumen de tráfico disminuye, AWS DMS Serverless reduce la capacidad y solo pagas por lo que necesitas. En caso de que desees cambiar la configuración de la unidad de capacidad mínima y máxima de DCU, debes detener el proceso de replicación primero, realizar los cambios y luego ejecutar la replicación nuevamente.

Cuando haya terminado de configurar la replicación, selecciona «Create replication«.

Una vez que se haya creado la replicación, se puede ver más detalles de la replicación y comenzar el proceso seleccionando «Start«.

Después de que mi replicación se haya ejecutado durante aproximadamente 40 minutos, puedes monitorear el progreso de la replicación en la pestaña «Monitoring«. AWS DMS Serverless también tiene una métrica de CloudWatch llamada «Capacity utilization» que indica el uso de la capacidad para ejecutar la replicación según el rango definido como la unidad de capacidad mínima y máxima de DCU. La siguiente captura de pantalla muestra cómo la capacidad aumenta en el gráfico de métricas de CloudWatch.

Cuando la replicación finaliza su proceso, se puede observar que la capacidad comienza a disminuir. Esto indica que, además de que AWS DMS Serverless se escala con éxito a la capacidad requerida, también puede reducir la capacidad dentro del rango que hemos definido.

Finalmente, todo lo que necesito hacer es verificar si mis datos se han replicado correctamente en la base de datos de destino. Necesito conectarme al destino, ejecutar una consulta SELECT y verificar si todos los datos se han replicado correctamente desde la fuente.

Disponible Ahora
AWS DMS Serverless ya está disponible en todas las regiones comerciales donde también está disponible AWS DMS estándar, y puedes comenzar a usarlo hoy mismo. Para obtener más información sobre los beneficios, casos de uso, cómo comenzar y detalles de precios, consulta AWS DMS Serverless.

¡Feliz migración!

Donnie

 

Este artículo fue traducido del Blog de AWS en Inglés.


Sobre o autor

Donnie Prakoso is a software engineer, self-proclaimed barista, and Principal Developer Advocate at AWS. With more than 17 years of experience in the technology industry, from telecommunications, banking to startups. He is now focusing on helping the developers to understand varieties of technology to transform their ideas into execution. He loves coffee and any discussion of any topics from microservices to AI / ML. 

 

 

 

Traductor

Miguel Romero es un Solutions Architect para el equipo de Cloud Solutions Center MCO, en Latinoamérica. Durante su trayectoria Miguel ha atentado a múltiples clientes de Sudamérica dando guía en el diseño de arquitecturas e impartiendo webinars, conversaciones y workshops para siempre usar las mejores prácticas y acelerar el viaje hacia la nube