Creando una Base de Datos en Azure DB para PostgreSQL

Tiempo de Lectura: 7 minutos

¿Qué es Azure DB para PostgreSQL?

Azure DB nos brinda opciones de bases de datos relacionales, NoSQL, base de datos en memoria, motores de código abierto (Open Source) y patentados. Siendo posible la escalabilidad, establecer alta disponibilidad y garantizar la seguridad de forma automatizada. Donde los recursos pueden ser incrementados o disminuidos, según sea requerido por nuestra solución.

Azure DB PostgreSQL , es un servicio dentro de Azure DB, el cual nos permite ejecutar, administrar y escalar bases de datos basadas en el código abierto de PostgreSQL. A diferencia de la versión On-Premises, no es necesario realizar configuraciones adicionales para contar con alta disponibilidad, replicación o un costo adicional para garantizar que la base de datos siempre sea accesible; además de poder realizar la configuración para backups automáticos y establecer puntos de restauración específicos. Donde la seguridad que nos ofrece este servicio, esta enfocado para protección de datos sensibles, encriptando los discos y brindando un encriptado SSL entre la comunicación del cliente con el servicio de base de datos.

Las opciones de implementación que tenemos disponibles a la fecha son:

Un solo servidor (Single Server)

Esta opción nos ofrece una administración completa de un servidor preconfigurado para la administración de varias bases de datos. Esta opción ya viene configurada con una alta disponibilidad sin costo adicional, utilizando un rendimiento predictivo para poder utilizar la opción “pay-as-you-go” (paga lo que utilizas), optando a una escalavilidad vertical en segundos. En la que el precio está calculado por servidor, basandose en el plan de configuración, los núcleos virtuales y el almacenamiento en GB, para mayor información de los recursos disponibles se puede visitar el link: https://docs.microsoft.com/es-es/azure/postgresql/concepts-pricing-tiers (Cortez, 2019).

Esta solución esta enfocada para poder realizar un desarrollo y publicación de aplicaciones de forma rápida, sin necesidad de dedicarle tiempo a la administración, manejo de servidores virtuales e infraestructura necesaria para establecer una base de datos publica y funcional. Permitiendo seguir utilizando herramientas y plataformas sin importar si son propietarias o de código abierto.

Servidor Flexible – Versión Preliminar (Flexible Server – Versión Preliminar):

Es una opción con mayor flexibilidad y personalizaciones de la configuración del servidor PostgreSQL, permitiendo realizar configuraciones para tener una latencia baja y contar con una alta disponibilidad en una zona, o entre varias. Permitiendo tener el control para iniciar o detener nuestro servidor, para tener un mejor control del costo, siendo esta opción ideal para cargas de trabajo que no necesitan una capacidad de proceso completo y de forma continua (Agarwal, 2021).

La arquitectura de esta opción separa el proceso y el almacenamiento, en la que el motor de base de datos se ejecuta en una maquina virtual Linux, mientras que los archivos de datos están contenidos en el servicio Azure Storage, el cual cuenta con tres copias sincrónicas, con redundancia (Agarwal, 2021).

Hiperescala - Citus (Hyperscale - Citus):

Esta solución esta enfocada para aquellas aplicaciones que requieren de un alto rendimiento, al realizar consultas en una gran cantidad de datos, recomendando este servicio cuando se cuentan con más de 100 GB de información. Permitiendo escalar las consultas de forma horizontal por medio de múltiples maquinas, ejecutando de forma paralela el motor de consultas de SQL.

Creando una Base de Datos PostgreSQL

Para poder utilizar este servicio, necesitamos contar con una cuenta en Azure. Al tener nuestra cuenta creada, iniciaremos sesión en el portal (http://portal.azure.com).

Inicio de sesión en portal Azure

Luego seleccionaremos la opción de “Crear un Recurso”, ubicada en la esquina superior izquierda.

Opción para Creación de Recurso

Seleccionaremos la opción de base de datos. Esta nos desplegará las opciones disponibles dentro del servicio, en la que nosotros seleccionaremos PostgreSQL

Seleccion de Servicio de Base de Datos

Tras la selección de la opción, nos pedirá seleccionar la opción a implementar, en nuestro caso seleccionaremos la opción “Un solo Servidor” (Single Server).

Selección de Planes de servidor a utilizar

Al seleccionar la opción “Crear”, nos redirigirá a la opción donde debemos agregar la información de la suscripción sobre la cual montaremos nuestro servicio, el grupo de recursos que contendrá los elementos requeridos para nuestro motor de PostgreSQL.

Configurando Servidor para base de datos

En la opción de procesamiento y almacenamiento podemos escoger los recursos disponibles que tendrá nuestra base de datos. En este caso, por ser para fines explicativos, lo modificaremos, por lo que seleccionaremos la opción “Configurar servidor”.

Seleccionando Opción de recursos de servirdor

Al seleccionar esta opción nos aparecen tres opciones disponibles para crear el recurso, por lo que seleccionaremos la opción “Básico”. En esta opción podemos seleccionar el core virtual que deseamos que este disponible, el almacenamiento que tendremos disponible, y el tiempo que estarán disponibles los backups. Nosotros seleccionaremos los parámetros más bajos, donde en el cuadro que se encuentra en el lado derecho, podemos ver la estimación mensual del consumo de la base de datos, sin embargo para más detalles de un precio estimado de este servicio, puede ser consultado en el siguiente link: https://azure.microsoft.com/es-es/pricing/calculator/ o pueden escribirnos para cotizar el servicio.

selecion de procesos y almacenamiento

Tras haber seleccionado el procesamiento y almacenamiento más bajo, ingresaremos la información para el acceso del administrador de la base de datos, creando nuestro recurso. Al terminar de ingresar las credenciales tenemos dos opciones a realizar, la primera sería “Revisar y crear”, la cual nos mandará a la ultima opción para revisar los parámetros ingresados e iniciar la creación del recurso. La segunda opción es “Siguiente: Configuración adicional”, la cual nos permite ver las propiedades que tenemos disponibles para configurar nuestro motor de base de datos. En nuestro caso seleccionaremos “Revisar y Crear”.

Ingresando credenciales de administrador

Luego nos mostrará un resumen de los parámetros que hemos seleccionado con anticipación, para corroborar que son los recursos que necesitamos antes de crear. Tras confirmar los parámetros que ingresamos, seleccionamos la opción “Crear”.

Revisión de Recurso

Este proceso puede demorar unos minutos; sin embargo, la plataforma nos va indicando que recursos están pendientes de su creación, que recursos se están creando y los recursos que ya fueron creados.

Creación en Curso en Azure DB

Al momento de que termina su creación, podemos seleccionar la opción “Ir al Recurso” para visualizar el servicio de Azure DB para PostgreSQL.

Ir al recurso de Servidor para PostgreSQL

En esta sección tenemos acceso a las opciones de administración de nuestro servidor, al igual que las credenciales para conectarnos a PostgreSQL (host y usuario).

Recursos de PostgreSQL

Podemos realizar la conexión a PostgreSQL por medio de la linea de comandos que está disponible directamente en el portal de Azure o desde otra terminar, mediante el comando:

psql –host={direccion_servidor} --port=5432 --username={usuario_servidor} –dbname={base_de_datos}

En este caso la conexión a nuestro servidor de PostgreSQL seria:

psql --host=postgresql-tech-day.postgres.database.azure.com port=5432 --username=pablosao@postgresql-tech-day –dbname=postgres

Sin embargo, al momento de tener recién creado nuestro servicio, por seguridad no tiene permitido recibir peticiones de conexión, por lo que si intentamos acceder a nuestra base de datos desde la terminal de Azure o una externa, nos mostrará un error indicándonos de que no se pudo establecer la conexión.

Obteniendo Conexion fallida

Para poder conectarnos a nuestra base de datos, debemos ir a la opción “Seguridad de la Conexión”, en esta opción debemos agregar a la regla de seguridad, la IP desde la cual se estará realizando la conexión al servidor de base de datos.

Seguridad de conexión al servidor de base de datos

En nuestro caso vamos a permitir que desde cualquier equipo se pueda realizar la conexión a nuestra base de datos, Seleccionando la opción “+ agregar 0.0.0.0 – 255.255.255.255”. Colocando los parámetros de forma automática, y para que tenga efecto en la configuración, seleccionamos la opción de “Guardar”.

Configuración param. conexión

Cuando se ha guardado nuestra configuración, podemos ejecutar nuevamente nuestro comando de conexión desde la terminal.

psql --host=postgresql-tech-day.postgres.database.azure.com port=5432 --username=pablosao@postgresql-tech-day –dbname=postgres

Nos pedirá ingresar la contraseña del usuario con el que estamos haciendo la conexión (en mi caso es pablosao@postgresql-tech-day). Y al confirmar que las credenciales son correctas, accederemos a la consola de PostgreSQL.

Iniciando en servidor de postgresql

Ya dentro de la consola de PstgreSQL, podemos crear usuarios, base de datos, asignarle permisos a los usuarios, entre otras sentencias.

Debemos tomar en consideración que las bases de datos que creemos dentro de nuestro servidor compartirán los recursos que configuramos al momento de crear el recurso. Por ejemplo, si asignamos al inicio 5 GB de almacenamiento, este espacio sera compartido con todas las bases de datos que creemos y no serán 5 GB por cada base de datos que tengamos. Caso similar con los demás recursos seleccionados.

Para mostrar el funcionamiento desde la terminar provista desde Azure, crearemos una base de datos con la siguiente instrucción:

create database techday;

Y listaremos las bases de datos en nuestro servidor con el siguiente comandos:

\l

Creando Base de Datos y listandolas

Donde estas credenciales pueden ser utilizadas desde cualquier cliente de PostgreSQL, como psql (CLI), pgAdmin, Power BI, y/o cualquier otra herramienta para gestionar la o las base de datos que se han creado en nuestro servidor.

Referencias

Agarwal, S.m (2021). Azure Database for PostgreSQL con la opción Servidor flexible. Extraído de: https://docs.microsoft.com/es-es/azure/postgresql/flexible-server/overview

Cortez, S. (2019). Azure Database for PostgreSQL: Un solo servidor. Extraído de: https://docs.microsoft.com/es-es/azure/postgresql/concepts-servers

Microsoft. (s.f.). Azure Database for PostgreSQL. Extraído de: https://azure.microsoft.com/en-us/services/postgresql/

Compartir Contenido:

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
Theme: Overlay by Kaira
Jocotenango, Sacatepéquez.
0
Would love your thoughts, please comment.x
()
x