arrow_back

Migra a Cloud SQL para PostgreSQL con Database Migration Service

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Migra a Cloud SQL para PostgreSQL con Database Migration Service

Lab 1 hora 30 minutos universal_currency_alt 1 crédito show_chart Introductorio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP918

Labs de autoaprendizaje de Google Cloud

Descripción general

Database Migration Service proporciona opciones de trabajos continuos y únicos para migrar datos a Cloud SQL usando distintas alternativas de conectividad, como listas de IP permitidas, intercambio de tráfico entre VPC y túneles SSH inversos (consulta la documentación sobre las opciones de conectividad en https://cloud.google.com/database-migration/docs/postgresql/configure-connectivity).

En este lab, migrarás una base de datos de PostgreSQL independiente (que se ejecuta en una máquina virtual) a Cloud SQL para PostgreSQL usando un trabajo continuo de Database Migration Service con intercambio de tráfico entre VPC como opción de conectividad.

Para migrar una base de datos a través de Database Migration Service primero debes prepararla, lo que incluye crear un usuario exclusivo con derechos de replicación, agregar la extensión pglogical a la base de datos de origen y otorgarle a ese usuario los derechos al esquema y a las tablas de la base de datos que se migrará, y a la base de datos de postgres.

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 Cloud SQL para PostgreSQL. También explorarás cómo los trabajos de migración continuos le aplican actualizaciones de datos de tu base de datos de origen a tu instancia de Cloud SQL. Para concluir el trabajo de migración, debes ascender la instancia de Cloud SQL para que sea una base de datos independiente en la que se pueda leer y escribir datos.

Objetivos

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 Cloud SQL para PostgreSQL.

  • Preparar la base de datos de origen para la migración
  • Crear un perfil para una conexión de origen a una instancia de PostgreSQL (p. ej., PostgreSQL independiente)
  • Configurar la conectividad entre las instancias de base de datos de origen y de destino usando el intercambio de tráfico entre VPC
  • Configurar las reglas de acceso al firewall y la base de datos para permitir el acceso a la base de datos de origen para realizar la migración
  • Crear, ejecutar y verificar un trabajo de migración continuo usando Database Migration Service
  • Ascender la instancia de destino (Cloud SQL para PostgreSQL) para que sea una base de datos independiente en la que se pueda leer y escribir datos

Configuración

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, 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 de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto 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: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

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.

  1. Haz clic en Activar Cloud Shell Ícono de Activar Cloud Shell en la parte superior de la consola 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 YOUR_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.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

  2. Ahora, el resultado debería verse de la siguiente manera:

Resultado:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = <project_ID>

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: Para obtener toda la documentación de gcloud, consulta la guía con la descripción general de gcloud CLI en Google Cloud.

Verifica que la API de Database Migration esté habilitada

  1. En la consola de Google Cloud, ingresa Database Migration API (API de Database Migration) en la barra de búsqueda superior. Haz clic en el resultado de la API de Database Migration.

En esta página aparecerá información del estado o se te ofrecerá la opción de habilitar la API.

  1. Si es necesario, habilita la API.

Verifica que la API de Service Networking esté habilitada

La API de Service Networking es necesaria para configurar Cloud SQL y que admita el intercambio de tráfico entre VPC y las conexiones a través de una dirección IP privada.

  1. En la consola de Cloud, ingresa Service Networking API (API de Service Networking) en la barra de búsqueda superior. Haz clic en el resultado de la API de Service Networking.

En esta página aparecerá información del estado o se te ofrecerá la opción de habilitar la API.

  1. Si es necesario, habilita la API.

Tarea 1: Prepara la base de datos de origen para la migración

En esta tarea, agregarás funciones a la base de datos de origen que son necesarias para que Database Migration Service realice una migración. Debes realizar las siguientes acciones:

  • Instalar y configurar la extensión de base de datos pglogical
  • Configurar la base de datos de PostgreSQL independiente para permitir el acceso desde Cloud Shell y Cloud SQL
  • Agregar la extensión de base de datos pglogical a las bases de datos postgres, orders y gmemegen_db en el servidor independiente
  • Crear el usuario migration_admin (con permisos de replicación) para la migración de la base de datos y otorgarle los permisos solicitados para el esquema y las relaciones

Actualiza la base de datos con la extensión pglogical

En este paso, descargarás la extensión pglogical y la agregarás a las bases de datos orders y postgres en la instancia de VM postgresql-vm.

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Google Cloud, haz clic en Compute Engine > Instancias de VM.

  2. En la entrada de postgresql-vm, debajo de Conectar haz clic en SSH.

  3. Si se te solicita, haz clic en Autorizar.

  4. En la terminal de la nueva ventana del navegador, instala la extensión de base de datos pglogical:

sudo apt install postgresql-13-pglogical Nota: pglogical es un sistema de replicación lógica implementado por completo como extensión de PostgreSQL. Como está completamente integrado, no requiere activadores ni programas externos. Esta alternativa a la replicación física es un método altamente eficiente para replicar datos usando un modelo de publicación y suscripción para replicaciones selectivas. Obtén más información aquí: https://github.com/2ndQuadrant/pglogical
  1. Descarga y aplica algunas incorporaciones a los archivos de configuración de PostgreSQL (para habilitar la extensión) y reinicia el servicio de postgresql:
sudo su - postgres -c "gsutil cp gs://cloud-training/gsp918/pg_hba_append.conf ." sudo su - postgres -c "gsutil cp gs://cloud-training/gsp918/postgresql_append.conf ." sudo su - postgres -c "cat pg_hba_append.conf >> /etc/postgresql/13/main/pg_hba.conf" sudo su - postgres -c "cat postgresql_append.conf >> /etc/postgresql/13/main/postgresql.conf" sudo systemctl restart postgresql@13-main

Con estos comandos, se agregó a pg_hba.conf una regla para permitir el acceso a todos los hosts:

#GSP918 - allow access to all hosts host all all 0.0.0.0/0 md5

Con estos comandos también se estableció en postgresql.conf la configuración mínima de pglogical para que escuche en todas las direcciones IP:

#GSP918 - added configuration for pglogical database extension wal_level = logical # minimal, replica, or logical max_worker_processes = 10 # one per database needed on provider node # one per node needed on subscriber node max_replication_slots = 10 # one per node needed on provider node max_wal_senders = 10 # one per node needed on provider node shared_preload_libraries = 'pglogical' max_wal_size = 1GB min_wal_size = 80MB listen_addresses = '*' # what IP address(es) to listen on, '*' is all

Los fragmentos de código anteriores se agregaron a los archivos relevantes y se reinició el servicio de PostgreSQL.

  1. Inicia la herramienta psql:
sudo su - postgres psql
  1. Agrega la extensión de base de datos pglogical a las bases de datos postgres, orders y gmemegen_db.
\c postgres; CREATE EXTENSION pglogical; \c orders; CREATE EXTENSION pglogical; \c gmemegen_db; CREATE EXTENSION pglogical;
  1. Haz una lista de las bases de datos de PostgreSQL en el servidor:
\l

Aquí puedes ver, además de las bases de datos postgresql predeterminadas, las bases de datos orders y gmemegen_db que se proporcionaron para este lab. No usarás la base de datos gmemegen_db en este lab, pero se incluirá en la migración para usarla en otro lab.

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------+----------+----------+---------+---------+----------------------- gmemegen_db | postgres | UTF8 | C.UTF-8 | C.UTF-8 | orders | postgres | UTF8 | C.UTF-8 | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (5 rows)

Crea el usuario de migración de la base de datos

En este paso, crearás un usuario exclusivo para administrar la migración de la base de datos.

  1. En psql, ingresa los siguientes comandos para crear un usuario nuevo con el rol de replicación:
CREATE USER migration_admin PASSWORD 'DMS_1s_cool!'; ALTER DATABASE orders OWNER TO migration_admin; ALTER ROLE migration_admin WITH REPLICATION;

Asigna los permisos al usuario de migración

En este paso, le asignarás los permisos necesarios al usuario de migration_admin para habilitar Database Migration Service y, así, migrar tu base de datos.

  1. En psql, otórgale los permisos para el esquema y las tablas de pglogical a la base de datos postgres.
\c postgres; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. En psql, otórgale los permisos para el esquema y las tablas de pglogical a la base de datos orders.
\c orders; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. En psql, otórgale los permisos para el esquema y las tablas de public a la base de datos orders.
GRANT USAGE ON SCHEMA public TO migration_admin; GRANT ALL ON SCHEMA public TO migration_admin; GRANT SELECT ON public.distribution_centers TO migration_admin; GRANT SELECT ON public.inventory_items TO migration_admin; GRANT SELECT ON public.order_items TO migration_admin; GRANT SELECT ON public.products TO migration_admin; GRANT SELECT ON public.users TO migration_admin;
  1. En psql, otórgale los permisos para el esquema y las tablas de pglogical a la base de datos gmemegen_db.
\c gmemegen_db; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. En psql, otórgale los permisos para el esquema y las tablas de public a la base de datos gmemegen_db.
GRANT USAGE ON SCHEMA public TO migration_admin; GRANT ALL ON SCHEMA public TO migration_admin; GRANT SELECT ON public.meme TO migration_admin;

Ahora, las bases de datos de origen estás preparadas para la migración. Los permisos que le otorgaste al usuario migration_admin es todo lo que se necesita para que Database Migration Service migre las bases de datos postgres, orders y gmemegen_db.

Convierte al usuario migration_admin en propietario de las tablas en la base de datos orders para que puedas editar los datos de origen más adelante cuando hagas pruebas de la migración.

  1. En psql, ejecuta los siguientes comandos:
\c orders; \dt ALTER TABLE public.distribution_centers OWNER TO migration_admin; ALTER TABLE public.inventory_items OWNER TO migration_admin; ALTER TABLE public.order_items OWNER TO migration_admin; ALTER TABLE public.products OWNER TO migration_admin; ALTER TABLE public.users OWNER TO migration_admin; \dt List of relations Schema | Name | Type | Owner --------+----------------------+-------+------- public | distribution_centers | table | migration_admin public | inventory_items | table | migration_admin public | order_items | table | migration_admin public | products | table | migration_admin public | users | table | migration_admin (5 rows)
  1. Sal de psql y de la sesión del usuario de postgres
\q exit

Haz clic en Revisar mi progreso para verificar el objetivo. Preparar la instancia PostgreSQL de origen para la migración.

Tarea 2: Crea 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 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 Cloud SQL.

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Google Cloud, haz clic en Compute Engine > Instancias de VM.

  2. Ubica la línea que tenga la instancia llamada postgresql-vm.

  3. Copia el valor de la IP interna (p. ej., 10.128.0.2).

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., PosgreSQL independiente), y Database Migration Service lo utiliza para migrar datos desde el origen hasta tu instancia de base de datos de Cloud SQL 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 PostgreSQL de origen.

  1. En la consola de Google Cloud, en el menú de navegación (Ícono del menú de navegación), haz clic en Migración de bases de datos > Perfiles de conexión.

  2. Haz clic en + Crear perfil.

  3. En Motor de base de datos, selecciona PostgreSQL.

  4. En Nombre del perfil de conexión, ingresa postgres-vm.

  5. 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.0.2).

  6. En Puerto, ingresa 5432.

  7. En Nombre de usuario, ingresa migration_admin.

  8. En Contraseña, ingresa DMS_1s_cool! .

  9. En Región, selecciona .

  10. Deja los demás valores en su configuración predeterminada.

  11. Haz clic en Crear.

Aparecerá un nuevo perfil de conexión con el nombre postgres-vm 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 PostgreSQL de origen.

Tarea 3: Crea y, luego, inicia 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 una nueva instancia de base de datos de Cloud SQL para PostgreSQL y la establecerás como el destino para el trabajo de migración continuo de la instancia de origen de PostgreSQL.

Crea un nuevo trabajo de migración continuo

En este paso, crearás un nuevo trabajo de migración continuo.

  1. En la consola de Google Cloud, en el menú de navegación (Ícono del menú de navegación), haz clic en Migración de bases de datos > Trabajos de migración.

  2. Haz clic en + Crear trabajos de migración.

  3. En Nombre del trabajo de migración, ingresa vm-to-cloudsql.

  4. En Motor de base de datos de origen, selecciona PostgreSQL.

  5. En Región de destino, selecciona .

  6. En Motor de la base de datos de destino, selecciona Cloud SQL para PostgreSQL.

  7. En Tipo de trabajo de migración, selecciona Continuo.

Deja los valores predeterminados para el resto de la configuración.

  1. Haz clic en Guardar y continuar.

Define la instancia de origen

En este paso, definirás la instancia de origen para la migración.

  1. En Perfil de conexión fuente, selecciona postgres-vm.

Deja los valores predeterminados para el resto de la configuración.

  1. Haz clic en Guardar y continuar.

Después de seleccionar el perfil de conexión fuente, podrás ver los detalles de su configuración, como el nombre de host o la dirección IP de origen, el puerto, el nombre de usuario y el tipo de encriptación.

Crea la instancia de destino

En este paso, crearás la instancia de destino para la migración.

  1. En ID de la instancia de destino, ingresa postgresql-cloudsql.

  2. En Contraseña, ingresa supersecret!.

  3. En Elige una edición de Cloud SQL, selecciona Enterprise.

  4. En Versión de la base de datos, selecciona Cloud SQL para PostgreSQL 13.

  5. En la sección Elige la región y la zona, selecciona Zona única y selecciona como zona principal.

  6. En Conectividad de las instancias, selecciona IP privada e IP pública.

  7. Selecciona Usar un rango de IP asignado automáticamente.

Deja los valores predeterminados para el resto de la configuración.

  1. Haz clic en Asignar y conectar.

Deja seleccionada la opción predeterminada para usar un rango de IP asignado automáticamente.

Nota: Este paso puede tardar unos minutos. Si se te pide reintentar la solicitud, haz clic en el botón Volver a intentarlo para actualizar la API de Service Networking.

Cuando se complete este paso, se te notificará a través de un mensaje actualizado que la instancia usará la conexión del servicio administrado existente.

Tendrás que editar el archivo pg_hba.conf en la instancia de VM para permitir el acceso al rango de IP que se generó automáticamente en el punto 5 del paso anterior. Harás esto en un paso posterior, antes de probar la configuración de migración al final de esta tarea.

El mensaje actualizado indica que la instancia usará la conexión del servicio administrado existente.

Ingresa la información adicional necesaria para crear la instancia de destino en Cloud SQL.

  1. En Formas de máquinas, marca 1 CPU virtual, 3.75 GB.

  2. En Tipo de almacenamiento, selecciona SSD.

  3. En Capacidad de almacenamiento, selecciona 10 GB.

  4. Haz clic en Crear y continuar.

Si se te solicita confirmar, haz clic en Crear destino y continuar. Se indicará en un mensaje que se está creando tu instancia de base de datos de destino. Avanza al siguiente paso mientras esperas.

Define el método de conectividad

En este paso, definirás el método de conectividad para la migración.

El mensaje indica que el botón de Configurar y continuar se habilita cuando se crea la instancia de Cloud SQL de destino.

  1. En Método de conectividad, selecciona Intercambio de tráfico entre VPC.

  2. En VPC, selecciona predeterminada.

Database Migration Service configura el intercambio de tráfico entre VPC usando la información proporcionada por la red de VPC (la red predeterminada en este ejemplo).

Cuando veas un mensaje actualizado que indica que se creó la instancia de destino, avanza al siguiente paso.

El mensaje actualizado te indica que se creó la instancia de Cloud SQL de destino.

  1. Haz clic en Configurar y continuar.

Permite el acceso a la instancia posgresql-vm desde un rango de IP asignado automáticamente

En este paso, editarás el archivo de configuración de PostgreSQL pg_hba.conf para permitir que Database Migration Service acceda a la base de datos de PostgreSQL independiente.

  1. Obtén el rango de direcciones IP asignadas. En la consola de Google Cloud, en el menú de navegación (Ícono del menú de navegación), haz clic con el botón derecho en red de VPC > Intercambio de tráfico entre redes de VPC y ábrelo en una nueva pestaña.

  2. Haz clic en la entrada servicenetworking-googleapis-com.

  3. En la pestaña Rutas importadas, selecciona y copia el Rango de IP de destino (p. ej., 10.107.176.0/24).

  4. En la sesión de terminal en la instancia de VM, edita el archivo pg_hba.conf de la siguiente manera:

sudo nano /etc/postgresql/13/main/pg_hba.conf
  1. En la última línea del archivo:
#GSP918 - allow access to all hosts host all all 0.0.0.0/0 md5

reemplaza el rango “todas las direcciones IP” (0.0.0.0/0) por el que copiaste en el punto 3 más arriba.

#GSP918 - allow access to all hosts host all all 10.107.176.0/24 md5 Nota: El paso anterior no es obligatorio para realizar el trabajo de migración, pero se recomienda proteger más la base de datos de origen durante el proceso de migración y, además, esto restringe el acceso después de la migración, cuando la base de datos migrada se convierte en la fuente de información.
  1. Guarda y sal del editor nano con Ctrl-O, Intro y, luego, Ctrl-X.

  2. Reinicia el servicio de PostgreSQL para que se apliquen los cambios. En la sesión de terminal de la instancia de VM, ingresa lo siguiente:

sudo systemctl start postgresql@13-main

Prueba y, luego, inicia el trabajo de migración continuo

En este paso, probarás y, luego, iniciarás el trabajo de migración.

  1. En la pestaña Database Migration Service que abriste anteriormente, revisa los detalles del trabajo de migración.

  2. Haz clic en Probar trabajo.

  3. Si la prueba se realiza correctamente, haz clic en Crear y ejecutar trabajo.

No olvides hacer clic en el botón Crear y ejecutar trabajo para que se inicie de manera correcta.

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.

  1. En la consola de Google Cloud, en el menú de navegación (Ícono del menú de navegación), haz clic en Migración de bases de datos > Trabajos de migración.

  2. Haz clic en el trabajo de migración vm-to-cloudsql para ver la página de detalles.

  3. 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 comience 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.
    • Cuando se complete, el estado cambiará a En ejecución | CDC en curso para indicar que la migración continua está activa.

Cuando el estado del trabajo cambie a En ejecución | CDC en curso, avanza al próximo paso.

El trabajo de migración con el nombre vm-to-cloudsql tiene el estado En ejecución | CDC en curso.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear, iniciar y revisar un trabajo de migración continuo.

Tarea 4: Confirma los datos en Cloud SQL para PostgreSQL

Verifica las bases de datos de PostgreSQL en Cloud SQL

  1. En la consola de Google Cloud, en el menú de navegación (Ícono del menú de navegación), haz clic en Bases de datos > SQL.

  2. Expande el ID de instancia que tiene el nombre postgresql-cloudsql-master.

  3. Haz clic en la instancia postgresql-cloudsql (réplica de lectura de PostgreSQL).

  4. En el menú Instancia de réplica, haz clic en Bases de datos.

Ten en cuenta que se migraron a Cloud SQL las bases de datos llamadas postgres, orders y gmemegen_db.

Las bases de datos migradas a Cloud SQL.

Conéctate a la instancia de PostgreSQL

  1. En el menú Instancia de réplica, haz clic en Descripción general.

  2. Desplázate hasta la sección Conectarse a esta instancia y haz clic en Abrir Cloud Shell.

El comando para conectarte a PostgreSQL se prepropagará en Cloud Shell:

gcloud sql connect postgresql-cloudsql --user=postgres --quiet
  1. Ejecuta el comando prepropagado.

Si se te solicita, haz clic en Autorizar para la API.

  1. Cuando se te solicite una contraseña, ingresa la que ya estableciste:
supersecret!

Acabas de activar la consola interactiva de PostgreSQL para la instancia de destino.

Revisa los datos en la instancia de Cloud SQL para PostgreSQL

  1. Para seleccionar la base de datos en la consola interactiva de PostgreSQL, ejecuta el siguiente comando:
\c orders;
  1. Cuando se te solicite una contraseña, ingresa la siguiente:
supersecret!
  1. Consulta la tabla distribution_centers:
select * from distribution_centers;

(Resultado)

longitude | latitude | name | id -----------+----------+---------------------------------------------+---- -89.9711 | 35.1174 | Memphis TN | 1 -87.6847 | 41.8369 | Chicago IL | 2 -95.3698 | 29.7604 | Houston TX | 3 -118.25 | 34.05 | Los Angeles CA | 4 -90.0667 | 29.95 | New Orleans LA | 5 -73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6 -75.1667 | 39.95 | Philadelphia PA | 7 -88.0431 | 30.6944 | Mobile AL | 8 -79.9333 | 32.7833 | Charleston SC | 9 -81.1167 | 32.0167 | Savannah GA | 10
  1. Sal de la consola interactiva de PostgreSQL escribiendo lo siguiente:
\q

Actualiza los datos de origen independientes para probar la migración continua

  1. En Cloud Shell, escribe los siguientes comandos para conectarte a la instancia de origen de PostgreSQL:
export VM_NAME=postgresql-vm export PROJECT_ID=$(gcloud config list --format 'value(core.project)') export POSTGRESQL_IP=$(gcloud compute instances describe ${VM_NAME} \ --zone={{{ project_0.default_zone|(zone) }}} --format="value(networkInterfaces[0].accessConfigs[0].natIP)") echo $POSTGRESQL_IP psql -h $POSTGRESQL_IP -p 5432 -d orders -U migration_admin Nota: Los comandos anteriores son un enfoque alternativo para acceder a la base de datos independiente en la instancia de VM.
  1. Cuando se te solicite una contraseña, ingresa la siguiente:
DMS_1s_cool!
  1. En psql, ingresa los siguientes comandos:
\c orders; insert into distribution_centers values(-80.1918,25.7617,'Miami FL',11);
  1. Cierra la sesión interactiva de psql:
\q

Conéctate a la base de datos de PostgreSQL de Cloud SQL para verificar si se migraron los datos actualizados

  1. En Cloud Shell, escribe los siguientes comandos para conectarte a la instancia de PostgreSQL de Cloud SQL de destino:
gcloud sql connect postgresql-cloudsql --user=postgres --quiet
  1. Cuando se te solicite una contraseña, ingresa la contraseña de la instancia de Cloud SQL que ya estableciste:
supersecret!

Acabas de activar la consola interactiva de PostgreSQL para la instancia de destino.

Revisa los datos de la base de datos de Cloud SQL para PostgreSQL

  1. En Cloud Shell, selecciona la base de datos activa en la consola interactiva de PostgreSQL:
\c orders;
  1. Cuando se te solicite una contraseña, ingresa la que ya estableciste:
supersecret!
  1. Consulta la tabla distribution_centers:
select * from distribution_centers;

(Resultado)

longitude | latitude | name | id -----------+----------+---------------------------------------------+---- -89.9711 | 35.1174 | Memphis TN | 1 -87.6847 | 41.8369 | Chicago IL | 2 -95.3698 | 29.7604 | Houston TX | 3 -118.25 | 34.05 | Los Angeles CA | 4 -90.0667 | 29.95 | New Orleans LA | 5 -73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6 -75.1667 | 39.95 | Philadelphia PA | 7 -88.0431 | 30.6944 | Mobile AL | 8 -79.9333 | 32.7833 | Charleston SC | 9 -81.1167 | 32.0167 | Savannah GA | 10 -80.1918 | 25.7617 | Miami FL | 11

Ten en cuenta que la nueva fila agregada a la base de datos independiente orders ahora está presente en la base de datos migrada.

  1. Sal de la consola interactiva de PostgreSQL:
\q

Haz clic en Revisar mi progreso para verificar el objetivo. Probar la migración continua de datos del origen al destino.

Tarea 5: Asciende Cloud SQL para que sea una instancia independiente en la que se pueda leer y escribir datos

  1. En la consola de Google Cloud, en el menú de navegación (Ícono del menú de navegación), haz clic en Migración de bases de datos > Trabajos de migración.

  2. Haz clic en el nombre de trabajo de migración vm-to-cloudsql para ver la página de detalles.

  3. Haz clic en Ascender.

Si se te solicita confirmar la acción, haz clic en Ascender.

Cuando se complete el ascenso, el estado del trabajo se actualizará a Completado.

El trabajo de migración con el nombre vm-to-cloudsql tiene el estado Completado.

  1. En la consola de Google Cloud, en el menú de navegación (Ícono del menú de navegación), haz clic en Bases de datos > SQL.

Ten en cuenta que postgresql-cloudsql ahora es una instancia independiente en la que se puede leer y escribir datos.

La instancia con el nombre postgresql-cloudsql está etiquetada como la instancia principal.

Haz clic en Revisar mi progreso para verificar el objetivo. Ascender la base de datos de Cloud SQL para PostgreSQL para que sea una instancia independiente de lectura y escritura de datos.

¡Felicitaciones!

Aprendiste a configurar un trabajo de Database Migration Service continuo para migrar bases de datos de una instancia de PostgreSQL a Cloud SQL para PostgreSQL.

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Última actualización del manual: 9 de febrero de 2024

Prueba más reciente del lab: 6 de febrero de 2024

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