GSP1084

Descripción general
En Google Cloud, puedes usar Database Migration Service para migrar bases de datos de PostgreSQL a AlloyDB para PostgreSQL. Para ello, AlloyDB requiere el uso del acceso privado a servicios. Este acceso se implementa como una conexión de intercambio de tráfico de VPCs entre tu red de VPC y la red de VPC de Google Cloud subyacente en la que residen tus recursos de AlloyDB.
En este lab, migrarás una base de datos de PostgreSQL independiente (que se ejecuta en una máquina virtual) a AlloyDB para PostgreSQL usando un trabajo continuo de Database Migration Service con intercambio de tráfico entre VPCs como opción de conectividad.
Para migrar una base de datos con Database Migration Service, es necesario preparar la base de datos de origen. Esas tareas ya se completaron por ti en el entorno de origen, y la más importante es configurar el paquete pglogical en la instancia de origen.
Después de crear y ejecutar el trabajo de migración, debes confirmar que se migró correctamente una copia inicial de tu base de datos a tu instancia de AlloyDB para PostgreSQL. También explorarás cómo los trabajos de migración continuos le aplican actualizaciones de datos desde tu base de datos de origen a tu instancia de AlloyDB para PostgreSQL.
Actividades
En este lab, aprenderás a configurar un trabajo continuo de Database Migration Service para migrar bases de datos de una instancia de PostgreSQL a AlloyDB para PostgreSQL.
- Verificar los datos en la instancia de origen para la migración
- Crear un perfil para una conexión de origen a una instancia de PostgreSQL (p. ej., PostgreSQL independiente)
- Crear e iniciar un trabajo de migración continuo
- Confirmar la carga de datos en la instancia de AlloyDB para PostgreSQL
- Propagar una actualización en vivo a la instancia de AlloyDB
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
Haz clic en Activar Cloud Shell
en la parte superior de la consola de Google Cloud.
-
Haz clic para avanzar por las siguientes ventanas:
- Continúa en la ventana de información de Cloud Shell.
- Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
- Haz clic en Autorizar.
Resultado:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project
Resultado:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: Para obtener toda la documentación de gcloud
, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.
Tarea 1. Verificar los datos en la instancia de origen para la migración
Verifica los datos en la instancia de origen
En este paso, conéctate a la base de datos postgres en la instancia de VM pg14-source y verifica los datos.
-
En el menú de navegación (
), en Compute Engine, haz clic en Instancias de VM.
-
Para la instancia llamada pg14-source, en la columna Conectar, haz clic en SSH para abrir una ventana de terminal.
-
Usa el siguiente comando para iniciar el cliente de PostgreSQL (psql).
sudo -u postgres psql
- Se te presentará una solicitud de terminal psql similar a la que se muestra a continuación.
psql (14.5 (Debian 14.5-1.pgdg110+1))
Escribe "help" para obtener ayuda.
- Ingresa y ejecuta el siguiente comando de SQL para ver las tablas relacionadas con RR.HH. en la base de datos postgres.
\dt
- Ejecuta las siguientes consultas para determinar los recuentos de filas de cada tabla.
select count (*) as countries_row_count from countries;
select count (*) as departments_row_count from departments;
select count (*) as employees_row_count from employees;
select count (*) as jobs_row_count from jobs;
select count (*) as locations_row_count from locations;
select count (*) as regions_row_count from regions;
- Los recuentos de filas de la tabla de origen son los siguientes.
Nombre |
Filas |
países |
25 |
departamentos |
27 |
empleados |
107 |
trabajos |
19 |
ubicaciones |
23 |
regiones |
4 |
-
Escribe \q para salir del cliente psql.
-
Escribe exit para cerrar la ventana de terminal.
Tarea 2. Crear un perfil de conexión a Database Migration Service para una base de datos de PostgreSQL independiente
En esta tarea, crearás un perfil de conexión para la instancia de PostgreSQL de origen.
Obtén la información de conectividad y de implementación para la instancia de PostgreSQL de origen
En este paso, identificarás la dirección IP interna de la instancia de base de datos de origen que migrarás a AlloyDB.
-
En el menú de navegación (
), en Compute Engine, haz clic en Instancias de VM.
-
Ubica la línea de la instancia pg14-source.
-
Copia el valor de la IP interna (p.ej., 10.128.15.208).
Crea un nuevo perfil de conexión para la instancia de PostgreSQL de origen
Un perfil de conexión almacena información sobre la instancia de base de datos de origen (p. ej., PostgreSQL independiente), y Database Migration Service lo utiliza para migrar datos desde el origen hasta tu instancia de base de datos de AlloyDB para PostgreSQL de destino. Después de crear un perfil de conexión, se puede volver a utilizar en los trabajos de migración.
En este paso, crearás un nuevo perfil de conexión para la instancia de PostgreSQL de origen.
-
En la consola de Google Cloud, en el menú de navegación (
), haz clic en Ver todos los productos. En la sección Bases de datos, haz clic en Migración de bases de datos > Perfiles de conexión.
-
Haz clic en + Crear perfil.
-
En Rol de perfil, selecciona Origen.
-
En Motor de base de datos, selecciona PostgreSQL.
-
En Nombre del perfil de conexión, ingresa pg14-source.
-
En Región, selecciona .
-
En Definir los parámetros de configuración de conexión, haz clic en DEFINIR.
-
En Nombre de host o dirección IP, ingresa la IP interna de la instancia de PostgreSQL de origen que copiaste en la tarea anterior (p. ej., 10.128.15.208)
-
En Puerto, ingresa 5432.
-
En Nombre de usuario, ingresa postgres.
-
En Contraseña, ingresa Change3Me.
-
Deja los demás valores en su configuración predeterminada.
-
Haz clic en Guardar.
-
Haz clic en Crear.
Aparecerá un nuevo perfil de conexión con el nombre pg14-source en la lista de perfiles llamada Conexiones.
- Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un perfil de conexión para la instancia de PostgreSQL de origen
Tarea 3. Crear e iniciar un trabajo de migración continuo
Cuando creas un nuevo trabajo de migración, primero debes definir la instancia de base de datos de origen usando un perfil de conexión creado previamente. Luego, debes crear una nueva instancia de base de datos de destino y configurar la conectividad entre las instancias de origen y de destino.
En esta tarea, usarás la interfaz del trabajo de migración para crear un nuevo clúster de AlloyDB para PostgreSQL y lo establecerás como el destino para el trabajo de migración continuo de la instancia de PostgreSQL de origen.
Crea un nuevo trabajo de migración continuo
En este paso, crearás un nuevo trabajo de migración continuo.
-
En la consola de Google Cloud, en el menú de navegación (
), haz clic en Ver todos los productos. En la sección Bases de datos, haz clic en Migración de bases de datos > Trabajos de migración.
-
Haz clic en + Crear trabajos de migración.
-
En Nombre del trabajo de migración, ingresa postgres-to-alloydb.
-
En Motor de base de datos de origen, selecciona PostgreSQL.
-
En Motor de base de datos de destino, selecciona AlloyDB para PostgreSQL.
-
En Región de destino, selecciona .
-
Por el momento, Continua es el único Tipo de trabajo de migración disponible para migrar de PostgreSQL a AlloyDB.
-
Deja los valores predeterminados para el resto de la configuración.
-
Haz clic en Guardar y continuar.
Define la instancia de origen
En este paso, definirás la instancia de origen para la migración.
-
En Selecciona un perfil de conexión de origen, selecciona el perfil de conexión pg14-source que creaste hace unos pasos.
-
Haz clic en Guardar y continuar.
Crea la instancia de destino
En este paso, el asistente de DMS creará el clúster y la instancia de AlloyDB en tu nombre.
-
En Tipo de clúster de destino, la opción ya seleccionada es Clúster nuevo.
-
Haz clic en Continuar para Revisar la configuración del clúster.
-
En ID de clúster, ingresa alloydb-target-cluster.
-
En Contraseña, ingresa Change3Me.
-
En Red, selecciona peering-network.
-
Haz clic en Continuar.
-
En ID de instancia, ingresa alloydb-target-instance.
-
Selecciona 2 CPU virtuales, 16 GB como tu tipo de máquina.
-
Haz clic en Guardar y continuar.
-
En la ventana emergente, haz clic en Crear destino y continuar para continuar.
-
Mientras se crean tu instancia y clúster de AlloyDB, puedes elegir Intercambio de tráfico entre VPCs en la lista de opciones de Método de conectividad.
-
Espera hasta que se completen el clúster y la instancia. El vínculo Configurar y continuar estará disponible una vez que la base de datos esté disponible.
-
Haz clic en Configurar y continuar.
-
En la página Selecciona objetos que quieras migrar, en Bases de datos para migrar, selecciona Todas las bases de datos.
-
Haz clic en Guardar y continuar.
Prueba e inicia el trabajo de migración continuo
En este paso, probarás y, luego, iniciarás el trabajo de migración.
-
El asistente de Database Migration Service ahora estará en el paso Prueba y crea tu trabajo de migración.
-
Haz clic en Probar trabajo.
-
Si la prueba se realiza correctamente, haz clic en Crear y ejecutar trabajo.
Nota: Debes hacer clic en Crear y ejecutar trabajo para que se inicie el trabajo. El otro vínculo solo creará y guardará los detalles del trabajo.
Si se te solicita confirmar, haz clic en Crear y comenzar.
Revisa el estado del trabajo de migración continuo
En este paso, confirmarás que el trabajo de migración continuo se esté ejecutando.
-
En la consola de Google Cloud, en el menú de navegación (
), haz clic en Ver todos los productos. En la sección Bases de datos, haz clic en Migración de bases de datos > Trabajos de migración.
-
Haz clic en el trabajo de migración postgres-to-alloydb para ver la página de detalles.
-
Revisa el estado del trabajo de migración.
- Si no has iniciado el trabajo, el estado aparecerá como No se inició. Puedes optar por iniciar o borrar el trabajo.
- Después de que haya comenzado el trabajo, el estado aparecerá como Iniciando y, luego, cambiará a En ejecución | Volcado completo en curso para indicar que se está realizando el volcado inicial de la base de datos.
- El estado del trabajo cambiará a En ejecución | CDC en curso cuando se complete la carga inicial y DMS esté disponible para operaciones continuas.
Cuando el estado del trabajo cambie a En ejecución | CDC en curso, avanza al próximo paso.
Tarea 4. Confirmar la carga de datos en la instancia de AlloyDB para PostgreSQL
Verifica la instancia de AlloyDB para PostgreSQL
-
En la consola de Google Cloud, ve al menú de navegación (
), haz clic en Ver todos los productos. En la sección Bases de datos, haz clic en AlloyDB para PostgreSQL y, luego, en Clústeres para examinar los detalles del clúster.
-
El clúster se llama alloydb-target-cluster y la instancia se llama alloydb-target-cluster-primary.
-
Anota la dirección IP privada que se encuentra en la sección de instancias. Copia la dirección de IP privada en un archivo de texto para que puedas pegar el valor en un paso posterior.
-
En el menú de navegación (
), en Compute Engine, haz clic en Instancias de VM.
-
Para la instancia llamada alloydb-client, en la columna Conectar, haz clic en SSH para abrir una ventana de terminal.
-
Establece la siguiente variable de entorno y reemplaza ALLOYDB_ADDRESS por la dirección IP privada de la instancia de AlloyDB.
export ALLOYDB=ALLOYDB_ADDRESS
- Para almacenar la dirección IP privada de la instancia de AlloyDB en la VM cliente de AlloyDB, de modo que persista durante todo el lab, ejecuta este comando.
echo $ALLOYDB > alloydbip.txt
- Conéctate al cliente psql y ejecuta la siguiente consulta para verificar que las cinco tablas de origen ahora estén en la instancia de AlloyDB. Se te pedirá que proporciones la contraseña del usuario de postgres (Change3Me) que se especificó cuando se creó el clúster.
psql -h $ALLOYDB -U postgres
\dt
List of relations
Schema | Name | Type | Owner
--------+-------------+-------+---------------------
public | countries | table | alloydbexternalsync
public | departments | table | alloydbexternalsync
public | employees | table | alloydbexternalsync
public | jobs | table | alloydbexternalsync
public | locations | table | alloydbexternalsync
public | regions | table | alloydbexternalsync
(6 rows)
- Ejecuta las siguientes consultas para determinar los recuentos de filas de las tablas migradas. Los valores coincidirán con los resultados de la consulta en la instancia de origen.
select count (*) as countries_row_count from countries;
select count (*) as departments_row_count from departments;
select count (*) as employees_row_count from employees;
select count (*) as jobs_row_count from jobs;
select count (*) as locations_row_count from locations;
select count (*) as regions_row_count from regions;
- Los recuentos de filas de la tabla de destino son los siguientes.
Nombre |
Filas |
países |
25 |
departamentos |
27 |
empleados |
107 |
trabajos |
19 |
ubicaciones |
23 |
regiones |
4 |
- Para verificar los datos de la tabla regions, ejecuta la siguiente consulta:
select region_id, region_name from regions;
region_id | region_name
-----------+------------------------
1 | Europe
2 | Americas
3 | Asia
4 | Middle East and Africa
(4 rows)
.
Tarea 5. Propagar una actualización en vivo a la instancia de AlloyDB
-
Debido a que el trabajo de Database Migration Service está configurado para una actualización continua, cualquier actualización que realices en la instancia de origen se aplicará al destino de AlloyDB.
-
En el menú de navegación (
), en Compute Engine, haz clic en Instancias de VM.
-
Para la instancia llamada pg14-source, en la columna Conectar, haz clic en SSH para abrir una ventana de terminal.
-
Usa el siguiente comando para iniciar el cliente de PostgreSQL (psql).
sudo -u postgres psql
- Se te presentará el mensaje de la terminal psql. Ingresa y ejecuta el siguiente comando de SQL para agregar una fila de datos a la tabla regions.
insert into regions values (5, 'Oceania');
- Confirma que la fila se haya insertado de forma local.
select region_id, region_name from regions;
region_id | region_name
-----------+------------------------
1 | Europe
2 | Americas
3 | Asia
4 | Middle East and Africa
5 | Oceania
(5 rows)
Revisa los datos en la instancia de AlloyDB para PostgreSQL
- Regresa al shell de la terminal para alloydb-client. El cliente psql seguirá abierto. Ejecuta la siguiente consulta para verificar que la fila Oceania se haya agregado a la instancia de AlloyDB de destino.
select region_id, region_name from regions;
region_id | region_name
-----------+------------------------
1 | Europe
2 | Americas
3 | Asia
4 | Middle East and Africa
5 | Oceania
(5 rows)
- Haz clic en Revisar mi progreso para verificar el objetivo.
Probar la migración continua de datos
¡Felicitaciones!
Ahora migraste correctamente una base de datos de PostgreSQL independiente (que se ejecuta en una máquina virtual) a AlloyDB para PostgreSQL con un trabajo continuo de Database Migration Service.
Última actualización del manual: 14 de febrero de 2025
Prueba más reciente del lab: 14 de febrero de 2025
Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.