[go: up one dir, main page]

Instrucciones y requisitos de configuración del lab
Protege tu cuenta y tu progreso. Usa siempre una ventana de navegador privada y las credenciales del lab para ejecutarlo.

Migra a Cloud SQL para PostgreSQL con Database Migration Service

Lab 1 hora 10 minutos universal_currency_alt 1 crédito show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

GSP918

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

Database Migration Service proporciona opciones para trabajos únicos y continuos para migrar datos a Cloud SQL. Ofrece varios métodos de conectividad, incluidas las listas de IPs permitidas, los túneles SSH inversos, el intercambio de tráfico entre VPC y las interfaces de Private Service Connect. Obtén más información sobre las opciones de conectividad en la guía de configuración de la conectividad.

En este lab, se explica cómo migrar una base de datos de PostgreSQL independiente, alojada en una máquina virtual, a Cloud SQL para PostgreSQL. La migración utiliza un trabajo continuo de Database Migration Service y emplea el intercambio de tráfico entre VPC para establecer la conectividad.

Para usar Database Migration Service en la migración de bases de datos, se requieren varios pasos preparatorios en la base de datos de origen:

  • Crea un usuario exclusivo: Este usuario debe tener derechos de replicación.
  • Agrega la extensión pglogical: Esta extensión debe instalarse en la base de datos de origen.
  • Otorga los derechos necesarios: Se deben otorgar derechos al usuario dedicado para los esquemas y las tablas dentro de la base de datos designada para la migración, así como para la base de datos de postgres.

Una vez que se complete la configuración, crearás y ejecutarás el trabajo de migración. El proceso de migración implica lo siguiente:

  • Copia inicial: Confirma la transferencia exitosa de la copia inicial de la base de datos a tu instancia de Cloud SQL.
  • Migración continua: Explora cómo los trabajos de migración en curso aplican actualizaciones de datos en tiempo real desde la instancia de origen a la de Cloud SQL.
  • Ascenso: Se concluye el trabajo ascendiendo la instancia de Cloud SQL para que funcione como una base de datos independiente, lista para operaciones de lectura y escritura.

Actividades

  • 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 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

  1. 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
  2. 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.
  3. 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.

  4. Haz clic en Siguiente.

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

  6. 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.
  7. 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. Ícono del menú de navegación y campo de búsqueda

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.

  2. 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.

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

Resultado:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} 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_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.

Verifica que la API de Database Migration esté habilitada

La API de Database Migration es necesaria para administrar el movimiento de los datos de la base de datos a través de Database Migration Service.

  1. En la barra de título de la consola de Google Cloud, ingresa API de Database Migration en el campo Buscar y, luego, haz clic en Database Migration API en los resultados.

El botón Administrar se muestra cuando la API está habilitada.

  1. Si ves el botón Habilitar, haz clic en él para habilitar 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 barra de título de la consola de Cloud, ingresa API de Service Networking en el campo Buscar y, luego, haz clic en Service Networking API en los resultados de la búsqueda.

El botón Administrar se muestra cuando la API está habilitada.

  1. Si ves el botón Habilitar, haz clic en él para habilitar la API.

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

Para preparar la base de datos de origen para la migración a través de Database Migration Service, actualiza la base de datos con la extensión pglogical y, luego, crea el usuario de migración de la base de datos.

Para actualizar la base de datos con la extensión pglogical, debes hacer lo siguiente:

  • Instala y configura la extensión pglogical.
  • Configura la base de datos de PostgreSQL independiente para permitir el acceso desde Cloud Shell y Cloud SQL.
  • Agrega la extensión de base de datos pglogical a las bases de datos postgres, orders y gmemegen_db en el servidor independiente.

Para crear el usuario de migración de la base de datos, crea un usuario migration_admin (con permisos de replicación) para la migración de la base de datos y, luego, otórgale los permisos necesarios para los esquemas y las relaciones.

Actualiza la base de datos con la extensión pglogical

En esta sección, 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 instancia de VM postgresql-vm, haz clic en SSH.

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

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

sudo apt install postgresql-14-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.
  1. Descarga y aplica algunas incorporaciones a los archivos de configuración de PostgreSQL (para habilitar la extensión pglogical) y reinicia el servicio de postgresql:
sudo su - postgres -c "gsutil cp gs://spls/gsp918/pg_hba_append.conf ." sudo su - postgres -c "gsutil cp gs://spls/gsp918/postgresql_append.conf ." sudo su - postgres -c "cat pg_hba_append.conf >> /etc/postgresql/14/main/pg_hba.conf" sudo su - postgres -c "cat postgresql_append.conf >> /etc/postgresql/14/main/postgresql.conf" sudo systemctl restart postgresql@14-main

Estos archivos en pg_hba.conf agregan 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

Estos comandos en postgresql.conf establecen la configuración mínima para que pglogical escuche en todas las direcciones:

#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

El siguiente resultado enumera las bases de datos postgresql predeterminadas, así como las bases de datos orders y gmemegen_db proporcionadas para este lab. No usarás la base de datos gmemegen_db en este 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 esta sección, crearás un usuario exclusivo para administrar la migración de la base de datos.

  • 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 esta sección, le asignarás los permisos necesarios al usuario 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. Otorga permisos al esquema y las tablas de pglogical para 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. Otorga permisos al esquema y las tablas de public para 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. Otorga permisos al esquema y las tablas de pglogical para 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. Otorga permisos al esquema y las tablas de public para 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án 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. 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

Resultado

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. En la lista de instancias, busca postgresql-vm.

  3. Copia la IP interna (p. ej., 10.128.0.2) para configurar un perfil de conexión en la siguiente sección.

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 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 Ver todos los productos. En la sección Bases de datos, haz clic en Migración de bases de datos > Perfiles de conexión.

  2. Haz clic en Crear perfil.

  3. Especifica los siguientes campos y deja los restantes con sus valores predeterminados:

Campo Valor
Rol de perfil Origen
Motor de base de datos PostgreSQL
Nombre del perfil de conexión postgres-vm
Región
Definir los parámetros de configuración de conexión Definir
Nombre de host o dirección IP la IP interna de la instancia PostgreSQL de origen que copiaste en la tarea anterior (p. ej., 10.128.0.2)
Puerto 5432
Nombre de usuario migration_admin
Contraseña DMS_1s_cool!
  1. Haz clic en Guardar.

  2. 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 e inicia un trabajo de migración continuo

Para crear un trabajo de migración nuevo, primero debes especificar la instancia de base de datos de origen con un perfil de conexión existente. A continuación, debes establecer la instancia de base de datos de destino y configurar la conectividad necesaria 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 el menú de navegación (Ícono del menú de navegación) de la consola, 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.

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

  3. Especifica los siguientes campos y deja los restantes con sus valores predeterminados:

Campo Valor
Nombre del trabajo de migración vm-to-cloudsql
Motor de base de datos de origen PostgreSQL
Motor de la base de datos de destino Cloud SQL para PostgreSQL
Región de destino
Tipo de trabajo de migración Continuo
  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.

Define la instancia de destino

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

  1. En Tipo de instancia de destino, selecciona Instancia existente.

  2. En Elegir instancia de destino, selecciona postgresql-cloudsql.

  3. Haz clic en Elegir y continuar.

  4. Si se te solicita confirmación, ingresa el nombre de la instancia postgresql-cloudsql.

  5. Haz clic en Confirmar y continuar.

Nota: Ignora la advertencia “Tu instancia de destino descenderá de nivel y se convertirá en una réplica de tu base de datos de origen”.

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.

Configura las bases de datos de migración

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

  1. En Bases de datos para migrar, selecciona Todas las bases de datos.

  2. Haz clic en Guardar y continuar.

Permite el acceso a la instancia postgresql-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, en el menú de navegación (Ícono del menú de navegación), haz clic en Red de VPC y, luego, haz clic con el botón derecho en Intercambio de tráfico entre redes de VPC y ábrelo en una pestaña nueva.

  2. Haz clic en la entrada servicenetworking-googleapis-com y, luego, en Vista Rutas eficaces en la parte inferior.

  3. En el menú desplegable de Red, selecciona predeterminada y, en Región, selecciona . Haz clic en Ver.

  4. En la columna Rango de IP de destino, guarda el rango de IP (p. ej., 10.107.176.0/24) junto a la ruta peering-route-xxxxx… para usarlo en un paso próximo.

  5. 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/14/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 guardaste en el paso anterior.

#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, restringir el acceso después de la migración cuando la base de datos migrada se convierta en la fuente de información.
  1. Presiona CTRL + O, Intro y CTRL + X para guardar el archivo y salir del editor nano.

  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@14-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.

  4. 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 Sin iniciar. 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.

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 el menú de navegación (Ícono del menú de navegación) de la consola de Google Cloud, haz clic en 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.

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 prepropaga en Cloud Shell:

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

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

  3. 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 Ver todos los productos. En la sección Bases de datos, 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.

  4. 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.

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

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

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!

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

Próximos pasos y más información

Obtén más información sobre la migración de datos, las bases de datos de Cloud SQL y Database Migration Service:

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: 10 de diciembre de 2025

Prueba más reciente del lab: 10 de diciembre de 2025

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

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el 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.