Descripción general
Database Migration Service usa trabajos de migración para migrar datos de tu instancia de base de datos de origen a la instancia de base de datos de destino. La creación de un trabajo de migración para una instancia de destino existente incluye lo siguiente:
- Define la configuración del trabajo de migración
- Selecciona el perfil de conexión de la base de datos de origen.
- Selecciona la instancia de base de datos de destino existente
- Desciende el nivel de la instancia existente para convertirla en una réplica de lectura
- Configura la conectividad entre las instancias de base de datos de origen y de destino
- Probar el trabajo de migración para asegurarte de que la información de conexión que proporcionaste para el trabajo sea válida
Existen ciertas limitaciones que debes considerar cuando quieras migrar a una instancia de destino creada fuera de Database Migration Service. Para obtener más información, consulta Limitaciones conocidas.
Crea un trabajo de migración con la consola de Google Cloud
Define la configuración del trabajo de migración
Ve a Trabajos de migración en la consola de Google Cloud .
Haz clic en Crear trabajo de migración en la parte superior de la página.
Proporciona un nombre para el trabajo de migración. Elige un nombre fácil de recordar que te ayude a identificar el trabajo de migración. No incluyas información sensible o de identificación personal en el nombre del trabajo.
Conserva el ID del trabajo de migración generado automáticamente.
Selecciona el motor de base de datos de origen.
Selecciona AlloyDB para PostgreSQL como el motor de destino.
Selecciona la región de destino para tu migración. Esta región debe ser la misma que la de la base de datos de destino. Después de elegir la región de destino, esta selección no se puede cambiar.
Elige Continuo (instantánea + cambios en curso) como el tipo de trabajo de migración.
En la sección Antes de continuar, revisa los requisitos previos, haz clic en Abrir para ver las instrucciones generadas automáticamente que pueden ayudarte a preparar tu base de datos de origen para la migración. Es mejor completar estos requisitos previos en este paso, pero puedes completarlos en cualquier momento antes de probar o iniciar el trabajo de migración. Para obtener más información, consulta Cómo configurar tu fuente.
Haz clic en Guardar y continuar.
Especifica la información sobre el perfil de conexión de origen
-
Si creaste un perfil de conexión, selecciónalo en la lista de perfiles de conexión existentes.
Si no creaste un perfil de conexión, haz clic en Crear un perfil de conexión en la parte inferior de la lista desplegable y, luego, realiza los mismos pasos que se indican en Cómo crear un perfil de conexión fuente.
Se recomienda crear un perfil de conexión designado para tu migración de AlloyDB.
- En la sección Personalizar la configuración del volcado de datos, haz clic en Mostrar la configuración del volcado de datos.
La velocidad del paralelismo de volcado de datos se relaciona con la cantidad de carga en la base de datos de origen. Puedes usar la siguiente configuración:
- Óptimo (recomendado): Rendimiento equilibrado con una carga óptima en la base de datos de origen.
- Máximo: Proporciona las velocidades de volcado más altas, pero podría aumentar la carga en la base de datos de origen.
- Mínimo: Toma la menor cantidad de recursos de procesamiento en la base de datos de origen, pero podría tener una capacidad de procesamiento de volcado más lenta.
Si deseas usar la configuración ajustada de paralelismo de volcado de datos, asegúrate de aumentar los parámetros
max_replication_slots
,max_wal_senders
ymax_worker_processes
en tu base de datos de origen. Para verificar tu configuración, puedes ejecutar la prueba del trabajo de migración al final de la creación del trabajo de migración. - Haz clic en Guardar y continuar.
Selecciona la instancia de destino
1. En el menú Tipo de clúster de destino, selecciona Clúster existente.En la sección Selecciona el clúster de destino, selecciona tu clúster de destino.
Revisa la información sobre tu clúster y haz clic en Seleccionar y continuar.
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 degradación se puede realizar de forma segura, ingresa el identificador de la instancia de destino en la ventana de confirmación.
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 el clúster de AlloyDB recién creado se conectará a la base de datos fuente. Los métodos de conectividad de red actuales incluyen la lista de IP permitidas, el intercambio de tráfico entre VPC, el túnel SSH inverso y el proxy TCP a través de una VM alojada en la nube.
- Si seleccionas el método de conectividad de red de lista de IP permitidas, debes especificar la dirección IP saliente de tu instancia de destino. Copia las direcciones IP salientes de la instancia principal y secundaria, y utilízalas para configurar el firewall de red del servidor de base de datos de origen y en el archivo
pg_hba.conf
, de modo que la fuente pueda aceptar conexiones desde estas direcciones. Si seleccionas el método de conectividad de red de túnel SSH inverso, selecciona 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 a la base de datos de origen y a Google Cloud.
- Si seleccionas el método de conectividad de red de intercambio de tráfico entre VPC, selecciona la red de VPC en la que reside la base de datos fuente. La instancia de Cloud SQL se actualizará para conectarse a esta red.
Si seleccionas el proxy TCP mediante el método de conectividad de VM alojado en la nube, ingresa los detalles necesarios para la nueva instancia de VM de Compute Engine que alojará el proxy TCP.
Después de especificar los detalles, la consola de Google Cloud proporcionará una secuencia de comandos que realizará los pasos para configurar el proxy entre las bases de datos de origen y destino. Deberás ejecutar la secuencia de comandos en una máquina con una Google Cloud CLI actualizada.
Después de ejecutar la secuencia de comandos, se mostrará la IP privada de la VM recién creada. Ingresa la IP y haz clic en Configurar y continuar.
- Obtén más información para configurar la conectividad.
Después de seleccionar el método de conectividad de red y proporcionar información adicional para el método, haz clic en CONFIGURAR Y CONTINUAR.
Prueba y crea 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.
Haz clic en PROBAR TRABAJO para verificar lo siguiente:
- La base de datos de origen se configuró correctamente según los requisitos previos.
- Las instancias de origen y destino pueden comunicarse entre sí.
- Se realizan las actualizaciones necesarias de las direcciones IP privadas en el destino.
- El trabajo de migración es válido y las versiones de origen y destino son compatibles.
Si la prueba falla, puedes abordar el problema en la parte adecuada del flujo y volver a realizar la prueba.
El trabajo de migración se puede crear incluso si la prueba falla, pero después de que se inicia el trabajo, es posible que falle en algún momento durante la ejecución.
Haz clic en CREAR Y COMENZAR TRABAJO para crear el trabajo de migración y comenzarlo de inmediato, o haz clic en CREAR TRABAJO para crear el trabajo de migración sin iniciarlo de inmediato.
Si el trabajo no se inicia en el momento en que se crea, se puede iniciar desde la página Trabajos de migración haciendo clic en INICIAR.
Independientemente de cuándo comience el trabajo de migración, a tu organización se le cobrará por la existencia de la instancia de destino.
Cuando inicias el trabajo de migración, Database Migration Service comienza el volcado completo y bloquea brevemente la base de datos de origen. Si tu fuente se encuentra en Amazon RDS o Amazon Aurora, Database Migration Service también requiere un tiempo de inactividad breve (aproximadamente inferior a un minuto) de las operaciones de escritura al inicio de la migración. Para obtener más información, consulta Consideraciones sobre el paralelismo de volcado de datos.
El trabajo de migración se agrega a la lista de trabajos de migración y se puede ver directamente.
Continúa con Revisar el trabajo de migración.
Crea un trabajo de migración con Google Cloud CLI
Cuando migras a una instancia existente con Google Cloud CLI, debes crear manualmente el perfil de conexión de la instancia de destino. Esto no es obligatorio cuando usas la consola de Google Cloud , ya que Database Migration Service se encarga de crear y quitar el perfil de conexión de destino por ti.
Antes de comenzar
Antes de usar gcloud CLI para crear un trabajo de migración a una instancia de base de datos de destino existente, asegúrate de lo siguiente:
- Crea la instancia de base de datos de destino.
- Prepara la instancia de la base de datos de origen. Consulta:
- Configura tu fuente
- Crea el perfil de conexión de origen (se requiere el identificador del perfil de conexión de origen para crear un trabajo de migración).
- Configura la conectividad
Crea un perfil de conexión de destino
Ejecuta el comando gcloud database-migration connection-profiles create
para crear el perfil de conexión de destino de tu instancia de destino existente:
En este ejemplo, se usa la marca opcional --no-async
para que todas las operaciones
se realicen de forma síncrona. Esto significa que algunos comandos pueden tardar un 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 postgresql CONNECTION_PROFILE_ID \ --no-async \ --alloydb-cluster=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create postgresql CONNECTION_PROFILE_ID ` --no-async ` --alloydb-cluster=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create postgresql CONNECTION_PROFILE_ID ^ --no-async ^ --alloydb-cluster=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Deberías recibir una respuesta similar a la que figura a continuación:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Crea el trabajo de migración
En este ejemplo, se usa la marca opcional --no-async
para que todas las operaciones
se realicen de forma síncrona. Esto significa que algunos comandos pueden tardar un 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.
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=CONTINUOUS \
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=CONTINUOUS `
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=CONTINUOUS ^
Deberías recibir una respuesta similar a la que figura a continuación:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Cómo degradar la base de datos de destino
Database Migration Service requiere que la instancia de base de datos de destino funcione como una réplica de lectura durante el tiempo de la migración. Antes de iniciar el trabajo de migración, ejecuta el comando gcloud database-migration migration-jobs demote-destination
para degradar la instancia de la base de datos de destino.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar 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:
- Usa el comando
gcloud database-migration migration-jobs describe
para ver el estado del trabajo de migración. - Usa
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Administrar trabajos de migración
En este punto, tu trabajo de migración está configurado y conectado a la instancia de base de datos de destino. Puedes administrarlo con las operaciones verify
, start
, stop
, restart
y resume
.
Verifica el trabajo de migración
Te recomendamos que primero verifiques tu trabajo de migración. Para ello, ejecuta el comando
gcloud database-migration migration-jobs verify
.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar 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:
- Usa el comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID para ver el estado de la tarea de migración. - Usa el comando
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Inicia el trabajo de migración
Ejecuta el comando
gcloud database-migration migration-jobs start
para iniciar el trabajo de migración.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar 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:
- Usa el comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID para ver el estado de la tarea de migración. - Usa el comando
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Promociona el trabajo de migración
Una vez que la migración llegue a la fase de captura de datos modificados (CDC), podrás ascender la instancia de la base de datos de destino de una réplica de lectura a una instancia independiente.
Ejecuta el comando gcloud database-migration migration-jobs promote
:
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar 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 \ 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 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
- Usa el comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID para ver el estado de la tarea de migración. - Usa el comando
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.