Migra una base de datos a Cloud SQL para PostgreSQL
En esta guía de inicio rápido, se muestra cómo usar Database Migration Service para migrar datos a Cloud SQL para PostgreSQL. Los recursos creados en esta guía de inicio rápido suelen costar menos de un dólar, bajo la suposición de que completas los pasos, incluida la limpieza, de manera correcta.
Antes de comenzar
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Habilita la API de Database Migration Service.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles. - Asegúrate de tener asignada el rol de administrador de Database Migration a tu cuenta de usuario.
Requisitos
Consideraciones de red
Database Migration Service ofrece varias opciones de bases de datos de origen y métodos de conectividad. Las diferentes fuentes funcionan mejor con algunos métodos de conectividad que con otros. En esta guía de inicio rápido, suponemos que usas una base de datos de PostgreSQL independiente en un entorno en el que puedes configurar tu red para agregar una regla de firewall entrante. La base de datos de origen puede estar en un entorno local o en un proveedor de servicios en la nube. Debido a que no podemos saber los detalles de tu entorno, no podemos proporcionar pasos detallados cuando se trata de tu configuración de red.
En esta guía de inicio rápido, seleccionarás PostgreSQL para el Motor de base de datos de origen y la Lista de IP permitidas como el método de red.
Configuración de la base de datos de origen
Antes de comenzar el proceso de migración, asegúrate de configurar la base de datos de origen:
- Instala el paquete
pglogical. - Configura los parámetros de replicación y registro (como
max_replication_slotsowal_level).
Para obtener más información sobre la configuración de fuentes de PostgreSQL autoadministradas, consulta Configura fuentes de PostgreSQL autoadministradas.
Crear un perfil de conexión fuente
Cuando creas un perfil de conexión, creas un registro que contiene información sobre la base de datos de origen. Database Migration Service usa la información del perfil de conexión para migrar datos de tu base de datos de origen a la instancia de base de datos de Cloud SQL de destino.Ve a la página Perfiles de conexión de Database Migration Service en la Google Cloud consola.
Ir a la página Perfiles de conexión de Database Migration Service
Haz clic en CREAR PERFIL.
En la página Crear perfiles de conexión, en la lista Rol de perfil, selecciona Origen.
En la lista Motor de base de datos, selecciona uno de los siguientes tipos de clasificación de tu base de datos de origen:
- Una instancia de PostgreSQL independiente (PostgreSQL)
- Una instancia existente de Cloud SQL para PostgreSQL (Cloud SQL para PostgreSQL)
- Una instancia de Amazon RDS para PostgreSQL (Amazon RDS para PostgreSQL)
Para esta guía de inicio rápido, selecciona PostgreSQL.
- Proporciona la siguiente información:
- En el campo Nombre del perfil de conexión, ingresa un nombre para el perfil de conexión de tu base de datos de origen, como
My Connection Profile. - Conserva el ID del perfil de conexión generado automáticamente.
- Ingresa Información de conectividad:
- Si realizas la replicación desde una base de datos autoalojada, ingresa el Nombre de host o la dirección IP (dominio o IP) y el Puerto para acceder al host. (El puerto predeterminado de PostgreSQL es 5432).
- Si realizas la replicación desde una base de datos de Cloud SQL, selecciona la instancia de Cloud SQL en la lista desplegable.
- Ingresa un Nombre de usuario y una Contraseña para autenticar tu instancia de origen.
- (Opcional) Si planeas transferir información sensible a través de una red pública (mediante listas de IP permitidas), te recomendamos que uses la encriptación SSL/TLS para la conexión entre las bases de datos de origen y de destino. De lo contrario, conserva el valor predeterminado de None.
- En el campo Nombre del perfil de conexión, ingresa un nombre para el perfil de conexión de tu base de datos de origen, como
En la sección Región del perfil de conexión de la página, selecciona la región en la que deseas guardar el perfil de conexión.
- Haz clic en CREAR.
Crea trabajos de migración
Database Migration Service usa trabajos de migración para migrar datos de tu instancia de base de datos de origen a la instancia de base de datos de Cloud SQL de destino.La creación de un trabajo de migración incluye lo siguiente:
- Definir la configuración del trabajo
- Seleccionar el perfil de conexión que creaste para tu base de datos de origen (perfil de conexión de origen)
- Definir la configuración de la instancia de base de datos de Cloud SQL de destino
- Configurar la conectividad entre las instancias de base de datos de origen y de destino
- Probar el trabajo de migración para asegurarte de que la información de conexión que proporcionaste para el trabajo sea válida
Define la configuración del trabajo de migración
Ve a la página Trabajos de migración de Database Migration Service en la Google Cloud consola.
Ir a la página Trabajos de migración de Database Migration Service
Haz clic en CREAR TRABAJO DE MIGRACIÓN.
En el campo Nombre del trabajo de migración, ingresa un nombre para el trabajo de migración, como
My Migration Job.Conserva el ID del trabajo de migración generado automáticamente.
Abre la lista desplegable Motor de base de datos de origen y selecciona el tipo de clasificación de tu base de datos de origen.
Selecciona la Región de destino en la que se creará la instancia de destino.
Establece el Tipo de trabajo de migración en "Continuo" porque deseas que los cambios en curso en tu base de datos de origen se migren a la instancia de base de datos de Cloud SQL de destino.
Revisa los requisitos previos necesarios que se generan de forma automática para reflejar cómo se debe preparar el entorno para un trabajo de migración. Estos requisitos previos pueden incluir cómo configurar la base de datos de origen y cómo conectarla a la instancia de base de datos de Cloud SQL de destino. Es mejor completar estos requisitos previos en este paso, pero puedes completarlos en cualquier momento antes de probar el trabajo de migración o iniciarlo. Para obtener más información sobre estos requisitos previos, consulta Configura tu fuente.
Haz clic en GUARDAR Y CONTINUAR.
Especifica la información sobre el perfil de conexión de origen
Abre la lista desplegable Seleccionar perfil de conexión de origen y selecciona el perfil de conexión que creaste.
Haz clic en GUARDAR Y CONTINUAR.
Define la configuración de la instancia de Cloud SQL de destino
Proporciona un ID de instancia de destino para la instancia de Cloud SQL. De forma predeterminada, el ID del trabajo de migración se propaga previamente en este campo. Puedes conservar este nombre o ingresar otro.
Proporciona una contraseña alfanumérica para la instancia de Cloud SQL de destino. Esta será la contraseña de la cuenta de administrador
postgresen la instancia.Puedes ingresar la contraseña de forma manual o hacer clic en GENERAR para que Database Migration Service cree una automáticamente.
Elige la Versión de la base de datos para la instancia de destino de la lista de versiones compatibles de Cloud SQL para el motor de base de datos especificado.
Selecciona la Google Cloud Zona deseada para la instancia nueva de Cloud SQL (o deja "Cualquiera").
Selecciona la casilla de verificación IP pública porque, para esta guía de inicio rápido, usas la lista de IP permitidas como el método de red. Este método funciona configurando el servidor de base de datos de origen para que acepte conexiones desde la dirección IP saliente de la instancia de Cloud SQL.
Selecciona el Tipo de máquina para la instancia de Cloud SQL. El tamaño del disco debe ser igual o mayor que el tamaño de la base de datos de origen.
Define el Tipo de almacenamiento y la Capacidad de almacenamiento para la instancia de Cloud SQL.
Haz clic en CREAR Y CONTINUAR para crear la instancia nueva.
Haz clic en CREAR DESTINO Y CONTINUAR en el cuadro de diálogo posterior. La creación de la instancia puede tardar varios minutos en completarse.
Configura la conectividad
- Elige el método de red que deseas usar para establecer la conectividad entre las bases de datos de origen y de destino. En esta guía de inicio rápido, usa la lista Método de conectividad para seleccionar Lista de IP permitidas como el método de red.
- Si la dirección IP de origen no se propaga previamente en este campo, copia la dirección IP saliente de la instancia de Cloud SQL
desde la consola y úsala
para configurar el firewall de red para que el servidor de base de datos de origen acepte conexiones desde esta dirección IP.
- Actualiza el archivo
pg_hba.confo los grupos de seguridad de Amazon RDS para aceptar conexiones desde esta dirección IP. - En tus reglas de firewall, crea una regla de entrada (o ingreso) para permitir conexiones en el puerto 5432 desde la dirección IP de conectividad de la instancia de Cloud SQL de destino.
- Actualiza el archivo
- Haz clic en CONFIGURAR Y CONTINUAR para completar la configuración del perfil de conexión.
Configura las bases de datos de migración
Puedes seleccionar las bases de datos que deseas migrar.
- En la lista Bases de datos para migrar, selecciona Todas las bases de datos.
Se seleccionan todas las bases de datos que existen en la fuente para la migración.
- Haz clic en Guardar y continuar.
Prueba y crea el trabajo de migración
Revisa la configuración que elegiste para el trabajo de migración.
Haz clic en PROBAR TRABAJO para verificar que la fuente se haya configurado de forma correcta, que las instancias de origen y de destino puedan comunicarse entre sí y que el trabajo de migración sea válido.
Verifica que veas el estado "¡Pruebas aprobadas correctamente!".
Si la prueba falla, puedes abordar el problema en la parte adecuada del flujo y volver a realizar la prueba.
Haz clic en CREAR Y COMENZAR TRABAJO para crear el trabajo de migración y comenzarlo de inmediato.
Haz clic en INICIAR en el cuadro de diálogo posterior.
En la página Trabajos de migración, verifica que el trabajo de migración tenga el estado "Iniciando". Después de unos minutos, confirma que el estado cambie a "En ejecución".
Verifica el trabajo de migración
En esta sección, confirmarás que Database Migration Service usó el trabajo de migración para migrar datos de tu instancia de base de datos de origen a la instancia de base de datos de Cloud SQL de destino.
- Ve a la página Instancias de SQL en la consola Google Cloud console.
- Haz clic en la entrada de réplica de lectura de tu trabajo de migración.
- Haz clic en el ícono Activar Cloud Shell que aparece en la región superior derecha de la página.
- En el mensaje de Google Cloud Shell, presiona Intro.
- Opcional: Si aparece un cuadro de diálogo Autorizar Cloud Shell, haz clic en Autorizar.
- Conéctate a la instancia de base de datos de Cloud SQL de destino.
- En el mensaje Ingresar contraseña, ingresa la contraseña que proporcionaste o que Database Migration Service generó para ti en Define la configuración de la instancia de Cloud SQL de destino.
- En el mensaje postgres, ingresa
\listpara enumerar las bases de datos y verificar que veas la instancia de base de datos de origen. - En el mensaje postgres, ingresa
\connect SOURCE_DB_NAMEporque deseas ver las tablas asociadas con esta instancia de base de datos. El nombre del mensaje cambia depostgresa SOURCE_DB_NAME. - En el mensaje SOURCE_DB_NAME, ingresa
\dtpara ver las tablas de esta instancia. - Cuando se te solicite SOURCE_DB_NAME, ingresa
GRANT cloudsqlexternalsync to USER;para otorgar permiso a este usuario para acceder a los datos en las tablas de esta instancia. - Cuando se te solicite SOURCE_DB_NAME, para ver la información que se replica desde una tabla en tu instancia de base de datos de origen, ingresa
SELECT * from TABLE_NAME;. - Verifica que veas la información correcta en la tabla.
Esto confirma que Database Migration Service migró los datos.
Promociona el trabajo de migración
Está todo listo para promocionar el trabajo de migración. Como resultado, la instancia de base de datos de Cloud SQL de destino reemplaza la instancia de base de datos de origen como la base de datos principal.
Regresa a la página Trabajos de migración.
Haz clic en el trabajo de migración que deseas ascender. Aparecerá la página Detalles del trabajo de migración.
Espera a que la demora de replicación tienda a cero.
Detén todas las operaciones de escritura en la base de datos de origen.
Espera hasta que la demora de replicación sea cero.
Haz clic en el trabajo de migración que deseas ascender. Este trabajo debe tener el estado "En ejecución".
Para ascender el trabajo de migración, haz clic en ASCENDER.
Vuelve a hacer clic en ASCENDER en el cuadro de diálogo posterior.
Verifica que el trabajo de migración tenga el estado "Ascenso en curso". Después de unos minutos, confirma que el estado cambie a "Completado".
Tu nueva instancia de base de datos de Cloud SQL está lista para usarse.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página.
- Usa la Google Cloud consola para borrar tu trabajo de migración, perfil de conexión, instancia de Cloud SQL y el proyecto si no los necesitas.
¿Qué sigue?
- Obtén más información sobre cómo administrar perfiles de conexión.
- Obtén más información sobre los estados del trabajo de migración.
- Obtén más información sobre las métricas del trabajo de migración .