Migrar bases de datos mediante un archivo físico de Percona XtraBackup

Puedes migrar tus bases de datos MySQL a Cloud SQL mediante archivos de copia de seguridad de bases de datos físicas creados con la utilidad Percona XtraBackup para MySQL. La migración con archivos de copia de seguridad física ofrece velocidades de restauración de datos más altas que las migraciones que usan archivos de copia de seguridad lógica. Por eso, son una opción excelente para mover bases de datos grandes que contengan varios terabytes de datos.

Este flujo de migración implica las siguientes tareas:

  1. Crear una copia de seguridad de la instancia de MySQL de origen y preparar los archivos de copia de seguridad física con la utilidad Percona XtraBackup para MySQL.

  2. Subir los archivos de copia de seguridad a un segmento de Cloud Storage.

  3. Crear y ejecutar la tarea de migración en Database Migration Service.

    En función de tu situación, puedes crear la instancia de destino por tu cuenta o dejar que el servicio de migración de bases de datos la cree por ti como parte del flujo de creación de la tarea de migración. Para obtener más información, consulta el paso Configurar y ejecutar la tarea de migración.

  4. Promocionar la tarea de migración una vez que se hayan migrado todos los datos.

Migraciones sin conexión

En esta guía se describen escenarios de migración para entornos en los que puedes asegurar la conectividad de red entre tus instancias de base de datos de origen y de destino.

Es posible realizar una migración de prueba en la que Database Migration Service no se conecte a tu instancia de origen. En su lugar, Database Migration Service solo lee los archivos de copia de seguridad que subes al segmento de Cloud Storage y replica su contenido en el destino de Cloud SQL para MySQL. No se recomienda usar un flujo de migración que no utilice conectividad de red para las migraciones de producción, ya que Database Migration Service no puede realizar la validación de datos por completo.

Si quiere intentar realizar un trabajo de migración sin conexión, ajuste los procedimientos de la siguiente manera:

Limitaciones

En esta sección se enumeran las limitaciones de las migraciones que usan archivos físicos de Percona XtraBackup:

  • No se admite la migración a MySQL 5.6 u 8.4 con un archivo de copia de seguridad física. Consulta las limitaciones conocidas.

  • Consideraciones sobre la compatibilidad entre versiones:

    • Solo puedes migrar a una versión principal de la misma base de datos. Por ejemplo, de MySQL 8.0.30 a MySQL 8.0.35, o de MySQL 5.7.0 a MySQL 5.7.1.
    • No puedes migrar de MySQL 5.7 a MySQL 8.0.

    • No se admite la migración a versiones principales o secundarias anteriores de la base de datos. Por ejemplo, no puedes migrar de MySQL 8.0 a 5.7 ni de MySQL 8.0.36 a 8.0.16.

  • Consideraciones sobre la arquitectura cruzada: Cloud SQL admite la arquitectura ARM. Solo puedes migrar bases de datos entre máquinas del mismo tipo de arquitectura. Por ejemplo, si tu base de datos está alojada en un equipo ARM64, debes migrar a un equipo ARM64.

  • El tamaño del disco de la base de datos de destino debe ser igual o superior al de la base de datos de origen. Para obtener más información, consulta los tipos de máquinas de MySQL de tu edición de Cloud SQL.

  • Debes usar Percona XtraBackup para crear una copia de seguridad de tus datos en el segmento de Cloud Storage. No se admiten otras utilidades de copia de seguridad.

  • La migración de bases de datos a partir de un archivo físico de Percona XtraBackup solo se admite en bases de datos de MySQL on-premise o de máquinas virtuales autogestionadas. No se admite la migración desde bases de datos de Amazon Aurora o MySQL en Amazon RDS.

  • Solo puedes migrar desde una copia de seguridad completa. No se admiten otros tipos de copias de seguridad, como las incrementales o las parciales.

  • La migración de bases de datos no incluye usuarios ni privilegios de bases de datos.

  • Debes definir el formato del registro binario como ROW. Si configuras el registro binario en cualquier otro formato, como STATEMENT o MIXED, es posible que la replicación falle.

  • No se admite ninguna base de datos con una tabla de más de 5 TB.

  • Cloud Storage limita el tamaño de los archivos que puedes subir a un segmento a 5 TB. Si el archivo físico de Percona XtraBackup supera los 5 TB, debe dividir el archivo de copia de seguridad en archivos más pequeños.

  • Asegúrate de subir los archivos de copia de seguridad a una carpeta de Cloud Storage específica que no contenga ningún otro archivo.

  • Debe configurar el parámetro innodb_data_file_path con un solo archivo de datos que use el nombre de archivo de datos predeterminado ibdata1. Si tu base de datos está configurada con dos archivos de datos o tiene un archivo de datos con un nombre diferente, no podrás migrar la base de datos con un archivo físico de Percona XtraBackup. Por ejemplo, no se admite una base de datos configurada con innodb_data_file_path=ibdata01:50M:autoextend para la migración.

  • El parámetro innodb_page_size de su instancia de origen debe configurarse con el valor predeterminado 16384.

  • No puedes migrar ningún complemento de tu base de datos externa.

Costes

En el caso de las migraciones homogéneas a Cloud SQL, Database Migration Service se ofrece sin coste adicional. Sin embargo, se aplican los precios de Cloud SQL y Cloud Storage a los cargos de red, así como a las entidades de Cloud SQL y Cloud Storage creadas con fines de migración.

En este documento, se utilizan los siguientes componentes facturables de Google Cloud:

  • Cloud Storage
  • Cloud SQL

Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.

Los usuarios nuevos Google Cloud pueden disfrutar de una prueba gratuita.

Antes de empezar

  1. Ten en cuenta en qué región quieres crear la base de datos de destino. 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, bases de datos de destino y cubos de almacenamiento) deben guardarse en una sola región.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.

    Enable the APIs

Roles obligatorios

Para obtener los permisos que necesitas para realizar migraciones homogéneas de MySQL mediante archivos de copia de seguridad física, pide a tu administrador que te conceda los siguientes roles de IAM en tu proyecto:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para realizar migraciones homogéneas de MySQL mediante archivos de copia de seguridad física. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Se necesitan los siguientes permisos para realizar migraciones homogéneas de MySQL mediante archivos de copia de seguridad física:

  • Cuenta de usuario que realiza la migración:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Paso 1. Ten en cuenta los requisitos de conectividad de red

Hay diferentes métodos de redes que puedes usar para configurar la conectividad entre las instancias de origen y de destino de Cloud SQL. En función del método que uses, es posible que tengas que seguir otros pasos durante el proceso de migración.

Antes de continuar con los siguientes pasos, decide qué método de conectividad es el más adecuado para tu situación, ya que tu elección puede influir en los ajustes que debas usar. Para obtener más información, consulta Configurar la conectividad.

Paso 2: Preparar los datos de origen

Para preparar tus datos para la migración, sigue estos pasos:

  1. Instala la versión correcta de la utilidad Percona XtraBackup en tu instancia de origen. Debes usar una versión de Percona XtraBackup igual o posterior a la de tu instancia de origen. Para obtener más información, consulta la comparación entre la versión del servidor y la versión de la copia de seguridad en la documentación de Percona XtraBackup.
  2. Exporta y prepara el archivo de copia de seguridad física de tu instancia de origen mediante Percona XtraBackup. Para obtener información completa sobre cómo usar Percona XtraBackup, consulta la documentación de la herramienta. También puedes desplegar la siguiente sección para ver un ejemplo de los pasos recomendados.

    Pasos recomendados de ejemplo para crear y preparar archivos de copia de seguridad física con Percona XtraBackup

    Antes de usar los datos de los comandos que se indican a continuación, sustituye lo siguiente:

    • TARGET_DIR con la ruta en la que quieras guardar el archivo de copia de seguridad de salida.
    • USERNAME con un usuario que tenga el privilegio BACKUP_ADMIN en la instancia de origen.
    • PASSWORD con la contraseña de la cuenta USERNAME.
    1. Realiza una copia de seguridad física completa de tu instancia de origen. Ejecuta el siguiente comando:
        xtrabackup --backup \
          --target-dir=TARGET_DIR \
          --user=USERNAME \
          --password=PASSWORD
            
    2. Cuando el archivo de copia de seguridad esté listo, usa el comando --prepare para asegurarte de que el archivo sea coherente. Ejecuta el siguiente comando:
        xtrabackup --prepare --target-dir=TARGET_DIR
            
  3. Crea un segmento para almacenar los archivos de copia de seguridad. Asegúrate de usar la misma región en la que quieras crear la instancia de Cloud SQL para MySQL de destino.

    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 de destino, tareas de migración, bases de datos de destino y segmentos de almacenamiento para archivos de copia de seguridad) deben guardarse en una sola región.

  4. Sube los archivos de copia de seguridad a tu depósito de Cloud Storage. Asegúrate de subir los archivos de copia de seguridad a una carpeta de Cloud Storage específica que no contenga ningún otro archivo. Consulta Subir objetos desde un sistema de archivos en la documentación de Cloud Storage.
  5. Crea el perfil de conexión de origen para tu instancia de base de datos de origen.

    Consola

    Para crear un perfil de conexión de origen, sigue estos pasos:

    1. Ve a la página Perfiles de conexión de la Google Cloud consola.
    2. Haz clic en Create profile (Crear perfil).
    3. En la página Crear un perfil de conexión, en el menú desplegable Motor de base de datos, selecciona MySQL.
    4. En el campo Nombre del perfil de conexión, introduce un nombre legible para tu perfil de conexión. Este valor se muestra en la lista de perfiles de conexión.
    5. Conserva el ID de perfil de conexión generado automáticamente.
    6. Introduce un nombre de host o una dirección IP.
      • Si la base de datos de origen está alojada en Google Cloudo si se usa un túnel inverso SSH para conectar la base de datos de destino con la de origen, especifica la dirección IP privada (interna) de la base de datos de origen. La dirección será accesible para el destino de Cloud SQL. Para obtener más información, consulta Configurar la conectividad mediante el emparejamiento de VPCs.

        Para otros métodos de conectividad, como Incluir IPs en lista de IP permitidas, proporciona la dirección IP pública.

    7. Introduce el Puerto que se usa para acceder al host. El puerto predeterminado de MySQL es 3306.
    8. Introduce un nombre de usuario y una contraseña para la base de datos de destino. La cuenta de usuario debe tener los privilegios necesarios para acceder a tus datos. Para obtener más información, consulta el artículo sobre cómo configurar la base de datos de origen.
    9. En la sección Región de perfil de conexión de la página, selecciona la región en la que quieras guardar el perfil de conexión.
    10. Opcional: Si la conexión se realiza a través de una red pública (mediante listas de permitidas de IPs), te recomendamos que uses el cifrado SSL/TLS para la conexión entre las bases de datos de origen y de destino.

      En la sección Protege tu conexión de la página, puedes elegir entre tres opciones de configuración de SSL/TLS:

      1. Ninguno: la instancia de destino de Cloud SQL se conecta a la base de datos de origen sin cifrado.
      2. Autenticación solo del servidor: cuando la instancia de destino de Cloud SQL se conecta a la base de datos de origen, la instancia autentica el origen, lo que garantiza que la instancia se conecte al host correcto de forma segura. De esta forma, se evitan los ataques de intermediario. En la autenticación solo del servidor, la fuente no autentica la instancia.

        Para usar la autenticación solo del servidor, debes proporcionar el certificado x509 codificado en PEM de la autoridad de certificación (CA) que firmó el certificado del servidor externo.

      3. Autenticación de servidor y cliente: cuando la instancia de destino se conecta a la de origen, la instancia autentica el origen y el origen autentica la instancia.

        La autenticación de servidor y cliente ofrece la máxima seguridad. Sin embargo, si no quieres proporcionar el certificado de cliente y la clave privada al crear la instancia de destino de Cloud SQL, puedes usar la autenticación solo del servidor.

        Para usar la autenticación de servidor a cliente, debes proporcionar los siguientes elementos al crear el perfil de conexión de destino:

        • El certificado de la entidad de certificación (CA) que firmó el certificado del servidor de la base de datos de origen.
        • El certificado que usa la instancia para autenticarse en el servidor de la base de datos de origen (el certificado de cliente).
        • La clave privada asociada al certificado de cliente (la clave de cliente).
    11. Haz clic en Crear. Ya se ha creado tu perfil de conexión.

    gcloud

    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.
    • HOST_IP_ADDRESS con la dirección IP en la que Database Migration Service puede acceder a tu instancia de base de datos de origen. Este valor puede variar en función del método de conectividad que utilices para la migración.
    • PORT_NUMBER con el número de puerto en el que tu base de datos de origen acepta conexiones entrantes. El puerto predeterminado de MySQL es 3306.
    • USERNAME con el nombre de la cuenta de usuario de la base de datos con la que quieres que Database Migration Service se conecte a tu instancia de base de datos de origen.
    • PASSWORD con la contraseña de la cuenta de usuario de la base de datos.
    • (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 \
      --region=REGION \
      --host=HOST_IP_ADDRESS \
      --port=PORT_NUMBER \
      --username=USERNAME \
      --password=PASSWORD \
      --display-name=CONNECTION_PROFILE_NAME

    Windows (PowerShell)

    gcloud database-migration connection-profiles `
    create mysql CONNECTION_PROFILE_ID `
      --no-async `
      --region=REGION `
      --host=HOST_IP_ADDRESS `
      --port=PORT_NUMBER `
      --username=USERNAME `
      --password=PASSWORD `
      --display-name=CONNECTION_PROFILE_NAME

    Windows (cmd.exe)

    gcloud database-migration connection-profiles ^
    create mysql CONNECTION_PROFILE_ID ^
      --no-async ^
      --region=REGION ^
      --host=HOST_IP_ADDRESS ^
      --port=PORT_NUMBER ^
      --username=USERNAME ^
      --password=PASSWORD ^
      --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]
    

Paso 3: Configurar y ejecutar la tarea de migración

Cuando migras con Percona XtraBackup, puedes crear la instancia de destino de Cloud SQL por tu cuenta o dejar que Database Migration Service la cree por ti. Para obtener más información, consulta la descripción general de la creación de tareas de migración.

Cada uno de estos enfoques requiere que sigas un conjunto de procedimientos ligeramente diferente. Usa el menú desplegable para ver los procedimientos correspondientes a tu situación:

  • Si quieres que Database Migration Service cree la base de datos de destino, selecciona Migrar a una nueva instancia de destino.
  • Si quieres migrar a una base de datos de destino creada fuera de Database Migration Service, selecciona Migrar a una instancia de destino que ya tengas.

  • Cuando migras a una nueva instancia de destino, Database Migration Service crea la instancia de Cloud SQL para MySQL de destino durante el flujo de creación del trabajo de migración.

    Paso 3a. Crear la tarea de migración en una instancia de destino

    Para crear una tarea de migración a una instancia de destino, sigue estos pasos:

    Consola

    Definir la configuración de la tarea de migración

    1. En la Google Cloud consola, ve a la página Tareas de migración.

      Ir a Tareas de migración

    2. 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.

    3. En la página Empezar, introduce la siguiente información:
      1. 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 .

      2. 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.

      3. 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.

      4. 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.

    4. Haz clic en Guardar y continuar.

    Especificar información sobre el perfil de conexión de origen

    1. En la página Definir un origen, sigue estos pasos:
      1. En el menú desplegable Perfil de conexión de origen, selecciona el perfil de conexión de tu base de datos de origen.
      2. En la sección Personalizar configuración de volcado completo, haga clic en Editar configuración.
      3. En el panel Editar configuración de volcado completo, selecciona Basado en físico en el menú desplegable Método de volcado completo.
      4. 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 (paso 3 de la sección Prepara tus datos de origen).
      5. Haz clic en Guardar.
    2. Haz clic en Guardar y continuar.

    Configurar y crear la instancia de Cloud SQL de destino

    1. En la página Define a destination (Define un destino), en el menú desplegable Type of destination instance (Tipo de instancia de destino), selecciona New instance (Nueva instancia). Define todos los ajustes pertinentes:
      1. En el campo ID de instancia de destino, proporcione un identificador para la instancia de Cloud SQL o use el identificador generado automáticamente.

        No incluyas información sensible ni información personal identificable en el identificador. No es necesario incluir el ID del proyecto en el nombre de la instancia. Esto se hace automáticamente cuando procede (por ejemplo, en los archivos de registro).

      2. En el campo Password (Contraseña), proporciona una contraseña alfanumérica para la instancia de Cloud SQL de destino. Esta es la contraseña de la cuenta de administrador de root de la instancia.

        Puedes introducir la contraseña manualmente o hacer clic en Generar para que Database Migration Service cree una automáticamente.

      3. En el menú desplegable Versión de la base de datos, elija la versión de la base de datos de la instancia de destino.

        Haz clic en Mostrar versiones secundarias para ver todas las versiones secundarias. Más información sobre la asistencia para la migración entre versiones

      4. Selecciona la edición de Cloud SQL para MySQL de la instancia de destino. Hay dos opciones disponibles: edición Enterprise de Cloud SQL para MySQL y edición Enterprise Plus de Cloud SQL para MySQL.

        Las ediciones de Cloud SQL para MySQL incluyen diferentes conjuntos de funciones, tipos de máquinas disponibles y precios. Consulta la documentación de Cloud SQL para elegir la edición que se adapte a tus necesidades. Para obtener más información, consulta la introducción a las ediciones de Cloud SQL para MySQL.

      5. El menú Región muestra la misma región que seleccionó en la página Empezar.

        Si vas a configurar tu instancia para que tenga alta disponibilidad, selecciona Varias zonas (alta disponibilidad). Puede seleccionar tanto la zona principal como la secundaria. Se aplican las siguientes condiciones cuando se usa la zona secundaria durante la creación de la instancia:

        • Las zonas tienen el valor predeterminado Cualquiera en la zona principal y Cualquiera (distinta de la principal) en la zona secundaria.
        • Si se especifican las zonas principal y secundaria, deben ser zonas diferentes.
      6. En la sección Conexiones, elija si quiere añadir una dirección IP pública o privada a la instancia de destino. Puedes configurar tu instancia para que tenga ambos tipos de direcciones IP, pero se requiere al menos un tipo para la migración. Selecciona una de las siguientes opciones:
        • Si quieres migrar mediante el emparejamiento de VPCs o un túnel inverso SSH, selecciona IP privada.
          • Para habilitar la conectividad de IP privada, asegúrate de que cumples todos los requisitos de red adicionales.

            Despliega esta sección para ver todos los requisitos de las IPs privadas.

          • Selecciona la red de VPC asociada que quieras emparejar. Si tienes previsto conectarte al origen de la migración mediante el emparejamiento de VPC, elige la VPC en la que se encuentra la instancia.
          • Si nunca se ha configurado una red de servicios gestionados para la VPC seleccionada, puedes elegir un intervalo de IPs y hacer clic en Conectar o usar un intervalo de IPs seleccionado automáticamente y hacer clic en Asignar y conectar.
        • Si quieres migrar a través de Internet mediante una lista de IPs permitidas, selecciona IP pública.

          Opcionalmente, en IP pública, haga clic en el campo Redes autorizadas y autorice una red o un proxy para que se conecte a la instancia de Cloud SQL. Las redes solo se autorizan con las direcciones que proporciones. Consulta Configurar una IP pública en la documentación de Cloud SQL.

        Configurará la conectividad de la tarea de migración en un paso posterior. Para obtener más información sobre los métodos de conexión disponibles, consulta Configurar la conectividad.

    2. Selecciona el tipo de máquina de la instancia de Cloud SQL.

      Para obtener más información, consulta Limitaciones.

    3. En el caso de la edición Enterprise Plus de Cloud SQL para MySQL: marca la casilla Habilitar caché de datos si quieres usar la función de caché de datos en tu base de datos de destino.

      La caché de datos es una función opcional disponible para las instancias de la edición Enterprise Plus de Cloud SQL para MySQL que añade una unidad de estado sólido local de alta velocidad a tu base de datos de destino. Esta función puede suponer costes adicionales para tu instancia de Cloud SQL. Para obtener más información sobre la caché de datos, consulta la información general sobre la caché de datos en la documentación de Cloud SQL.

    4. Especifica el tipo de almacenamiento de la instancia de Cloud SQL. Puedes elegir entre una unidad de estado sólido (SSD) o una unidad de disco duro (HDD).
    5. Especifica la capacidad de almacenamiento (en GB) de la instancia de Cloud SQL.

      Asegúrate de que la instancia tenga suficiente capacidad de almacenamiento para gestionar los datos de tu base de datos de origen. Puedes aumentar esta capacidad en cualquier momento, pero no reducirla.

    6. (Opcional) Configure las opciones de cifrado de datos o las etiquetas de recursos de la instancia de destino.

      Despliega esta sección para ver los pasos opcionales.

      Haga clic en Mostrar configuraciones opcionales y, a continuación, haga lo siguiente:

      1. Especifica si quieres gestionar el cifrado de los datos que se migran del origen al destino. De forma predeterminada, tus datos se cifran con una clave gestionada por Google Cloud. Si quieres gestionar el encriptado, puedes usar una clave de encriptado gestionada por el cliente (CMEK). Para ello:

        1. Marca la casilla Usar una clave de encriptado gestionada por el cliente (CMEK).
        2. En el menú Seleccionar una clave gestionada por el cliente, elige tu CMEK.

        Si no ves tu clave, haz clic en Introduce el nombre del recurso de la clave para proporcionar el nombre del recurso de la clave que quieras usar. Ejemplo de nombre de recurso de clave: projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key.

      2. Añade las marcas necesarias que se aplicarán al servidor de bases de datos. Si es posible, asegúrate de que las marcas de la base de datos de la instancia de Cloud SQL de destino que has creado sean las mismas que las de la base de datos de origen. Consulta más información sobre las marcas de bases de datos admitidas en MySQL.
      3. Añade las etiquetas que sean específicas de la instancia de Cloud SQL.

        Las etiquetas sirven para organizar tus instancias. Por ejemplo, puedes organizar las etiquetas por centro de costes o por entorno. Las etiquetas también se incluyen en la factura para que veas cómo se distribuyen los costes en cada una.

    7. Haz clic en Crear destino y continuar. Database Migration Service está creando tu instancia de destino de Cloud SQL. Este proceso puede tardar varios minutos.

    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 son lista de permitidos de IPs, túnel inverso SSH y emparejamiento de VPC.

    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 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 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.

    Crear la tarea de migración

    En Probar y crear tarea de migración, comprueba los ajustes de la tarea de migración. En este punto, la prueba de la tarea de migración fallará porque la cuenta de servicio asociada a la instancia de Cloud SQL de destino no tiene los permisos necesarios.

    Realiza una de las siguientes acciones antes de probar la tarea para validar su configuración:

    • Si quieres probar tu trabajo de migración mediante la Google Cloud consola después de asignar los permisos a la cuenta de servicio de la instancia de destino, haz clic en Guardar y salir. De esta forma, la tarea de migración se guarda como borrador. Puedes volver a esta pantalla más adelante, probar tu tarea de migración y ejecutarla.
    • Si quieres probar el trabajo de migración con la CLI de Google Cloud después de asignar los permisos a la cuenta de servicio de la instancia de destino,haz clic en Crear. Con Google Cloud CLI, puedes probar un trabajo de migración que se haya creado, pero que aún no se haya iniciado.

    gcloud

    1. Crea el perfil de conexión de destino.
      Cuando migras a una nueva instancia de destino con Google Cloud CLI, creas la instancia de destino y el perfil de conexión en una sola acción.
      Ejecuta el siguiente comando (haz clic en el enlace para ampliarlo):

      gcloud database-migration connection-profiles create cloudsql

      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.
      • DATABASE_VERSION con la versión de MySQL que quieras usar en la instancia de destino. Las versiones de la base de datos se especifican como cadenas que incluyen tanto la versión principal como la secundaria. Por ejemplo: MYSQL_8_0, MYSQL_8_0_32, MYSQL_8_0_36.

        Para ver todas las versiones posibles de MySQL, consulta la referencia de la marca --database-version.

      • (Opcional) EDITION De forma predeterminada, las nuevas instancias que crees con la CLI de Google Cloud usarán la edición Enterprise Plus de Cloud SQL para MySQL. Si tienes previsto usar la edición Enterprise Plus de Cloud SQL para MySQL, comprueba que tu región sea compatible con esa edición. Consulta las regiones admitidas en la edición Enterprise Plus de Cloud SQL para MySQL.

        Puede cambiar su edición mediante la marca --edition con uno de los siguientes valores:

        • enterprise-plus para la edición Enterprise Plus de Cloud SQL para MySQL
        • enterprise para la edición Enterprise de Cloud SQL para MySQL
      • TIER con el nombre del tipo de máquina de Cloud SQL que quieras usar. Los tipos de máquinas se especifican como cadenas que siguen la convención de Cloud SQL, por ejemplo, db-n1-standard-1 y db-perf-optimized-N-2. Para ver una lista completa de los tipos de máquinas disponibles y sus identificadores para usarlos con la CLI de Google Cloud, consulta Tipos de máquinas en la documentación de Cloud SQL para MySQL.

        Las instancias creadas con la CLI de Google Cloud usan de forma predeterminada la edición Enterprise Plus de Cloud SQL para MySQL, que tiene disponibles diferentes tipos de máquinas. Si quieres usar un tipo de máquina que solo esté disponible en la edición Enterprise de Cloud SQL para MySQL, usa la marca opcional --edition=enterprise para especificar la edición.

      • REGION con el identificador de la región en la que quieras guardar el perfil de conexión.

        De forma predeterminada, las nuevas instancias que crees con la CLI de Google Cloud usarán la edición Enterprise Plus de Cloud SQL para MySQL. Si tienes previsto usar la edición Enterprise Plus de Cloud SQL para MySQL, asegúrate de que tu región sea compatible con esa edición. Consulta las regiones admitidas en la edición Enterprise Plus de Cloud SQL para MySQL. Puedes cambiar la edición con la marca opcional --edition.

      • (Opcional) CONNECTION_PROFILE_NAME con un nombre legible para tu perfil de conexión. Este valor se muestra en la consola Google Cloud .
      • Configuración de red

        De forma predeterminada, las nuevas instancias que crees con la CLI de Google Cloud tienen asignada una dirección IP pública y están configuradas para usar la conectividad de IP pública. Puedes usar otros métodos de conectividad. Para obtener más información, consulta Configurar la conectividad.

        No es necesario que uses marcas adicionales si quieres usar la conectividad de IP pública. Si quieres usar la conectividad de IP privada con el emparejamiento entre redes de VPC o un túnel SSH inverso, asegúrate de cumplir los siguientes requisitos de red adicionales para habilitar la conectividad de IP privada e incluye las marcas adicionales en tu comando.

        Despliega esta sección para ver todos los requisitos de las IPs privadas.

        Incluye las siguientes marcas adicionales si quieres usar la conectividad de IP privada (con el emparejamiento entre redes de VPC o con un túnel inverso SSH en una VM de Compute Engine):

        • --no-enable-ip-v4: (Opcional) Para no asignar una dirección IP pública a tu instancia de destino. Puedes asignar tanto una dirección IP pública como una privada a tu instancia de destino, pero es posible que no quieras una dirección IP pública si usas la conectividad IP privada.
        • --private-network: Para asignar una dirección IP privada a tu instancia de destino, especifica el nombre de la nube privada virtual en la que quieras asignar una dirección IP privada.

      Ejecuta el siguiente comando:

      Linux, macOS o Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --region=REGION \
        --database-version=DATABASE_VERSION \
        --tier=TIER \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --region=REGION `
        --database-version=DATABASE_VERSION `
        --tier=TIER `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --region=REGION ^
        --database-version=DATABASE_VERSION ^
        --tier=TIER ^
        --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]
      
    2. Completa la configuración de red.

      En función de la conectividad de red que quieras usar, puede que tengas que seguir otros pasos antes de crear el trabajo de migración.

    3. Crea la tarea de migración.
      Ejecuta el siguiente comando (haz clic en el enlace para desplegarlo):

      gcloud database-migration migration-jobs 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:

      • 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.
      • MIGRATION_JOB_TYPE con el tipo de tarea de migración. Se permiten dos valores: ONE_TIME y CONTINUOUS. Para obtener más información, consulta Tipos de migración.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES con la ruta a los archivos de copia de seguridad físicos almacenados en una carpeta de un segmento de Cloud Storage. Utiliza el siguiente formato: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuración de red

        Si usas la conectividad de IP privada con el emparejamiento entre redes de VPC o un túnel inverso SSH, añade las siguientes marcas al comando:

        Conectividad IP privada con el emparejamiento entre redes de VPC
        Usa la marca --peer-vpc para especificar el nombre de la red con la que quieres crear la conexión.
        Túnel inverso SSH en una VM de Compute Engine
        Usa las siguientes marcas para proporcionar detalles de la red de Compute Engine: --vm-ip, --vm-port, --vpc. También puedes usar la marca opcional --vm para especificar el nombre de la VM.

        Para ver más ejemplos de uso, consulta los ejemplos de Google Cloud CLI.

      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
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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]
      

    Paso 3b. Conceder los permisos necesarios a la cuenta de servicio de la instancia de Cloud SQL

    Cuando creas la tarea de migración a una instancia nueva, Database Migration Service también crea la instancia de Cloud SQL de destino. Antes de ejecutar la migración, debes asignar permisos de Cloud Storage a la cuenta de servicio de la instancia.

    Para conceder los permisos de Cloud Storage a la cuenta de servicio asociada a tu instancia de destino, sigue estos pasos:

    1. Busca la dirección de correo de la cuenta de servicio de tu instancia de Cloud SQL en la página de detalles de la instancia de Cloud SQL. Esta dirección usa el siguiente formato: <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consulta Ver información de la instancia en la documentación de Cloud SQL.
    2. Añade el rol de gestión de identidades y accesos Lector de objetos de Storage (roles/storage.objectViewer) a la cuenta de servicio. Para obtener información sobre cómo gestionar el acceso con Gestión de Identidades y Accesos, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones de la documentación de Gestión de Identidades y Accesos.

    Paso 3c. (Opcional) Probar la tarea de migración

    Antes de ejecutar la tarea de migración, puedes realizar una operación de prueba para comprobar si Database Migration Service puede acceder a todas las entidades de origen y destino necesarias. Con la CLI de gcloud, puedes probar las tareas de migración que se han creado, pero que aún no se han iniciado.

    Consola

    En la Google Cloud consola, solo puedes probar las tareas de migración en borrador que crees en el asistente de creación de tareas de migración. Si no has guardado el trabajo como borrador, pero lo has creado por completo en el asistente, solo puedes realizar la prueba con la CLI de Google Cloud.

    Para probar un trabajo de migración en borrador, sigue estos pasos:

    1. En la Google Cloud consola, ve a la página Tareas de migración.

      Ir a Tareas de migración

    2. En la pestaña Borradores, haga clic en el nombre visible del trabajo de migración que quiera terminar de crear.

      Se abrirá el asistente para crear tareas de migración.

    3. En la página Probar y crear tarea de migración, haz clic en Probar tarea. Database Migration Service ahora comprueba si tu instancia de destino tiene todos los permisos necesarios y puede conectarse a la base de datos de origen.
    4. Cuando finalice la prueba, haz clic en Crear.

      La tarea de migración se ha creado y está lista para iniciarse.

    gcloud

    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:

    Paso 3d. Iniciar la tarea de migración

    Cuando se haya creado por completo el trabajo de migración (es decir, no se haya guardado en estado de borrador), podrás iniciarlo en cualquier momento para empezar a migrar los datos.

    Para iniciar una tarea de migración, siga estos pasos:

    Consola

    1. En la Google Cloud consola, ve a la página Tareas de migración.

      Ir a Tareas de migración

    2. En la pestaña Trabajos, haga clic en el nombre visible del trabajo de migración que quiera iniciar.

      Se abrirá la página de detalles de la tarea de migración.

    3. Haz clic en Empezar.
    4. En el cuadro de diálogo, haz clic en Iniciar.

    gcloud

    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:


  • Para migrar a una instancia de destino, primero debes crearla y configurarla.

    Paso 3a. Preparar la instancia de destino

    Para configurar la instancia de Cloud SQL de destino, siga estos pasos:

    1. Crea tu instancia de destino de Cloud SQL para MySQL. Asegúrate de usar suficientes recursos de computación y memoria para cubrir tus necesidades de migración. Consulta Crear una instancia en la documentación de Cloud SQL.

      En función del método de conectividad que quieras usar para la migración, es posible que tengas que añadir una dirección IP pública o privada a la instancia de destino. Para obtener más información sobre los métodos de conectividad, consulta el artículo Configurar la conectividad.

    2. Concede los permisos de Cloud Storage a la cuenta de servicio asociada a tu instancia de destino. Esta cuenta se crea después de crear la instancia de destino.
      1. Busca la dirección de correo de la cuenta de servicio de tu instancia de Cloud SQL en la página de detalles de la instancia de Cloud SQL. Esta dirección usa el siguiente formato: <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consulta Ver información de la instancia en la documentación de Cloud SQL.
      2. Añade el rol de gestión de identidades y accesos Lector de objetos de Storage (roles/storage.objectViewer) a la cuenta de servicio. Para obtener información sobre cómo gestionar el acceso con Gestión de Identidades y Accesos, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones de la documentación de Gestión de Identidades y Accesos.
    3. Crea un perfil de conexión de destino para tu instancia de Cloud SQL.

      Consola

      No es necesario que crees el perfil de conexión de destino. Cuando creas una tarea de migración en la consola de Google Cloud , usas el identificador de la instancia de destino y Database Migration Service gestiona el perfil de conexión por ti.

      Ve a la sección Crear y ejecutar una tarea de migración.

      gcloud

      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]
      

    Paso 3b. Crear y ejecutar la tarea de migración

    Consola

    Definir la configuración de la tarea de migración

    1. En la Google Cloud consola, ve a la página Tareas de migración.

      Ir a Tareas de migración

    2. 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.

    3. En la página Empezar, introduce la siguiente información:
      1. 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 .

      2. 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.

      3. 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.

      4. 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.

    4. Haz clic en Guardar y continuar.

    Especificar información sobre el perfil de conexión de origen

    1. En la página Definir un origen, sigue estos pasos:
      1. En el menú desplegable Perfil de conexión de origen, selecciona el perfil de conexión de tu base de datos de origen.
      2. En la sección Personalizar configuración de volcado completo, haga clic en Editar configuración.
      3. En el panel Editar configuración de volcado completo, selecciona Basado en físico en el menú desplegable Método de volcado completo.
      4. En Proporciona tu carpeta, haz clic en Examinar. A continuación, selecciona la carpeta en la que has subido el archivo de volcado completo (paso 4 de la sección Prepara tus datos de origen).
      5. Haz clic en Guardar.
    2. Haz clic en Guardar y continuar.

    Seleccionar la instancia de Cloud SQL de destino

    1. En el menú Tipo de instancia de destino, selecciona Instancia actual.
    2. En la sección Seleccionar instancia de destino, selecciona la instancia de destino.
    3. Revisa la información de la sección Detalles de la instancia y haz clic en Seleccionar y continuar.
    4. 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.
    5. 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 son lista de permitidos de IPs, túnel inverso SSH y emparejamiento de VPC.

    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 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 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 de la tarea de migración. No todos los ajustes se pueden editar.

    1. 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.

    2. Cuando finalice la prueba de la tarea de migración, haz clic en Crear e iniciar tarea.

      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.

    gcloud

    Para configurar y ejecutar la migración, sigue estos pasos:

    1. Crea la tarea de migración.
      Ejecuta el siguiente comando (haz clic en el enlace para desplegarlo):

      gcloud database-migration migration-jobs 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:

      • 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.
      • MIGRATION_JOB_TYPE con el tipo de tarea de migración. Se permiten dos valores: ONE_TIME y CONTINUOUS. Para obtener más información, consulta Tipos de migración.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES con la ruta a los archivos de copia de seguridad físicos almacenados en una carpeta de un segmento de Cloud Storage. Utiliza el siguiente formato: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuración de red

        Si usas la conectividad de IP privada con el emparejamiento entre redes de VPC o un túnel inverso SSH, añade las siguientes marcas al comando:

        Conectividad IP privada con el emparejamiento entre redes de VPC
        Usa la marca --peer-vpc para especificar el nombre de la red con la que quieres crear la conexión.
        Túnel inverso SSH en una VM de Compute Engine
        Usa las siguientes marcas para proporcionar detalles de la red de Compute Engine: --vm-ip, --vm-port, --vpc. También puedes usar la marca opcional --vm para especificar el nombre de la VM.

        Para ver más ejemplos de uso, consulta los ejemplos de Google Cloud CLI.

      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
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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]
      
    2. Rebaja la instancia de Cloud SQL de destino.
      Ejecuta el siguiente comando (haz clic en el enlace para desplegarlo):

      gcloud database-migration migration-jobs demote-destination

      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:

    3. (Opcional) Realiza una prueba de la tarea de migración
      Puedes ejecutar una comprobación para verificar si Database Migration Service puede acceder a todas las entidades de origen y de destino necesarias. Ejecuta el siguiente comando (haz clic en el enlace para desplegarlo):

      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:

    4. Inicia la tarea de migración.
      Ejecuta el siguiente comando (haz clic en el enlace para desplegarlo):

      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:

      Cuando inicias la tarea de migración, tu instancia de Cloud SQL de destino se pone en modo de solo lectura, donde Database Migration Service la gestiona por completo. Puedes convertirla en una instancia independiente cuando tus datos se hayan migrado por completo.

      Nota: Puedes monitorizar el progreso de la migración, así como el estado de la instancia de destino, con las funciones de observabilidad de Database Migration Service. Consulta [Métricas de tareas de migración](/database-migration/docs/mysql/migration-job-metrics).

Paso 4: (Opcional) Detener la migración

Puedes detener y eliminar tu tarea de migración en cualquier momento si quieres cancelar el proceso de migración de datos. Puedes gestionar la tarea de migración en la Google Cloud consola o con la CLI de Google Cloud.

Paso 5: Finalizar la migración

Cuando la tarea de migración se complete correctamente, finalízala siguiendo uno de estos pasos:

  • Para migraciones únicas: el estado de la tarea de migración cambia a Completada. No es necesario que hagas nada más. Puedes limpiar los recursos de la tarea de migración y del perfil de conexión.

  • Para las migraciones continuas: promueve la tarea de migración para cambiar tu aplicación a la nueva instancia de base de datos.