Database Migration Service usa trabajos de migración para migrar datos de tu instancia de base de datos de origen a la instancia de base de datos de destino. La creación de un trabajo de migración para una instancia de destino existente incluye lo siguiente:
- Cómo definir la configuración del trabajo de migración
- Selecciona el perfil de conexión de la base de datos de origen
- Selecciona la instancia de base de datos de destino existente
- Descender el nivel de la instancia existente para convertirla en una réplica de lectura
- Configurar la conectividad entre las instancias de base de datos de origen y de destino
- Probar el trabajo de migración para asegurarte de que la información de conexión que proporcionaste para el trabajo sea válida
Existen ciertas limitaciones que debes tener en cuenta cuando desees migrar a una instancia de destino creada fuera de Database Migration Service. Por ejemplo, tu instancia de destino de Cloud SQL debe estar vacía o contener solo datos de configuración del sistema. Para obtener más información, consulta Limitaciones conocidas.
Define la configuración del trabajo de migración
- En la consola de Google Cloud , ve a la página Trabajos de migración.
- Haz clic en Crear trabajos de migración.
Se abrirá la página del asistente de configuración del trabajo de migración. Este asistente contiene varios paneles que te guían por cada paso de configuración.
Puedes pausar la creación de un trabajo de migración en cualquier momento haciendo clic en GUARDAR Y SALIR. Todos los datos que ingreses hasta ese punto se guardarán en un borrador de trabajo de migración. Puedes terminar el borrador del trabajo de migración más tarde.
- En la página Primeros pasos, ingresa la siguiente información:
- Nombre del trabajo de migración
Es un nombre legible para tu trabajo de migración. Este valor se muestra en la consola de Google Cloud .
- ID del trabajo de migración
Es un identificador legible por máquina para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración a través de los comandos de la CLI de Google Cloud 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 completa automáticamente y no se puede cambiar.
- Selecciona la región en la que guardarás el trabajo de migración.
Database Migration Service es un producto completamente regional, lo que significa que todas las entidades relacionadas con tu migración (perfiles de conexión de origen y destino, trabajos de migración, bases de datos de destino) deben guardarse en una sola región. Selecciona la región según la ubicación de los servicios que necesitan tus datos, como instancias de Compute Engine o apps de App Engine, y otros servicios. Después de elegir la región de destino, no se podrá cambiar esta selección.
- Nombre del trabajo de migración
- Haz clic en Guardar y continuar.
Especifica la información sobre el perfil de conexión de origen
En la página Define a source, realiza los siguientes 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 Personaliza la configuración de volcado completo, haz clic en Editar configuración.
- En el panel Editar la configuración de volcado completo, en el menú desplegable Método de volcado completo, selecciona una de las siguientes opciones:
- Basada en archivos físicos: Selecciona esta opción si deseas usar la utilidad Percona XtraBackup para proporcionar tu propio archivo de copia de seguridad. Este enfoque requiere pasos de preparación adicionales. Para obtener la guía completa sobre el uso de archivos de copia de seguridad físicos generados por Percona XtraBackup, consulta Migra tus bases de datos con un archivo físico de Percona XtraBackup.
- Basada en la lógica: Selecciona esta opción si deseas 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 por ti, o bien puedes proporcionar tu propia copia.
- Edita el resto de la configuración de volcado. Realiza una de las siguientes acciones:
- Si usas el archivo de copia de seguridad físico, en Proporciona tu carpeta, haz clic en Explorar y, luego, selecciona la carpeta en la que subiste el archivo de volcado completo. Asegúrate de seleccionar la carpeta exclusiva que contiene el archivo de copia de seguridad completo, y no el bucket de almacenamiento.
Si usas un archivo de copia de seguridad lógica, configura el paralelismo del volcado de datos o las marcas de volcado.
Expande 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:
Generado automáticamente (recomendado)
Se recomienda esta opción porque Database Migration Service siempre genera un archivo de volcado inicial de la base de datos después de que se crea y se inicia el trabajo de migración.
Database Migration Service usa este archivo para reproducir las definiciones de objetos originales y los datos de la tabla de tu base de datos de origen, de modo 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 Database Migration Service debe realizar en la sección Configurar operación de volcado de datos:
- Paralelismo de volcado de datos: Usa una opción de paralelismo de alto rendimiento, disponible cuando migras a las versiones 5.7 u 8 de MySQL.
La velocidad del paralelismo de datos se relaciona con la cantidad de carga inducida en tu base de datos de origen:
- Óptimo (recomendado): Rendimiento equilibrado con una carga óptima en la base de datos de origen.
- Máximo: Proporciona las velocidades de volcado más altas, pero podría aumentar la carga en la base de datos de origen.
- Mínimo: Toma la menor cantidad de recursos de procesamiento en la base de datos de origen, pero puede tener una capacidad de procesamiento de volcado más lenta.
- Marcas de volcado: Esta opción es exclusiva de Paralelismo de volcado de datos.
Usa este parámetro de configuración para establecer directamente marcas para la utilidad
mysqldump
que se usa para crear el archivo de volcado.Para agregar una marca, haz lo siguiente:
- Haz clic en AGREGAR MARCA.
Selecciona una de las siguientes marcas:
add-locks:
Esta marca rodea cada tabla que se incluye en el archivo de volcado con instruccionesLOCK TABLES
yUNLOCK TABLES
. Esto genera inserciones más rápidas cuando el archivo de volcado se carga en la instancia de destino.ignore-error:
Usa esta marca para ingresar una lista de números de error separados por comas. Estos números representan los errores que la utilidadmysqldump
ignorará.max-allowed-packet:
Usa esta marca para establecer el tamaño máximo del búfer para la comunicación entre el cliente de MySQL y la base de datos de origen de MySQL. 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 para cada marca que desees agregar.
Para quitar una marca, haz clic en el ícono de papelera 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 cuando migras a las versiones 5.7 u 8 de MySQL.
Proporcionar tu propia
No se recomienda esta opción porque, de forma predeterminada, Database Migration Service realiza una volcado inicial como parte de la ejecución del trabajo de migración.
Si quieres usar tu propio archivo de volcado, selecciona Proporciona tu propio archivo, haz clic en BROWSE, selecciona tu archivo (o toda la carpeta de Cloud Storage si usas varios archivos) y, luego, haz clic en SELECT.
Asegúrate de que el volcado se haya generado en las últimas 24 horas y cumpla con los requisitos de volcado.
- Haz clic en Guardar y continuar.
Selecciona la instancia de Cloud SQL de destino
- En el menú Tipo de instancia de destino, selecciona Instancia existente.
- En la sección Selecciona la instancia de destino, elige la instancia de destino.
- Revisa la información en la sección Detalles de la instancia y haz clic en Seleccionar y continuar.
- Para migrar a una base de datos de destino existente, Database Migration Service disminuye el nivel de 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, ingresa el identificador de la instancia de destino.
- Haz clic en Confirmar y continuar.
Configura la conectividad entre las instancias de 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 la instancia de Cloud SQL recién creada se conectará a la base de datos fuente. Los métodos de conectividad de red actuales incluyen la lista de IPs permitidas, el túnel SSH inverso, las interfaces de Private Service Connect y el intercambio de tráfico entre VPC.
Si quieres usar… | Luego… |
---|---|
El método de conectividad de red de la lista de IP permitidas | Debes especificar la dirección IP saliente de tu instancia de destino. Si la instancia de Cloud SQL que creaste es una instancia de alta disponibilidad, incluye las direcciones IP salientes de la instancia principal y la secundaria. |
El método de conectividad de red de túnel SSH inverso | 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 ejecutará los pasos para 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 con la base de datos de origen y 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 la instancia habilitada para Private Service Connect con un adjunto 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 red de intercambio de tráfico entre VPCs | Debes seleccionar la red de VPC en la que reside 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.
Prueba, crea y ejecuta el trabajo de migración
En este último paso, revisa el resumen de la configuración del trabajo de migración, la fuente, el destino y el método de conectividad. Luego, prueba la validez de la configuración del trabajo de migración. Si se detecta algún problema, puedes modificar la configuración del trabajo de migración. No todos los parámetros de configuración se pueden editar.
-
En la página Prueba y crea el trabajo de migración, haz clic en Probar trabajo.
Si la prueba falla, puedes abordar el problema en la parte adecuada del flujo y volver a realizar la prueba. Para obtener información sobre la solución de problemas de una prueba fallida del trabajo de migración, consulta Diagnostica problemas de MySQL.
-
Cuando finalice la prueba del trabajo de migración, haz clic en Crear y comenzar trabajo
para crear el trabajo de migración y comenzarlo de inmediato, o bien haz clic en Crear trabajo
para crear el trabajo de migración sin comenzarlo de inmediato.
Si el trabajo no se inicia en el momento en que se crea, se puede iniciar desde la página Trabajos de migración haciendo clic en INICIAR. Independientemente de cuándo comience el trabajo de migración, se le cobrará a tu organización por la existencia de la instancia de destino.
La migración está en curso. Cuando inicies el trabajo 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 tiempo de inactividad de escritura (aproximadamente menos de un minuto) al inicio de la migración. Para obtener más información, consulta Limitaciones conocidas.
- Continúa con Revisar el trabajo de migración.
Crea un trabajo de migración con Google Cloud CLI
Cuando migras a una instancia existente con Google Cloud CLI, debes crear manualmente el perfil de conexión para la instancia de destino. Esto no es necesario cuando usas la consola de Google Cloud , ya que Database Migration Service se encarga de crear y quitar el perfil de conexión de destino por ti.
Antes de comenzar
Antes de usar gcloud CLI para crear un trabajo de migración a una instancia de base de datos de destino existente, asegúrate de hacer lo siguiente:
- Crea la instancia de la base de datos de destino.
- Prepara la instancia de la base de datos de origen. Consulta:
- Configura tu fuente
- Crea el perfil de conexión fuente (se requiere el identificador del perfil de conexión fuente para crear un trabajo de migración).
- Configura la conectividad
Crea un perfil de conexión de destino
Ejecuta el comando gcloud database-migration connection-profiles create
para crear el perfil de conexión de destino para tu instancia de destino existente:
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 un tiempo 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 realizó correctamente.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- CONNECTION_PROFILE_ID con un identificador legible por máquina para tu perfil de conexión.
- REGION con el identificador de la región en la que deseas 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 de 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 que figura a continuación:
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]
Crea el trabajo 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 un tiempo 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 realizó correctamente.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID con un identificador legible por máquina para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración a través de los comandos de la CLI de Google Cloud o la API de Database Migration Service.
- REGION con el identificador de la región en la que deseas guardar el trabajo de migración.
- MIGRATION_JOB_NAME con un nombre legible para tu trabajo de migración. Este valor se muestra en Database Migration Service en la consola de 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: De forma predeterminada, Database Migration Service migra todas las bases de datos de tu origen. Si solo deseas 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 creaste con
--database-filter flag
usando el comandogcloud database-migration migration-jobs update
.- MIGRATION_JOB_TYPE con el tipo de tu trabajo de migración. Se permiten dos valores:
ONE_TIME
oCONTINUOUS
. 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 que figura a continuación:
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]
Cómo degradar la base de datos de destino
Database Migration Service requiere que la instancia de base de datos de destino funcione como una réplica de lectura durante la migración. Antes de iniciar el trabajo de migración, ejecuta el comando gcloud database-migration migration-jobs demote-destination
para degradar la instancia de la base de datos de destino.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración en 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 realizó correctamente, puedes consultar el objeto de operación que se devolvió o verificar el estado del trabajo de migración:
- Usa el comando
gcloud database-migration migration-jobs describe
para ver el estado del trabajo de migración. - Usa
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Administrar trabajos de migración
En este punto, tu trabajo de migración está configurado y conectado a tu instancia de base de datos de destino. Puedes administrarlo con las operaciones verify
, start
, stop
, restart
y resume
.
Verifica el trabajo 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 cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración en 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 realizó correctamente, puedes consultar el objeto de operación que se devolvió o verificar el estado del trabajo de migración:
- Usa el comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Usa el comando
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Inicia el trabajo de migración
Ejecuta el comando gcloud database-migration migration-jobs start
para iniciar el trabajo de migración.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración en 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 realizó correctamente, puedes consultar el objeto de operación que se devolvió o verificar el estado del trabajo de migración:
- Usa el comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Usa el comando
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Promociona el trabajo de migración
Una vez que la migración alcance la fase de captura de datos modificados (CDC), puedes promover la instancia de la 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 cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración en 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 MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Usa el comando
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.