Database Migration Service usa tareas de migración para migrar datos de tu instancia de base de datos de origen a la instancia de base de datos de destino. Para crear una tarea de migración para una instancia de destino ya creada, debes hacer lo siguiente:
- Definir la configuración de la tarea de migración
- Seleccionar el perfil de conexión de la base de datos de origen
- Seleccionar la instancia de base de datos de destino
- Rebajar la instancia para convertirla en una réplica de lectura
- Configurar la conectividad entre las instancias de base de datos de origen y de destino
- Probar la tarea de migración para asegurarse de que la información de conexión que ha proporcionado para la tarea es válida
Debes tener en cuenta ciertas limitaciones cuando quieras migrar a una instancia de destino creada fuera de Database Migration Service. Por ejemplo, la instancia de Cloud SQL de destino debe estar vacía o contener solo datos de configuración del sistema. Para obtener más información, consulta Limitaciones conocidas.
Definir la configuración de la tarea de migración
- En la Google Cloud consola, ve a la página Tareas de migración.
- Haz clic en Crear tarea de migración.
Se abrirá la página del asistente de configuración de la tarea de migración. Este asistente contiene varios paneles que te guían por cada paso de la configuración.
Puedes pausar la creación de una tarea de migración en cualquier momento haciendo clic en GUARDAR Y SALIR. Todos los datos que introduzcas hasta ese momento se guardarán en un borrador de tarea de migración. Puedes terminar la tarea de migración de borrador más adelante.
- En la página Empezar, introduce la siguiente información:
- Nombre de la tarea de migración
Es un nombre legible para tu tarea de migración. Este valor se muestra en la consola Google Cloud .
- ID de la tarea de migración
Es un identificador legible por máquina de tu tarea de migración. Este valor se usa para trabajar con tareas de migración mediante los comandos de Google Cloud CLI o la API de Database Migration Service.
- En la lista Motor de base de datos de origen, selecciona MySQL.
El campo Motor de base de datos de destino se rellena automáticamente y no se puede cambiar.
- Selecciona la región en la que guardar la tarea de migración.
Database Migration Service es un producto totalmente regional, lo que significa que todas las entidades relacionadas con tu migración (perfiles de conexión de origen y destino, tareas de migración y bases de datos de destino) deben guardarse en una sola región. Selecciona la región en función de la ubicación de los servicios que necesitan tus datos, como las instancias de Compute Engine o las aplicaciones de App Engine, entre otros. Una vez que elijas la región de destino, no podrás cambiarla.
- Nombre de la tarea de migración
- Haz clic en Guardar y continuar.
Especificar información sobre el perfil de conexión de origen
En la página Definir un origen, sigue estos pasos:
- En el menú desplegable Perfil de conexión de origen, selecciona el perfil de conexión de tu base de datos de origen.
- En la sección Personalizar configuración de volcado completo, haga clic en Editar configuración.
- En el panel Editar configuración de volcado completo, en el menú desplegable Método de volcado completo, seleccione una de las siguientes opciones:
- Basada en archivos físicos: selecciona esta opción si quieres usar la utilidad Percona XtraBackup para proporcionar tu propio archivo de copia de seguridad. Este método requiere pasos de preparación adicionales. Para consultar la guía completa sobre cómo usar los archivos de copia de seguridad física generados por Percona XtraBackup, consulta Migrar bases de datos mediante un archivo físico de Percona XtraBackup.
- Basada en lógica: selecciona esta opción si quieres usar un archivo de copia de seguridad lógica creado por la utilidad
mysqldump
. Database Migration Service puede generar automáticamente este archivo de copia de seguridad o puedes proporcionar tu propia copia.
- Edita el resto de los ajustes de volcado. Realiza una de las siguientes acciones:
- Si usas el archivo de copia de seguridad física, en Proporciona tu carpeta, haz clic en Buscar y, a continuación, selecciona la carpeta en la que has subido el archivo de volcado completo. Asegúrate de seleccionar la carpeta específica que contiene el archivo de copia de seguridad completo, no el segmento de almacenamiento.
Si usas un archivo de copia de seguridad lógica, configura el paralelismo de volcado de datos o las marcas de volcado.
Despliega esta sección para ver los pasos completos del archivo de copia de seguridad lógica
En la sección Elige cómo generar el archivo de volcado, usa una de las siguientes opciones:
Generados automáticamente (recomendado)
Te recomendamos esta opción porque el servicio de migración de bases de datos siempre genera un archivo de volcado inicial de la base de datos después de que se cree y se inicie la tarea de migración.
Database Migration Service usa este archivo para reproducir las definiciones de objetos y los datos de las tablas originales de tu base de datos de origen, de forma que esta información se pueda migrar a una instancia de base de datos de Cloud SQL de destino.
Si usas el volcado generado automáticamente, selecciona el tipo de operación que debe realizar Database Migration Service en la sección Configurar la operación de volcado de datos:
- Paralelismo de volcado de datos: usa una opción de paralelismo de alto rendimiento, disponible al migrar a las versiones 5.7 u 8 de MySQL.
La velocidad del paralelismo de datos está relacionada con la carga inducida en la base de datos de origen:
- Óptimo (opción recomendada): rendimiento equilibrado con una carga óptima en la base de datos de origen.
- Máximo: ofrece las velocidades de volcado más altas, pero puede aumentar la carga en la base de datos de origen.
- Mínimo: utiliza la cantidad más baja de recursos de computación en la base de datos de origen, pero puede que el rendimiento de volcado sea más lento.
- Volcado de marcas: esta opción es exclusiva de Paralelismo de volcado de datos.
Usa este ajuste para configurar directamente las marcas de la utilidad
mysqldump
, que se usa para crear el archivo de volcado.Para añadir una marca:
- Haz clic en AÑADIR MARCA.
Selecciona una de las siguientes marcas:
add-locks:
Esta marca rodea cada tabla incluida en el archivo de volcado con instruccionesLOCK TABLES
yUNLOCK TABLES
. De esta forma, las inserciones son más rápidas cuando el archivo de volcado se carga en la instancia de destino.ignore-error:
Usa esta marca para introducir una lista de números de error separados por comas. Estos números representan los errores que ignorará la utilidadmysqldump
.max-allowed-packet:
Usa esta marca para definir el tamaño máximo del búfer para la comunicación entre el cliente de MySQL y la base de datos MySQL de origen. El tamaño predeterminado del búfer es de 24 MB y el tamaño máximo es de 1 GB.
- Haz clic en LISTO.
- Repite estos pasos con cada marca que quieras añadir.
Para quitar una marca, haga clic en el icono de papelera situado a la derecha de la fila que contiene la marca.
- Paralelismo de volcado de datos: usa una opción de paralelismo de alto rendimiento, disponible al migrar a las versiones 5.7 u 8 de MySQL.
Proporcionar la tuya
No se recomienda esta opción porque, de forma predeterminada, el servicio de migración de bases de datos realiza un volcado inicial como parte de la ejecución de la tarea de migración.
Si quieres usar tu propio archivo de volcado, selecciona Proporcionar el tuyo, haz clic en BUSCAR, selecciona el archivo (o toda la carpeta de Cloud Storage si usas varios archivos) y, a continuación, haz clic en SELECCIONAR.
Asegúrate de que el volcado se haya generado en las últimas 24 horas y cumpla los requisitos de volcado.
- Haz clic en Guardar y continuar.
Seleccionar la instancia de Cloud SQL de destino
- En el menú Tipo de instancia de destino, selecciona Instancia actual.
- En la sección Seleccionar instancia de destino, selecciona la instancia de destino.
- Revisa la información de la sección Detalles de la instancia y haz clic en Seleccionar y continuar.
- Para migrar a una base de datos de destino que ya tengas, Database Migration Service degrada la instancia de destino y la convierte en una réplica. Para indicar que la degradación se puede realizar de forma segura, en la ventana de confirmación, introduce el identificador de la instancia de destino.
- Haz clic en Confirmar y continuar.
Configurar la conectividad entre las instancias de la base de datos de origen y de destino
En el menú desplegable Método de conectividad, selecciona un método de conectividad de red. Este método define cómo se conectará la instancia de Cloud SQL que se ha creado a la base de datos de origen. Los métodos de conectividad de red actuales incluyen la lista de permitidas de IPs, el túnel inverso SSH, las interfaces de Private Service Connect y el emparejamiento de VPCs.
Si quieres usar... | Haz lo siguiente: |
---|---|
El método de conectividad de red de la lista de IPs permitidas | Debes especificar la dirección IP de salida de tu instancia de destino. Si la instancia de Cloud SQL que has creado es una instancia de alta disponibilidad, incluye las direcciones IP de salida de la instancia principal y de la secundaria. |
El método de conectividad de red de túnel inverso SSH | Debes seleccionar la instancia de VM de Compute Engine que alojará el túnel.
Después de especificar la instancia, Google proporcionará una secuencia de comandos que te permitirá configurar el túnel entre las bases de datos de origen y destino. Deberás ejecutar la secuencia de comandos en Google Cloud CLI. Ejecuta los comandos desde una máquina que tenga conectividad tanto con la base de datos de origen como con Google Cloud. |
El método de conectividad de las interfaces de Private Service Connect | Database Migration Service establece automáticamente las conexiones necesarias. Este método de conectividad solo está disponible si tienes una instancia con Private Service Connect habilitado y una vinculación de red. Para obtener más información sobre las interfaces de Private Service Connect, consulta Conexiones salientes de Private Service Connect en la documentación de Cloud SQL. |
El método de conectividad de la red de emparejamiento de VPC. | Debes seleccionar la red de VPC en la que se encuentra la base de datos de origen. La instancia de Cloud SQL se actualizará para conectarse a esta red. |
Después de seleccionar y configurar la conectividad de red, haz clic en Configurar y continuar.
Probar, crear y ejecutar la tarea de migración
En este último paso, revisa el resumen de los ajustes de la tarea de migración, la fuente, el destino y el método de conectividad. A continuación, prueba la validez de la configuración de la tarea de migración. Si se detecta algún problema, puede modificar la configuración del trabajo de migración. No todos los ajustes se pueden editar.
-
En la página Probar y crear tarea de migración, haz clic en Probar tarea.
Si la prueba falla, puedes solucionar el problema en la parte correspondiente del flujo y volver a realizar la prueba. Para obtener información sobre cómo solucionar problemas de una prueba de trabajo de migración fallida, consulta Diagnosticar problemas de MySQL.
-
Cuando finalice la prueba de la tarea de migración, haz clic en Crear e iniciar tarea para crear la tarea de migración e iniciarla inmediatamente, o en Crear tarea para crear la tarea de migración sin iniciarla inmediatamente.
Si la tarea no se inicia en el momento en que se crea, se puede iniciar desde la página Tareas de migración haciendo clic en INICIAR. Independientemente de cuándo empiece la tarea de migración, se cobrará a tu organización por la existencia de la instancia de destino.
La migración está en curso. Cuando inicies la tarea de migración, Database Migration Service comenzará el volcado completo y bloqueará brevemente la base de datos de origen. Si tu fuente está en Amazon RDS o Amazon Aurora, Database Migration Service también requiere un breve periodo de inactividad (aproximadamente menos de un minuto) en el proceso de escritura al principio de la migración. Para obtener más información, consulta Limitaciones conocidas.
- Ve a la sección Revisar la tarea de migración.
Crear una tarea de migración con la CLI de Google Cloud
Si migras a una instancia que ya tienes mediante la CLI de Google Cloud, debes crear manualmente el perfil de conexión de la instancia de destino. No es necesario cuando se usa la Google Cloud consola, ya que el servicio de migración de bases de datos se encarga de crear y eliminar el perfil de conexión de destino.
Antes de empezar
Antes de usar la CLI de gcloud para crear una tarea de migración a una instancia de base de datos de destino, asegúrate de hacer lo siguiente:
- Crea tu instancia de base de datos de destino.
- Prepara la instancia de la base de datos de origen. Consulta:
- Configurar la fuente
- Crea el perfil de conexión de origen (se necesita el identificador del perfil de conexión de origen para crear una tarea de migración).
- Configurar la conectividad
Crear un perfil de conexión de destino
Crea el perfil de conexión de destino de tu instancia de destino ejecutando el comando gcloud database-migration connection-profiles create
:
En este ejemplo se usa la marca opcional --no-async
para que todas las operaciones se realicen de forma síncrona. Esto significa que algunos comandos pueden tardar en completarse. Puedes omitir la marca --no-async
para ejecutar comandos de forma asíncrona.
Si lo haces, debes usar el comando gcloud database-migration operations describe
para verificar si la operación se ha realizado correctamente.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- CONNECTION_PROFILE_ID con un identificador legible por máquina de tu perfil de conexión.
- REGION con el identificador de la región en la que quieras guardar el perfil de conexión.
- DESTINATION_INSTANCE_ID con el identificador de instancia de tu instancia de destino.
- (Opcional) CONNECTION_PROFILE_NAME con un nombre legible para tu perfil de conexión. Este valor se muestra en la consola Google Cloud .
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --cloudsql-instance=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --cloudsql-instance=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --cloudsql-instance=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Deberías recibir una respuesta similar a la siguiente:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Crear la tarea de migración
.En este ejemplo se usa la marca opcional --no-async
para que todas las operaciones se realicen de forma síncrona. Esto significa que algunos comandos pueden tardar en completarse. Puedes omitir la marca --no-async
para ejecutar comandos de forma asíncrona.
Si lo haces, debes usar el comando gcloud database-migration operations describe
para verificar si la operación se ha realizado correctamente.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- MIGRATION_JOB_ID con un identificador legible por máquina para tu tarea de migración. Este valor se usa para trabajar con tareas de migración mediante los comandos de Google Cloud CLI o la API de Database Migration Service.
- REGION por el identificador de la región en la que quieras guardar la tarea de migración.
- MIGRATION_JOB_NAME con un nombre legible para tu tarea de migración. Este valor se muestra en Database Migration Service en la consola. Google Cloud
- SOURCE_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de origen.
- DESTINATION_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de destino.
Opcional: Database Migration Service migra todas las bases de datos de tu origen de forma predeterminada. Si solo quieres migrar bases de datos específicas, usa la marca
--databases-filter
y especifica sus identificadores como una lista separada por comas.Por ejemplo:
--databases-filter=my-business-database,my-other-database
Más adelante, puedes editar los trabajos de migración que hayas creado con
--database-filter flag
mediante el comandogcloud database-migration migration-jobs update
.- MIGRATION_JOB_TYPE con el tipo de tarea de migración. Se permiten dos valores:
ONE_TIME
yCONTINUOUS
. Para obtener más información, consulta Tipos de migración.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=MIGRATION_JOB_TYPE \
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=MIGRATION_JOB_TYPE `
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=MIGRATION_JOB_TYPE ^
Deberías recibir una respuesta similar a la siguiente:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Rebajar la base de datos de destino
Database Migration Service requiere que la instancia de base de datos de destino funcione como réplica de lectura durante la migración. Antes de iniciar la tarea de migración, ejecuta el comando gcloud database-migration migration-jobs demote-destination
para degradar la instancia de base de datos de destino.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- MIGRATION_JOB_ID con el identificador de tu tarea de migración.
Si no lo conoce, puede usar el comando
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración de una región determinada y ver sus identificadores. - REGION con el identificador de la región en la que se guarda tu perfil de conexión.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de forma asíncrona. Por lo tanto, este comando devuelve una entidad Operation que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: demote-destination name: OPERATION_ID
Para ver si la operación se ha completado correctamente, puedes consultar el objeto de operación devuelto o comprobar el estado del trabajo de migración:
- Usa el comando
gcloud database-migration migration-jobs describe
para ver el estado de la tarea de migración. - Usa
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Gestionar tareas de migración
En este punto, la tarea de migración está configurada y conectada a la instancia de base de datos de destino. Puede gestionarlo mediante las operaciones verify
, start
, stop
, restart
y resume
.
Verificar la tarea de migración
Te recomendamos que primero verifiques tu trabajo de migración ejecutando el comando
gcloud database-migration migration-jobs verify
.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- MIGRATION_JOB_ID con el identificador de tu tarea de migración.
Si no lo conoce, puede usar el comando
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración de una región determinada y ver sus identificadores. - REGION con el identificador de la región en la que se guarda tu perfil de conexión.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de forma asíncrona. Por lo tanto, este comando devuelve una entidad Operation que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Para ver si la operación se ha completado correctamente, puedes consultar el objeto de operación devuelto o comprobar el estado del trabajo de migración:
- Usa el comando
gcloud database-migration migration-jobs describe
con el MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Usa el comando
gcloud database-migration operations describe
con el OPERATION_ID para ver el estado de la operación.
Iniciar la tarea de migración
Inicia la tarea de migración ejecutando el comando gcloud database-migration migration-jobs start
.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- MIGRATION_JOB_ID con el identificador de tu tarea de migración.
Si no lo conoce, puede usar el comando
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración de una región determinada y ver sus identificadores. - REGION con el identificador de la región en la que se guarda tu perfil de conexión.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de forma asíncrona. Por lo tanto, este comando devuelve una entidad Operation que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Para ver si la operación se ha completado correctamente, puedes consultar el objeto de operación devuelto o comprobar el estado del trabajo de migración:
- Usa el comando
gcloud database-migration migration-jobs describe
con el MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Usa el comando
gcloud database-migration operations describe
con el OPERATION_ID para ver el estado de la operación.
Promocionar la tarea de migración
Cuando la migración llegue a la fase de captura de datos de cambios (CDC), podrás convertir la instancia de base de datos de destino de una réplica de lectura a una instancia independiente.
Ejecuta el comando gcloud database-migration migration-jobs promote
:
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- MIGRATION_JOB_ID con el identificador de tu tarea de migración.
Si no lo conoce, puede usar el comando
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración de una región determinada y ver sus identificadores. - REGION con el identificador de la región en la que se guarda tu perfil de conexión.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ promote MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` promote MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ promote MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de forma asíncrona. Por lo tanto, este comando devuelve una entidad Operation que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
- Usa el comando
gcloud database-migration migration-jobs describe
con el MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Usa el comando
gcloud database-migration operations describe
con el OPERATION_ID para ver el estado de la operación.