Migra a un clúster de destino existente

En esta página, se describe cómo migrar tus bases de datos a un clúster de AlloyDB para PostgreSQL existente creado directamente en AlloyDB para PostgreSQL.

Esta ruta es útil para situaciones en las que un equipo diferente administra el clúster de destino o si necesitas crear el clúster fuera de Database Migration Service para configurar marcas personalizadas específicas, rangos de IP asignados previamente o topologías de red de VPC complejas. Si tu migración tiene requisitos diferentes, considera seguir un flujo de migración distinto. Para obtener más información, consulta Comienza a migrar de PostgreSQL a AlloyDB para PostgreSQL.

En general, la migración continua sigue estos pasos:

  1. Configura la base de datos de origen para permitir que Database Migration Service replique tus datos.
  2. Configura la conectividad de red entre tu base de datos de origen y Google Cloud.
  3. Prepara y configura tu clúster de destino existente de AlloyDB para PostgreSQL.
  4. Crea el perfil de conexión de origen y el trabajo de migración continuo.
  5. Inicia y supervisa el trabajo de migración continuo.
  6. Ascender el trabajo de migración y mover la aplicación para que use las bases de datos nuevas

Costos

En este documento, usarás los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.

Antes de comenzar

  1. Verifica si esta ruta de migración puede admitir por completo tu situación. Consulta las siguientes páginas:
    • En la página Descripción general del caso de uso, Fuentes y destinos compatibles se enumeran todas las versiones de origen y destino compatibles.
    • Limitaciones conocidas: Describe los límites operativos, los tipos de datos admitidos y los límites de rendimiento. Database Migration Service para AlloyDB para PostgreSQL admite migraciones continuas.
  2. Considera en qué región deseas crear el clúster de destino. Database Migration Service es un producto completamente regional, lo que significa que todas las entidades relacionadas con tu migración (perfiles de conexión de origen, trabajos de migración y clústeres de destino) deben residir en una sola región de Google Cloud .
  3. En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .

    Ir al selector de proyectos

  4. Habilita las APIs de Database Migration Service, AlloyDB para PostgreSQL y API de Compute Engine.

    Habilita las APIs

Roles obligatorios

Para obtener los permisos que necesitas para realizar migraciones homogéneas de PostgreSQL a AlloyDB para PostgreSQL con Database Migration Service, pídele a tu administrador que te otorgue los roles de IAM necesarios en tu proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso en la documentación de Identity and Access Management.

Estos roles predefinidos contienen los permisos necesarios para realizar migraciones homogéneas de PostgreSQL con Database Migration Service. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para realizar migraciones homogéneas de PostgreSQL a un clúster existente de AlloyDB para PostgreSQL con Database Migration Service:

  • datamigration.*
  • alloydb.clusters.get
  • alloydb.clusters.list
  • alloydb.clusters.update
  • alloydb.instances.get
  • alloydb.instances.list
  • alloydb.instances.update
  • alloydb.operations.get
  • alloydb.users.list
  • alloydb.users.get
  • alloydb.users.create
  • alloydb.users.update

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Prepara tu base de datos de origen

Para preparar tu base de datos de origen para la migración, sigue estos pasos:

  1. Elige y configura el método de conectividad de red de origen.
  2. Configura tu instancia de base de datos de origen. En un nivel alto, esto incluye los siguientes pasos:
    1. Instala la extensión de PostgreSQL pglogical (versión 2.2.1 o posterior) en la base de datos de origen y en todas las bases de datos que se migrarán.
    2. Configura los parámetros de PostgreSQL: establece wal_level = logical y asegúrate de que los valores de max_replication_slots, max_wal_senders y max_worker_processes sean adecuados.
    3. Otorga privilegios de replicación a tu usuario de migración y configura pg_hba.conf para permitir conexiones entrantes desde el clúster de destino de AlloyDB para PostgreSQL.

    Para obtener instrucciones detalladas, consulta Configura tu base de datos de origen.

  3. Crea el perfil de conexión de origen.

Prepara y configura tu clúster de destino

Cuando migres a un clúster de AlloyDB para PostgreSQL existente (como un clúster aprovisionado previamente por otro equipo o administrado con Terraform), asegúrate de que el clúster cumpla con todos los requisitos previos de Database Migration Service antes de crear el trabajo de migración:

  1. Preparación del clúster y estado de los datos:
    • El clúster de destino debe estar en el estado RUNNABLE y debe tener una instancia principal activa.
    • El clúster debe residir en la misma región de Google Cloud que el trabajo de migración y los perfiles de conexión.
    • El clúster solo se puede asociar con un trabajo de migración activo a la vez.
    • El clúster de destino debe contener solo las bases de datos del sistema predeterminadas (postgres, template0, template1) sin tablas de usuario.
  2. Configuración de la marca de base de datos: Habilita la marca alloydb.enable_pglogical en tu clúster de AlloyDB para PostgreSQL de destino. Esta marca es obligatoria para la decodificación y la transferencia de la replicación lógica. Para obtener instrucciones sobre cómo actualizar las marcas, consulta Configura marcas de base de datos en la documentación de AlloyDB para PostgreSQL.
  3. Credenciales y permisos de usuario de la base de datos: Asegúrate de que la cuenta de usuario administrador postgres (o una cuenta de migración dedicada a la que se le otorgó el rol alloydbsuperuser) exista en tu clúster de destino. Database Migration Service se conecta a tu destino con derechos administrativos para administrar los suscriptores de replicación y sincronizar los esquemas.
  4. Requisitos de conectividad de red: Verifica que las herramientas de redes de tu clúster de destino estén configuradas correctamente para comunicarse con tu base de datos de origen según el método de conectividad que elijas:
    • Private Service Connect: Si tu clúster de destino tiene habilitado Private Service Connect, verifica que esté configurado con los adjuntos de red de Private Service Connect y el enrutamiento adecuados para llegar a tu red de origen. Para obtener más información, consulta Configura Private Service Connect en la documentación de AlloyDB para PostgreSQL.
    • Intercambio de tráfico entre redes de nube privada virtual (acceso privado a servicios o IP privada): El clúster de destino debe tener configurado el acceso privado a servicios en la red de nube privada virtual que intercambia tráfico con tu base de datos de origen o enruta a ella (como con Cloud VPN o Cloud Interconnect). Para obtener más información, consulta Configura el acceso privado a servicios en la documentación de AlloyDB para PostgreSQL.
    • Lista de IPs públicas permitidas: Si se puede acceder a tu base de datos de origen a través de la Internet pública, asegúrate de que el firewall de origen permita las conexiones entrantes desde la dirección IP saliente de la instancia principal de AlloyDB para PostgreSQL de destino.
    • Túnel SSH inverso o VM de proxy TCP: Si tu base de datos de origen reside fuera de Google Cloud sin intercambio de tráfico privado directo, asegúrate de que tu VM de Compute Engine intermedia (host de bastión o proxy TCP) se implemente en una subred a la que pueda acceder la red de nube privada virtual del clúster de destino. Para obtener más información, consulta Métodos de herramientas de redes.
  5. Aviso de descenso de nivel de la instancia principal y bloqueo de escritura:
    • Database Migration Service desciende de nivel la instancia principal de destino existente para que funcione como un suscriptor de replicación externa durante el proceso de migración. Debes confirmar este descenso de nivel cuando configures el trabajo de migración en la consola de Google Cloud ingresando el ID del clúster de destino.
    • Descender de nivel la instancia principal no coloca las bases de datos en modo de solo lectura estricto, pero debes evitar las operaciones de escritura en tablas o bases de datos que participan en la migración para evitar conflictos de replicación y desviación de datos. Para obtener más información, consulta Limitaciones de las migraciones a clústeres de destino existentes.

Crea y ejecuta el trabajo de migración

Para configurar y ejecutar la migración continua a un clúster de destino existente, sigue estos pasos:

  1. Opcional: Si deseas administrar tus propios certificados o claves de encriptación para el trabajo de migración, prepara las claves de encriptación necesarias.
  2. Crea y ejecuta el trabajo de migración para un clúster de destino existente.

    Puedes supervisar el progreso de la migración y el estado del clúster de destino con las funciones de observabilidad de Database Migration Service. Consulta Métricas de trabajos de migración.

Finaliza la migración

Cuando decidas cambiar el tráfico de tu aplicación al nuevo clúster de AlloyDB para PostgreSQL, finaliza la migración siguiendo estos pasos:

  1. Detén todas las operaciones de escritura en la base de datos de origen. Puedes configurar la base de datos de origen en modo de solo lectura para mantener la disponibilidad de las consultas y, al mismo tiempo, evitar que se realicen modificaciones nuevas.
  2. Ascender el trabajo de migración Cuando se asciende el trabajo de migración, se sincronizan todas las transacciones de CDC restantes, se finaliza la replicación desde la fuente y se asciende la instancia principal de AlloyDB para PostgreSQL a un clúster principal independiente y completamente operativo.
  3. Opcional: Verifica los datos de migración para comprobar la integridad de las filas y la integridad.

¿Qué sigue?

Obtén más información sobre las funciones y las capacidades de administración de AlloyDB para PostgreSQL. Consulta Descripción general de AlloyDB para PostgreSQL.