Migra tus bases de datos con un archivo físico de Percona XtraBackup

Puedes migrar las bases de datos de MySQL a Cloud SQL usando los archivos de copia de seguridad de base de datos físicos que se crearon con la utilidad Percona XtraBackup para MySQL. Con la migración de archivos de copia de seguridad físicos, obtienes velocidades mejoradas de restauración de datos en comparación con las migraciones que usan archivos de copia de seguridad lógicos. Por ese motivo, son una excelente opción para trasladar bases de datos grandes que contienen varios terabytes de datos.

En ese flujo de migración, se incluyen las siguientes tareas:

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

  2. Subir tus archivos de copia de seguridad a un bucket de Cloud Storage.

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

    Según tu situación, puedes crear la instancia de destino por tu cuenta o hacer que Database Migration Service la cree por ti como parte del flujo de creación del trabajo de migración. Para obtener más información, consulta el paso Configura y ejecuta el trabajo de migración.

  4. Promocionar el trabajo de migración después de que los datos se migran por completo.

Migraciones sin conexión

En esta guía, se describen situaciones de migración para entornos en los que puedes garantizar la conectividad de red entre las 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 cambio, Database Migration Service solo lee los archivos de copia de seguridad que subes al bucket de Cloud Storage y replica su contenido en el destino de Cloud SQL para MySQL. No se recomienda un flujo de migración que no use 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 quieres intentar realizar una tarea de migración sin conexión, ajusta 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 o 8.4 con un archivo de copia de seguridad física. Consulta Limitaciones conocidas.

  • Consideraciones sobre la compatibilidad entre versiones:

    • Solo puedes migrar dentro de la misma versión principal de la 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.

    • La migración no es compatible con versiones principales o secundarias de bases de datos anteriores. Por ejemplo, no puedes migrar de MySQL 8.0 a 5.7 ni de MySQL 8.0.36 a 8.0.16.

  • Debes usar Percona XtraBackup para hacer una copia de seguridad de los datos en el bucket de Cloud Storage. No se admiten otras utilidades de copias de seguridad.

  • La migración de bases de datos desde un archivo físico de Percona XtraBackup solo es compatible con las bases de datos locales de MySQL o las bases de datos de MySQL autoadministradas de VM. No se admite la migración desde Amazon Aurora o MySQL en las bases de datos de Amazon RDS.

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

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

  • Debes configurar el formato de registro binario como ROW. Si configuras el registro binario en cualquier otro formato, como STATEMENT o MIXED, la replicación podría fallar.

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

  • Cloud Storage limita el tamaño de un archivo que puedes subir a un bucket a 5 TB. Si tu archivo físico de Percona XtraBackup supera los 5 TB, debes 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 exclusiva de Cloud Storage que no tenga otros archivos.

  • Debes 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 puedes migrar la base de datos mediante un archivo físico de Percona XtraBackup. Por ejemplo, una base de datos configurada con innodb_data_file_path=ibdata01:50M:autoextend no es compatible con la migración.

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

  • No puedes migrar complementos desde tu base de datos externa.

Costos

Para las migraciones homogéneas a Cloud SQL, Database Migration Service se ofrece sin cargo adicional. Sin embargo, los precios de Cloud SQL y Cloud Storage se aplican 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, usarás los siguientes componentes facturables de Google Cloud:

  • Cloud Storage
  • Cloud SQL

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios. Es posible que los usuarios nuevos de Google Cloud califiquen para obtener una prueba gratuita.

Antes de comenzar

  1. Considera en qué región deseas crear la base de datos de destino. 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 y buckets de almacenamiento) se deben guardar 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 con archivos de copia de seguridad físicos, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para realizar migraciones homogéneas de MySQL con archivos de copia de seguridad físicos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para realizar migraciones homogéneas de MySQL con archivos de copia de seguridad físicos:

  • 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 o con otros roles predefinidos.

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

Existen diferentes métodos de red que puedes usar para configurar la conectividad entre tu fuente y las instancias de destino de Cloud SQL. Según el método que uses, es posible que debas realizar pasos adicionales durante el proceso de migración.

Considera qué método de conectividad es adecuado para tu caso antes de continuar con los siguientes pasos, ya que tu elección podría afectar la configuración que debes usar. Para obtener más información, consulta Configura la conectividad.

Paso 2: Prepara los datos de origen

Para preparar los datos para la migración, realiza los siguientes 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 que sea igual o posterior a la versión de tu instancia de origen. Para obtener más información, consulta la comparación de la versión del servidor y la versión de copia de seguridad en la documentación de Percona XtraBackup.
  2. Exporta y prepara el archivo de copia de seguridad físico de tu instancia de origen con Percona XtraBackup. Para obtener información completa sobre el uso de Percona XtraBackup, consulta la documentación de la herramienta. También puedes expandir la siguiente sección para ver un ejemplo de los pasos recomendados.

    Muestra de pasos recomendados para crear y preparar archivos de copia de seguridad físicos con Percona XtraBackup

    Antes de usar cualquiera de los datos de comando que se muestran a continuación, realiza los siguientes reemplazos:

    • TARGET_DIR por la ruta de acceso en la que deseas 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 por 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 garantizar la coherencia del archivo. Ejecuta el siguiente comando:
        xtrabackup --prepare --target-dir=TARGET_DIR
            
  3. Crea tu bucket para almacenar los archivos de copia de seguridad. Asegúrate de usar la misma región que en la que querías crear tu instancia de destino de Cloud SQL para MySQL.

    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, buckets 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 bucket de Cloud Storage. Asegúrate de subir los archivos de copia de seguridad a una carpeta exclusiva de Cloud Storage que no contenga otros archivos. Consulta Sube objetos desde un sistema de archivos en la documentación de Cloud Storage.
  5. Crea el perfil de conexión fuente para tu instancia de base de datos de origen.

    Console

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

    1. Ve a la página Perfiles de conexión en la consola de Google Cloud .
    2. Haga clic en 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, ingresa un nombre legible por humanos para tu perfil de conexión. Este valor se muestra en la lista de perfiles de conexión.
    5. Conserva el ID del perfil de conexión generado automáticamente.
    6. Ingresa un nombre de host o una dirección IP.
      • Si la base de datos de origen se aloja en Google Cloud, o si se usa un túnel SSH inverso para conectar la base de datos de destino a la base de datos de origen, especifica la dirección IP privada (interna) de la base de datos de origen. El destino de Cloud SQL podrá acceder a esta dirección. Para obtener más información, consulta Configura la conectividad mediante el intercambio de tráfico de VPC.

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

    7. Ingresa el puerto que se usa para acceder al host. El puerto predeterminado de MySQL es 3306.
    8. Ingresa 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 Configura tu base de datos de origen.
    9. En la sección Región del perfil de conexión de la página, selecciona la región en la que deseas 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 IP permitidas), te recomendamos usar la encriptación SSL/TLS para la conexión entre las bases de datos de origen y de destino.

      Existen tres opciones para la configuración SSL/TLS que puedes seleccionar en la sección Protege tu conexión de la página:

      1. Ninguna: La instancia de destino de Cloud SQL se conecta a la base de datos de origen sin encriptación.
      2. Autenticación solo de servidor: Cuando la instancia de destino de Cloud SQL se conecta a la base de datos de origen, la instancia autentica la fuente y se asegura de que la instancia se conecte al host correcto de forma segura. Esto evita los ataques de intermediario. En el caso de la autenticación solo del servidor, la fuente no autentica la instancia.

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

      3. Autenticación servidor-cliente: Cuando la instancia de destino se conecta a la fuente, la instancia autentica la fuente y la fuente autentica la instancia.

        La autenticación servidor-cliente proporciona la mayor seguridad. Sin embargo, si no quieres proporcionar el certificado y la clave privada del cliente cuando creas la instancia de destino de Cloud SQL, puedes usar la autenticación solo del servidor.

        Para usar la autenticación servidor-cliente, debes proporcionar los siguientes elementos cuando crees el perfil de conexión de destino:

        • El certificado de la AC que firmó el certificado del servidor de la base de datos de origen (el certificado de la AC).
        • Es 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 con el certificado de cliente (la clave del cliente).
    11. Haz clic en Crear. Se creó 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 un poco en completarse. Puedes omitir la marca --no-async para ejecutar comandos de forma asíncrona. Si es así, debes usar el comando gcloud database-migration operations describe para verificar si la operación se realizó de forma correcta.

    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.
    • HOST_IP_ADDRESS con la dirección IP a la que Database Migration Service puede acceder a tu instancia de base de datos de origen. Este valor puede variar según el metodo de conectividad que uses para la migración.
    • PORT_NUMBER con el número de puerto en el que tu base de datos fuente 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 deseas que Database Migration Service se conecte a tu instancia de base de datos de origen.
    • PASSWORD por la contraseña de la cuenta de usuario de la base de datos.
    • CONNECTION_PROFILE_NAME (opcional) con un nombre legible por humanos 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 \
      --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 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]
    

Paso 3: Configura y ejecuta el trabajo de migración

Cuando realices la migración con Percona XtraBackup, te recomendamos que crees la instancia de destino de Cloud SQL por tu cuenta o que Database Migration Service la creé por ti. Para obtener más información, consulta Descripción general de la creación de trabajos de migración.

Cada uno de estos enfoques requiere que sigas un conjunto de procedimientos ligeramente diferente. Usa el menú desplegable para mostrar los procedimientos relevantes para tu caso:

  • Si deseas que Database Migration Service cree la base de datos de destino por ti, selecciona Migrar a una instancia de destino nueva.
  • Si deseas migrar a una base de datos de destino creada fuera de Database Migration Service, selecciona Migrar a una instancia de destino existente.

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

    Paso 3a. Crea el trabajo de migración a una instancia de destino nueva

    Para crear un trabajo de migración a una instancia de destino nueva, sigue estos pasos:

    Console

    Define la configuración del trabajo de migración

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

      Ve a Trabajos de migración

    2. 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 trabajo de migración de borrador más tarde.

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

      2. ID del trabajo de migración

        Este es un identificador legible por máquinas para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante los comandos o la API de Google Cloud CLI 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 propaga automáticamente y no se puede cambiar.

      4. Selecciona la región en la que guardas 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 y 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, esta selección no se puede cambiar.

    4. Haz clic en Guardar y continuar.

    Especifica la información sobre el perfil de conexión de origen

    1. En la página Define una fuente, realiza los siguientes 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 Personaliza la configuración de volcado completo, haz clic en Editar configuración.
      3. En el panel Edit full dump configuration, en el menú desplegable Full dump method, selecciona Physical based.
      4. En Proporciona tu carpeta, haz clic en Explorar y, luego, selecciona la carpeta en la que subiste el archivo de volcado completo (paso 3 en la sección Prepara tus datos de origen).
      5. Haz clic en Guardar.
    2. Haz clic en Guardar y continuar.

    Configura y crea la instancia de Cloud SQL de destino

    1. En la página Define un destino, en el menú desplegable Tipo de instancia de destino, selecciona Instancia nueva. Define todos los parámetros de configuración relevantes:
      1. En el campo ID de instancia de destino, proporciona un identificador para la instancia de Cloud SQL o usa el identificador generado automáticamente.

        No incluyas información sensible o de identificación personal en el identificador. No es necesario incluir el ID del proyecto en el nombre de la instancia. Esto se hace de manera automática cuando es apropiado (por ejemplo, en los archivos de registro).

      2. En el campo 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 root en la instancia.

        Puedes ingresar la contraseña de forma manual o hacer clic en Generar para que Database Migration Service cree una de forma automática.

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

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

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

        Las ediciones de Cloud SQL para MySQL incluyen diferentes conjuntos de funciones, tipos de máquinas disponibles y precios. Asegúrate de consultar la documentación de Cloud SQL para elegir la edición que sea apropiada para tus necesidades. Para obtener más información, consulta Introducción a las ediciones de Cloud SQL para MySQL.

      5. En el menú Región, se muestra la misma región que seleccionaste en la página Comenzar.

        Si estás configurando tu instancia para alta disponibilidad, selecciona Varias zonas (con alta disponibilidad). Puedes seleccionar la zona principal y 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 Cualquier para la zona principal y Cualquier (distinta de la principal) para la zona secundaria.
        • Si se especifican las zonas principal y secundaria, estas deben ser zonas diferentes.
      6. En la sección Conexiones, elige si deseas agregar una dirección IP pública o privada para 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 deseas migrar con el intercambio de tráfico de VPC o un túnel SSH inverso, selecciona IP privada.
          • Para habilitar la conectividad de IP privada, asegúrate de cumplir con todos los requisitos adicionales de red.

            Expande esta sección para ver los requisitos completos de las IP privadas.

          • Selecciona la red de VPC asociada para establecer el intercambio de tráfico. Si planeas conectarte a la fuente de migración mediante el intercambio de tráfico entre VPC, elige la VPC en la que reside la instancia.
          • Si nunca se configuró una red de servicio administrada para la VPC seleccionada, puedes seleccionar un rango de IP y hacer clic en Conectar, o bien usar un rango de IP seleccionado automáticamente y hacer clic en Asignar y conectar.
        • Si quieres migrar a través de Internet con una lista de IP permitidas, selecciona IP pública.

          De manera opcional, en IP pública, haz clic en el campo Redes autorizadas y autoriza 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 Configura una IP pública en la documentación de Cloud SQL.

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

    2. Selecciona el tipo de máquina para la instancia de Cloud SQL. El tamaño del disco debe ser igual o mayor que el tamaño de la base de datos de origen. Obtén más información sobre los tipos de máquinas de MySQL.
    3. Para la edición Enterprise Plus de Cloud SQL para MySQL: Selecciona la casilla de verificación Habilitar caché de datos si deseas 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 agrega una unidad de estado sólido local de alta velocidad a tu base de datos de destino. Esta función puede generar costos adicionales en tu Cloud SQL. Para obtener más información sobre la caché de datos, consulta la descripción general de la caché de datos en la documentación de Cloud SQL.

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

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

    6. (Opcional) Configura las opciones de encriptación de datos o las etiquetas de recursos para tu instancia de destino.

      Expande esta sección para ver los pasos opcionales.

      Haz clic en Mostrar configuraciones opcionales y, luego, haz lo siguiente:

      1. Especifica si deseas administrar la encriptación de los datos que se migran de la fuente al destino. De forma predeterminada, tus datos se encriptan con una clave administrada por Google Cloud. Si quieres administrar la encriptación, puedes usar una clave de encriptación administrada por el cliente (CMEK). Para ello, deberás hacer lo siguiente:

        1. Selecciona la casilla de verificación Usar una clave de encriptación administrada por el cliente (CMEK).
        2. En el menú Selecciona una clave administrada por el cliente, selecciona tu CMEK.

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

      2. Agrega las marcas necesarias que se aplicarán al servidor de base de datos. Si es posible, asegúrate de que las marcas de base de datos de la instancia de Cloud SQL de destino creada sean las mismas que las de la base de datos de origen. Obtén más información sobre las marcas de base de datos compatibles con MySQL.
      3. Agrega cualquier etiqueta que sea específica de la instancia de Cloud SQL.

        Las etiquetas ayudan a organizar tus instancias. Por ejemplo, puedes organizar las etiquetas por centro de costos o entorno. Además, las etiquetas se incluyen en tu factura, de manera que puedes ver la distribución de los costos en distintas etiquetas.

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

    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 lista de IP permitidas, túnel SSH inverso e 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 de 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 red de intercambio de tráfico de VPC Debes seleccionar la red de VPC en la que se encuentra la base de datos fuente. 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.

    Crea el trabajo de migración

    En Prueba y crea el trabajo de migración, verifica la configuración del trabajo de migración. En este punto, la prueba del trabajo de migración fallará porque la cuenta de servicio asociada con la instancia de destino de Cloud SQL no tiene los permisos necesarios.

    Realiza una de las siguientes acciones antes de probar el trabajo para validar la configuración:

    • Si deseas probar tu trabajo de migración con la consola de Google Cloud después de asignar los permisos a la cuenta de servicio de la instancia de destino, haz clic en Guardar y salir. Esta acción guarda tu trabajo de migración como borrador. Puedes volver a esta pantalla más adelante, probar el trabajo de migración y ejecutarlo.
    • Si deseas probar tu trabajo de migración con Google Cloud CLI 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 creó, pero que aún no se inició.

    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 vínculo para expandirlo):

      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 un poco en completarse. Puedes omitir la marca --no-async para ejecutar comandos de forma asíncrona. Si es así, debes usar el comando gcloud database-migration operations describe para verificar si la operación se realizó de forma correcta.

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

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

      • (Opcional) EDITION De forma predeterminada, las instancias nuevas que creas con Google Cloud CLI usan la edición de Cloud SQL para MySQL Enterprise Plus. Si planeas usar la edición de Cloud SQL para MySQL Enterprise Plus, asegúrate de que tu región sea compatible con esa edición. Consulta Compatibilidad con la región de la edición Cloud SQL para MySQL Enterprise Plus.

        Puedes cambiar tu edición usando 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 por el nombre del tipo de máquina de Cloud SQL que deseas usar. Los tipos de máquinas se especifican como cadenas que siguen la convención de Cloud SQL, por ejemplo, db-n1-standard-1 o db-perf-optimized-N-2. Para obtener una lista completa de los tipos de máquinas disponibles y sus identificadores para usar con Google Cloud CLI, consulta Tipos de máquinas en la documentación de Cloud SQL para MySQL.

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

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

        De forma predeterminada, las instancias nuevas que creas con Google Cloud CLI usan la edición de Cloud SQL para MySQL Enterprise Plus. Si planeas usar la edición de Cloud SQL para MySQL Enterprise Plus, asegúrate de que tu región sea compatible con esa edición. Consulta Compatibilidad con la región de la edición Cloud SQL para MySQL Enterprise Plus. Puedes cambiar la edición con la marca opcional --edition.

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

        De forma predeterminada, las instancias nuevas que creas con Google Cloud CLI 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 Configura la conectividad.

        No es necesario usar marcas adicionales si quieres usar la conectividad de IP pública. Si quieres usar la conectividad de IP privada con el intercambio de tráfico entre redes de VPC o un túnel SSH inverso, asegúrate de cumplir con los siguientes requisitos de red adicionales para habilitar la conectividad de IP privada y de incluir marcas adicionales en tu comando.

        Expande esta sección para ver los requisitos completos de las IP privadas.

        Incluye las siguientes marcas adicionales si deseas usar conectividad de IP privada (con el intercambio de tráfico entre redes de VPC o con un túnel inverso de 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 tener una dirección IP pública y una privada asignadas a tu instancia de destino, pero es posible que no quieras usar una dirección IP pública si usas conectividad de 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 deseas que se asigne 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 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]
      
    2. Completa la configuración de red.

      Según la conectividad de red que quieras usar, es posible que debas seguir pasos adicionales antes de crear el trabajo de migración.

    3. Crea el trabajo de migración.
      Ejecuta el siguiente comando (haz clic en el vínculo para expandirlo):

      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 un poco en completarse. Puedes omitir la marca --no-async para ejecutar comandos de forma asíncrona. Si es así, debes usar el comando gcloud database-migration operations describe para verificar si la operación se realizó de forma correcta.

      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áquinas para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante los comandos o la API de Google Cloud CLI de Database Migration Service.
      • REGION por el identificador de región en el que deseas guardar la tarea de migración.
      • MIGRATION_JOB_NAME por 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áquinas 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 trabajo de migración. Se permiten dos valores: ONE_TIME o 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 de acceso a tus archivos de copia de seguridad físicos almacenados en una carpeta de un bucket de Cloud Storage. Usa el siguiente formato: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuración de redes

        Si usas conectividad de IP privada con el intercambio de tráfico de red de VPC o un túnel SSH inverso, agrega las siguientes marcas a tu comando:

        Conectividad de IP privada con el intercambio de tráfico entre redes de VPC
        Usa la marca --peer-vpc para especificar el nombre de la red con la que deseas establecer un vínculo.
        Túnel SSH inverso en una VM de Compute Engine
        Usa las siguientes marcas para proporcionar detalles de red para Compute Engine: --vm-ip, --vm-port y --vpc. También puedes usar la marca opcional --vm para especificar el nombre de la VM.

        Para ver más ejemplos de uso, consulta 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 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]
      

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

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

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

    1. Busca la dirección de correo electrónico 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 Consulta la información de la instancia en la documentación de Cloud SQL.
    2. Agrega el rol de IAM Visualizador de objetos de almacenamiento (roles/storage.objectViewer) a la cuenta de servicio. Si deseas obtener más información para administrar el acceso con Identity and Access Management, consulta Administra el acceso a proyectos, carpetas y organizaciones en la documentación de IAM.

    Paso 3c. Prueba el trabajo de migración (opcional)

    Antes de ejecutar el trabajo de migración, puedes realizar una operación de prueba para verificar si Database Migration Service puede llegar a todas las entidades de origen y destino necesarias. Con gcloud CLI, puedes probar trabajos de migración que se crearon, pero que aún no se iniciaron.

    Console

    En la consola de Google Cloud, solo puedes probar los borradores de trabajos de migración que creas en el asistente de creación de trabajos de migración. Si no guardaste tu trabajo como borrador, pero lo creaste por completo en el asistente, solo puedes realizar la prueba con Google Cloud CLI.

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

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

      Ve a Trabajos de migración

    2. En la pestaña Borradores, haz clic en el nombre visible de la tarea de migración que deseas terminar de crear.

      Se abrirá el asistente de creación de trabajos de migración.

    3. En la página Probar y crear trabajo de migración, haz clic en Probar trabajo. Database Migration Service ahora verifica 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.

      El trabajo de migración ya se creó y está listo para iniciarse.

    gcloud

    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 todas las tareas de migración en una región determinada y ver sus identificadores.

    • REGION por 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 muestra una entidad de operación 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 muestra o verificar el estado de la tarea de migración:

    Paso 3d. Inicia el trabajo de migración

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

    Para iniciar un trabajo de migración, sigue estos pasos:

    Console

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

      Ve a Trabajos de migración

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

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

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

    gcloud

    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 todas las tareas de migración en una región determinada y ver sus identificadores.

    • REGION por 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 muestra una entidad de operación 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 muestra o verificar el estado de la tarea de migración:


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

    Paso 3a. Prepara la instancia de destino

    Para configurar tu instancia de Cloud SQL de destino, sigue estos pasos:

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

      Según el método de conectividad que quieras usar para la migración, es posible que debas agregar una dirección IP pública o privada a tu instancia de destino. Para obtener más información sobre los métodos de conectividad, consulta Configura la conectividad.

    2. Otorga los permisos de Cloud Storage a la cuenta de servicio asociada con tu instancia de destino. Esta cuenta se crea después de que creas la instancia de destino.
      1. Busca la dirección de correo electrónico 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 Consulta la información de la instancia en la documentación de Cloud SQL.
      2. Agrega el rol de IAM Visualizador de objetos de almacenamiento (roles/storage.objectViewer) a la cuenta de servicio. Si deseas obtener más información para administrar el acceso con Identity and Access Management, consulta Administra el acceso a proyectos, carpetas y organizaciones en la documentación de IAM.
    3. Crea un perfil de conexión de destino para tu instancia de Cloud SQL.

      Console

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

      Continúa con la sección Crea y ejecuta el trabajo 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 un poco en completarse. Puedes omitir la marca --no-async para ejecutar comandos de forma asíncrona. Si es así, debes usar el comando gcloud database-migration operations describe para verificar si la operación se realizó de forma correcta.

      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 por el identificador de la instancia de destino.
      • CONNECTION_PROFILE_NAME (opcional) con un nombre legible por humanos 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]
      

    Paso 3b. Crea y ejecuta el trabajo de migración

    Console

    Define la configuración del trabajo de migración

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

      Ve a Trabajos de migración

    2. 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 trabajo de migración de borrador más tarde.

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

      2. ID del trabajo de migración

        Este es un identificador legible por máquinas para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante los comandos o la API de Google Cloud CLI 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 propaga automáticamente y no se puede cambiar.

      4. Selecciona la región en la que guardas 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 y 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, esta selección no se puede cambiar.

    4. Haz clic en Guardar y continuar.

    Especifica la información sobre el perfil de conexión de origen

    1. En la página Define una fuente, realiza los siguientes 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 Personaliza la configuración de volcado completo, haz clic en Editar configuración.
      3. En el panel Edit full dump configuration, en el menú desplegable Full dump method, selecciona Physical based.
      4. En Proporciona tu carpeta, haz clic en Explorar y, luego, selecciona la carpeta en la que subiste el archivo de volcado completo (paso 4 en la sección Prepara tus datos de origen).
      5. Haz clic en Guardar.
    2. Haz clic en Guardar y continuar.

    Selecciona la instancia de Cloud SQL de destino

    1. En el menú Type of destination instance, selecciona Existing instance.
    2. En la sección Seleccionar instancia de destino, selecciona tu instancia de destino.
    3. Revisa la información en la sección Detalles de la instancia y haz clic en Seleccionar y continuar.
    4. Para migrar a una base de datos de destino existente, Database Migration Service desciende el nivel de la instancia de destino y la convierte en una réplica. Para indicar que la baja de nivel se puede realizar de forma segura, en la ventana de confirmación, ingresa el identificador de la instancia de destino.
    5. 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 lista de IP permitidas, túnel SSH inverso e 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 de 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 red de intercambio de tráfico de VPC Debes seleccionar la red de VPC en la que se encuentra la base de datos fuente. 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, y, luego, prueba la validez de la configuración del trabajo de migración. Si se produce algún problema, puedes modificar la configuración del trabajo de migración. No todos los parámetros de configuración se pueden editar.

    1. En la página Probar y crear 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. Si necesitas información para solucionar problemas relacionados con una prueba de trabajo de migración que falla, consulta Cómo diagnosticar problemas de MySQL.

    2. Cuando finalice la prueba del trabajo de migración, haz clic en Crear y comenzar trabajo.

      La migración está en curso. Cuando inicias el trabajo de migración, Database Migration Service comienza el volcado completo y bloquea brevemente la base de datos de origen.

    gcloud

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

    1. Crea el trabajo de migración.
      Ejecuta el siguiente comando (haz clic en el vínculo para expandirlo):

      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 un poco en completarse. Puedes omitir la marca --no-async para ejecutar comandos de forma asíncrona. Si es así, debes usar el comando gcloud database-migration operations describe para verificar si la operación se realizó de forma correcta.

      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áquinas para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante los comandos o la API de Google Cloud CLI de Database Migration Service.
      • REGION por el identificador de región en el que deseas guardar la tarea de migración.
      • MIGRATION_JOB_NAME por 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áquinas 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 trabajo de migración. Se permiten dos valores: ONE_TIME o 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 de acceso a tus archivos de copia de seguridad físicos almacenados en una carpeta de un bucket de Cloud Storage. Usa el siguiente formato: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuración de redes

        Si usas conectividad de IP privada con el intercambio de tráfico de red de VPC o un túnel SSH inverso, agrega las siguientes marcas a tu comando:

        Conectividad de IP privada con el intercambio de tráfico entre redes de VPC
        Usa la marca --peer-vpc para especificar el nombre de la red con la que deseas establecer un vínculo.
        Túnel SSH inverso en una VM de Compute Engine
        Usa las siguientes marcas para proporcionar detalles de red para Compute Engine: --vm-ip, --vm-port y --vpc. También puedes usar la marca opcional --vm para especificar el nombre de la VM.

        Para ver más ejemplos de uso, consulta 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 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]
      
    2. Desciende de nivel la instancia de destino de Cloud SQL.
      Ejecuta el siguiente comando (haz clic en el vínculo para expandirlo):

      gcloud database-migration migration-jobs demote-destination

      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 todas las tareas de migración en una región determinada y ver sus identificadores.

      • REGION por 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 muestra una entidad de operación 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 muestra o verificar el estado de la tarea de migración:

    3. (Opcional) Realiza una prueba del trabajo de migración
      Puedes ejecutar una verificación para comprobar si Database Migration Service puede llegar a todas las entidades de origen y destino necesarias. Ejecuta el siguiente comando (haz clic en el vínculo para expandirlo):

      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 todas las tareas de migración en una región determinada y ver sus identificadores.

      • REGION por 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 muestra una entidad de operación 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 muestra o verificar el estado de la tarea de migración:

    4. Inicia el trabajo de migración.
      Ejecuta el siguiente comando (haz clic en el vínculo para expandirlo):

      gcloud database-migration migration-jobs start

      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 todas las tareas de migración en una región determinada y ver sus identificadores.

      • REGION por 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 muestra una entidad de operación 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 muestra o verificar el estado de la tarea de migración:

      Cuando inicias el trabajo de migración, tu instancia de Cloud SQL de destino se pone en modo de solo lectura, en el que Database Migration Service la administra por completo. Puedes promocionarlo a una instancia independiente cuando tus datos se hayan migrado por completo.

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

Paso 4: Detén la migración (opcional)

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

Paso 5: Finaliza la migración

Cuando el trabajo de migración se complete correctamente, realiza uno de los siguientes pasos para finalizarlo:

  • Para las migraciones únicas, el estado del trabajo de migración cambia a Completado. No se requieren más acciones. Puedes limpiar el trabajo de migración y los recursos del perfil de conexión.

  • Para migraciones continuas: Ascende el trabajo de migración para cambiar tu aplicación a la nueva instancia de base de datos.