De Azure Single Server a Flexible Server con Azure DMS
Una de las tareas que estamos realizando en algunos de los clientes que tenemos en Azure, es la migración de Mysql Single Server a Flexible Server. Esto se debe a que por parte de Azure van a dejar de dar soporte el 16 de septiembre de 2024 a los Single Server.
Dentro de las recomendaciones de migración que ofrece Azure y la que mejor se adapta a nuestros clientes es la opción Online con Database Migration Service (DMS). Tienes más información sobre la migración en este enlace.
Lo primero antes de mostrar cómo hemos realizado la migración entre bases de datos, vamos a realizar una breve explicación sobre qué es el servicio de Azure DMS.
¿Qué es Azure Database Migration Service?
Es un servicio ofrecido por Microsoft Azure diseñado para facilitar y automatizar el proceso de migración de bases de datos a la nube de Azure.
Con DMS, se pueden migrar sus bases de datos locales o en la nube hacia Azure de manera eficiente y sin interrupciones significativas en el servicio. Además, admite una variedad de fuentes de datos, incluidas bases de datos SQL Server, MySQL, PostgreSQL, MongoDB y más. Ofrece diferentes tipos de migración, como migración en línea, migración sin conexión y replicación de cambios, lo que permite a los usuarios elegir la opción que mejor se adapte a sus necesidades y requisitos de negocio.
Esto nos permite facilitar el proceso de migración, sobre todo, si tenemos volúmenes de datos de considerable tamaño.
Configuración de migración de datos con replicación activa
Queremos aclarar que este es un ejemplo de migración con replicación activa, pero existen otras opciones dentro de la propia herramienta que explicaremos más adelante.
Comenzamos …
Dentro de nuestro portal de Azure iremos al servicio de Azure Database Migration Services y crearemos una nueva instancia:
En la siguiente pantalla de configuración nos saldrán varias opciones, en nuestro caso seleccionaremos Azure Database for MySQL - Single Server:
Cómo Target solo nos dará la opción de Azure Database for MySQL que es la que necesitamos para migrar a Flexible Server:
En la opción de Database Migration Service solo nos mostrará la opción de Classic. Con los parámetros seleccionados le daremos al botón de Select para continuar con la configuración:
En la siguiente ventana de configuración tendremos que elegir el Subscription y el Resource group donde queremos levantar la instancia del DMS. Estas configuraciones dependen de cómo esté estructurado el proyecto/arquitectura en vuestro caso, el nombre del DMS, la localización y el tamaño de la máquina que realizará la migración (Tier).
En nuestro caso, el Tier es el Premium ya que es la alternativa que ofrece la opción de online migrations que necesitamos.
Un dato a tener en cuenta es que el Premium es gratuito durante los primeros 6 meses desde su creación.
Con esto ya tendremos creada la máquina.
Ahora tenemos que poner en marcha la migración de datos. Para ello, sobre el DMS que hemos creado le damos a New Migration Project:
Añadimos un nombre para nuestro proyecto, eligiendo como origen Azure Database for MySQL - Single Server y luego como objetivo Azure Database for MySQL - Flexible Server.
En el tipo de migración tendremos que elegir la que necesitemos y las opciones son:
- Online data migration: usaremos esta opción para migrar bases de datos que deben estar accesibles y actualizarse continuamente durante la migración.
- Offline data migration: esta opción permite migrar los datos teniendo en cuenta que puede generar afectación en el servicio y solo es una migración de datos sin replicación de cambios.
- Replicate changes: establece una replicación sin afectar al servicio, pero es necesario ya tener ejecutada la opción de Offline data migration
- Create project only: permite crear el proyecto y más adelante elegir el tipo de migración que queremos configurar,
En nuestro caso, como hemos comentado, utilizaremos la opción de Online data migration, ya que es la que mejor se adapta a las necesidades de nuestros clientes.
En la siguiente ventana tendremos que realizar las configuraciones del origen (Single Server) y el destino (Flexible Server).
Origen:
Destino:
Ahora elegiremos el tipo de migración que queremos realizar.
Como se puede ver, tenemos la opción completa con posibilidad de personalizar qué queremos migrar y replicar:
Otra opción es la de elegir las bases de datos y/o tablas, que en nuestro caso, es la escogida para el ejemplo.
Elegimos la base de datos que queremos migrar y replicar:
Y ahora seleccionamos las tablas, en nuestro caso todas:
Como se puede observar en las imágenes, nos salen unos avisos de que la base de datos no existe en el Flexible server y se van a crear.
En la siguiente ventana nos permite activar las opciones avanzadas para los parámetros de la migración. Estas opciones permiten ajustar los parámetros por si se observan problemas de rendimiento o incidencias durante la migración. En nuestro caso la dejaremos desactivada ya que es una base de datos de ejemplo con muy pocos datos.
Ahora tendremos que elegir el nombre de la actividad y antes de aceptar, nos mostrará un resumen de la configuración que hemos realizado.
Si todo es correcto pulsaremos sobre Start migration:
Con esto ya tendremos en marcha nuestra migración de datos con replicación. En nuestro caso quedará en Running, ya que es una migración de datos con replicación activa.
Si seleccionamos la actividad que hemos creado, podremos ver información sobre la replicación. En nuestro caso no hay actividad ya que es una base de datos temporal como ejemplo.
Para parar la replicación una vez terminemos de migrar el servicio, pulsaremos sobre Stop migration. Una cosa a tener en cuenta es que una vez parada la migración de tipo Online data migration, no se puede volver a activar. Será necesario volver a configurar una nueva actividad para replicar los datos y volver a establecer la replicación.
Ahora ya estás preparado para comenzar a abordar la migración de datos. De todas formas si prefieres que te ayudemos puedes preguntarnos