Cómo ascender un trabajo de migración

En el caso de las migraciones continuas, puedes iniciar el proceso de ascenso cuando estés listo para transferir tus aplicaciones a las bases de datos de destino. Cuando asciendes el trabajo de migración, se desconecta la instancia de destino de la de origen y se transforma en una instancia de base de datos principal independiente para que puedas reanudar las copias de seguridad automatizadas, configurar la recuperación de un momento determinado (PITR) y crear réplicas de lectura.

Puedes ascender un trabajo de migración o las bases de datos seleccionadas de un trabajo de migración.

  1. Detén todas las operaciones de escritura, las secuencias de comandos en ejecución y las conexiones de cliente a la base de datos de origen. El período de tiempo de inactividad comienza aquí.
  2. Espera hasta que la métrica de retraso de replicación sea cero o cercana a cero. Esto significa que el trabajo de migración procesó todos los cambios pendientes.

    Puedes ascender una migración incluso si el retraso de la replicación no es cero. Esto puede reducir el tiempo de inactividad de la base de datos, pero puede afectar la exactitud de los datos en el destino.

  3. Realiza la acción de ascenso:

    Console

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

      Ir a Trabajos de migración

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

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

    3. Realiza una de las siguientes acciones de promoción:
      • Si quieres ascender todas las bases de datos incluidas en la migración, en la barra de herramientas del trabajo de migración, haz clic en Ascender.

        Aparecerá el diálogo para ascender el trabajo de migración.

      • Si solo quieres ascender bases de datos específicas, selecciónalas con las casillas de verificación junto a los nombres de las bases de datos y, en la pestaña Bases de datos, haz clic en Ascender.

        Aparecerá el diálogo con la cantidad de bases de datos que deseas ascender.

    4. En el cuadro de diálogo, asegúrate de que no se muestren errores y, luego, haz clic en Ascender.

    gcloud

    Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

    • MIGRATION_JOB_ID por el identificador de tu trabajo de migración.

      Si no conoces el identificador, puedes usar el comando gcloud database-migration migration-jobs list para enumerar todos los trabajos de migración en una región determinada y ver sus identificadores.

    • REGION 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 \
    promote MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    promote MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    promote MIGRATION_JOB_ID ^
      --region=REGION

    Resultado

    La acción se realiza de forma asíncrona. Por lo tanto, este comando devuelve una entidad Operation que representa una operación de larga duración:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    

    Para ver si la operación se realizó correctamente, puedes consultar el objeto de operación que se muestra o verificar el estado del trabajo de migración:

  4. Se asciende la instancia de destino o las bases de datos que seleccionaste. La instancia de destino se desconecta de la fuente, se convierte en una instancia principal independiente y está lista para recibir todo el tráfico de la aplicación. El estado del trabajo de migración cambia a Completed.
  5. (Opcional) Para las fuentes que usan la extensión pg_cron: Database Migration Service no migra la extensión pg_cron (ni ninguna configuración de cron asociada con la extensión), pero es compatible con los destinos de Cloud SQL para PostgreSQL. Si usas la extensión pg_cron en tus bases de datos de origen, puedes volver a instalarla en tu instancia de destino.
  6. Ahora puedes conectar tu aplicación a la instancia de Cloud SQL y borrar el trabajo de migración.