Saltar al contenido
Categoría: Azure
2024-04-30

Cómo migrar PostgreSQL On-Premise a Azure – Parte 1

Cómo migrar PostgreSQL a Azure

Bienvenidos/as a un nuevo post en el blog de Aleson ITC. En el artículo de hoy hablaremos sobre como migrar nuestro servidor PostgreSQL On-Premise a Azure que lo dividiremos en 3 partes.

En esta primera parte crearemos nuestro Azure Database for PostgreSQL – Flexible Server y la configuraremos para poder acceder desde pgadmin.

Antes de empezar tenemos que saber los 3 tipos de servicios que ofrece Azure.

Tipos de Servicio de PostgreSQL en Azure

Azure Database for PostgreSQL – Single Server

Es un servicio que está administrado con los mínimos requisitos de configuración de BBDD. Este servicio está diseñado para la mayoría de las funciones de administración de las BBDD, es decir, backups, alta disponibilidad, seguridad y con una configuración mínima por parte del usuario.

Este servicio se puso a disposición el 2018, pero dados los nuevos avances, la disponibilidad, la escalabilidad y las funcionalidades de rendimiento desde noviembre de 2023 ya no se admite la creación de nuevas instancias de servidor único o Single Server.

Compatible con la versión de PostgreSQL 10 y 11.

Pero este tipo de servicio tendrá soporte por parte de Microsoft hasta marzo de 2025, por lo que es importante que, si tenemos nuestro servidor en este tipo de servicio, lo migremos a Flexible Server.

Azure Database for PostgreSQL – Flexible Server

Este servicio proporciona una mayor flexibilidad sobre las funciones de administración de BBDD y las opciones de configuración. En general, este servicio proporciona mayor flexibilidad y personalizaciones de la configuración del servidor en función de los requisitos del usuario.

La arquitectura de servidor flexible permite a los usuarios optar por la alta disponibilidad dentro de una única zona de disponibilidad o entre varias.

Es compatible con postgres 11, 12, 13, 14, 15 y 16.

Azure Database for PostgreSQL – Hyperscale (Citus)

Los grupos de servidores Hyperscale (Citus) existentes se convirtieron automáticamente en clústeres Azure Cosmos DB para PostgreSQL con el nuevo nombre en octubre de 2022. Todas las características y precios, incluidos los precios de computación reservada y la disponibilidad regional, se conservaron con el nuevo nombre.

A continuación, os dejamos enlaces que nos pueden ayudar a ampliar información.

Tabla de comparación servidor único vs servidor flexible

Breve resumen en Single Server y Flexible Server

Ahora que ya conocemos los tres tipos de servicios que nos ofrece, vamos a proceder a crear nuestro servicio en Azure.

Cómo crear nuestro servicio PostgreSQL Flexible Server

Lo primero, vamos a nuestra cuenta de Azure y tendremos que buscar «postgres».

Cómo crear nuestro servicio PostgreSQL Flexible Server

Y se nos abrirá la siguiente página:

Cómo crear nuestro servicio PostgreSQL Flexible Server

Pulsamos en crear, y a continuación lo configuramos según nuestra necesidad, en este caso al ser una prueba vamos a seleccionamos el tipo Development.

Cómo crear nuestro servicio PostgreSQL Flexible Server

Rellenamos los campos marcados: nombre, región y la versión de PostgreSQL que vamos a instalar, en nuestro caso la última, la 16.

Mas abajo tenemos que seleccionar nuestro tipo de autenticación.

Cómo crear nuestro servicio PostgreSQL Flexible Server

En el caso de que sea Postgres, informar del usuario y contraseña y le damos a Next: Networking

Cómo crear nuestro servicio PostgreSQL Flexible Server

En la parte de networking seleccionamos si queremos dar acceso público o privado, en este caso vamos a seleccionar público y abajo en Firewall rules podemos seleccionar la IP pública a la cual queremos dar acceso. También tenemos la opción de Add current cliente IP address. Esto lo que va a hacer es añadir nuestra IP pública en el firewall.

Configurada la parte del networking, le damos a Next: Security

Cómo crear nuestro servicio PostgreSQL Flexible Server

Aquí tenemos que seleccionar el certificado con el que queremos encriptar nuestros datos.

  • Service-managed Key, es decir, gestionado por Microsoft
  • Customer-managed Key, es decir, un certificado nuestro.

La diferencia entre una y otra es que la SMK está gestionada enteramente por Microsoft y no puede ser modificada o desactivada por los clientes.

Pero las CMK, proporcionan un mayor control sobre el cifrado de sus datos, permite a los clientes gestionar sus propias claves de cifrado, que se pueden revocar si es necesario.

Pero para esta prueba, marcaremos Service-managed key.

Terminado con la parte de Security, pulsamos en Next: Tags.

Cómo crear nuestro servicio PostgreSQL Flexible Server

Los Tags, sirven para organizar y clasificar permitiéndonos hacer un seguimiento de nuestro entorno. Por ejemplo, queremos ver la facturación de nuestro entorno de producción, podemos filtrar por la etiqueta de producción y ver el coste.

Terminamos con las etiquetas y pulsamos en Next: Review + create

Y nos aparecerá un resumen de toda la configuración que hemos aplicado.

Cómo crear nuestro servicio PostgreSQL Flexible Server

Revisamos que todo esté bien y pulsamos en Create.

La creación del servicio llevara unos minutos, solo queda esperar.

Conectando desde Pgadmin a nuestro servicio PostgreSQL Flexible en Azure

Para poder conectarnos a nuestro servicio de Postgres en Azure, necesitamos registrar un server en nuestro local.

Abrimos nuestro pgadmin, botón derecho sobre Servers – Register – Server

Conectando desde Pgadmin a nuestro servicio PostgreSQL Flexible en Azure

Informamos nombre de la conexión.

Conectando desde Pgadmin a nuestro servicio PostgreSQL Flexible en Azure

En la pestaña de Connection, informamos el host name o la ip, puerto, BBDD a la que vamos a conectar por defecto va ser postgres, usuario y pass.

Conectando desde Pgadmin a nuestro servicio PostgreSQL Flexible en Azure

El resto de las pestañas las dejamos por defecto, informados de los campos necesarios pulsamos en Save, al guardar lo que va a hacer Postgres es realizar una primera prueba de conexión.

Posible error que puede darnos al conectar

FATAL: no pg_hba.conf entry for host. Para solucionar este error, primero tenemos que revisar en nuestro servicio de postgres. En la configuración de networking hemos añadido nuestra IP pública desde la cual estamos intentando acceder.

Segundo: tenemos que descargar nuestro certificado SSL, y dejarlo en una ruta desde la cual tengamos acceso con nuestro postgres local.

FATAL: no pg_hba.conf entry for host

Y en la configuración de nuestro servidor de postgres, en la pestaña de parameters

FATAL: no pg_hba.conf entry for host

Le damos a Save, y con esta nueva configuración tendríamos solucionado nuestro problema de conexión.

Una vez que se conecte, veremos que en el nuevo servidor nos aparecen las siguientes BBDD.

FATAL: no pg_hba.conf entry for host

«azure_maintenance» y «azure_sys«, son las BBDD de Azure, estas no se pueden borrar y son necesarias para el correcto funcionamiento de nuestro servicio en Azure.

Podemos lanzar la siguiente query, para ver que funciona correctamente.

FATAL: no pg_hba.conf entry for host

Y también veremos la versión de postgres que tenemos en Azure.

Y con esto ya estaríamos conectados a nuestro servicio en Azure correctamente.

En esta entrada hemos visto como crear nuestro Azure Database for PostgreSQL – Flexible Server y como nos hemos conectado a él desde pgadmin. En la próxima entrada hablaremos sobre la pre-configuración necesaria para la migración, roles y usuarios.

¿Necesitas una migración rápida y sin pausar tu negocio? ¡Contáctanos!

Complete este formulario para recibir la guía de Windows Server en Azure
*Obligatorio
Complete este formulario para recibir la guía de Windows Server en Azure
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
*Obligatorio
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud Migration Essentials
*Obligatorio
Complete este formulario para recibir Cloud Migration Essentials
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
*Obligatorio
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete this form to recieve the guide of Windows Server on Azure
*Required
Complete this form to recieve the guide of Windows Server on Azure
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
*Required
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Essentials
*Required
Complete this form to recieve Cloud Migration Essentials
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud security Advice for Nonprofit Leaders
*Required
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Simplified Ebook.
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!