Despliegue de una base de datos de PostgreSQL

PostgreSQL es un sistema de gestión de la base de datos relacional de objetos de código abierto. Es muy extensible, altamente escalable y tiene muchas características. PostgreSQL admite la replicación de datos en varios centros de datos.

Note:

Oracle Cloud Infrastructure (OCI) ofrece un servicio PostgreSQL totalmente gestionado en OCI. Puede encontrar más información aquí: Pruebe lo mejor de PostgreSQL con OCI Database con PostgreSQL.

Arquitectura

Esta arquitectura de referencia muestra un despliegue típico de tres nodos de un cluster PostgreSQL en instancias de Oracle Cloud Infrastructure Compute. En esta arquitectura, los servidores están configurados en la configuración maestra y en espera y utilizan la replicación de transmisión con el envío de logs basado en archivos.

El siguiente diagrama ilustra esta arquitectura de referencia.

A continuación se muestra la descripción de postgre-oci.png
Descripción de la ilustración posgre-oci.png

postgre-oci-oracle.zip

La arquitectura tiene los siguientes componentes:

  • Región

    Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlas (entre países o incluso continentes).

  • Dominios de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes e independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como energía o refrigeración, o la red de dominio de disponibilidad interna. Por lo tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de disponibilidad de la región.

  • Dominios de Fallos

    Un dominio de fallo es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de fallo con energía y hardware independientes. Cuando distribuye recursos en varios dominios de fallos, las aplicaciones pueden tolerar fallos físicos del servidor, mantenimiento del sistema y fallos de energía en un dominio de fallos.

  • Red virtual en la nube (VCN) y subredes

    VCN es una red personalizable definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes tradicionales de centros de datos, las VCN le proporcionan un control completo sobre su entorno de red. VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear VCN. Puede segmentar un VCN en subredes, que se pueden asignar a una región o a un dominio de disponibilidad. Cada subred consta de un rango contiguo de direcciones que no se solapan con las demás subredes de VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.

    Esta arquitectura utiliza una subred pública para alojar las tres instancias de Compute que ejecutan PostgreSQL. Puede optar por utilizar una subred privada si la arquitectura lo necesita.

  • VPN de sitio a sitio

    La VPN de sitio a sitio proporciona conectividad VPN con IPSec entre la red local y las VCN en Oracle Cloud Infrastructure. El conjunto de protocolos IPSec cifra el tráfico IP antes de transferir los paquetes del origen al destino y descifra el tráfico cuando llega.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect proporciona una forma fácil de crear una conexión dedicada y privada entre el centro de datos y Oracle Cloud Infrastructure. FastConnect ofrece opciones de un ancho de banda superior y una experiencia de red más fiable en comparación con las conexiones basadas en Internet.

  • Gateway de enrutamiento dinámico (DRG)

    El DRG es un enrutador virtual que proporciona una ruta para el tráfico de red privada entre las VCN de la misma región, entre una VCN y una red fuera de la región, como una VCN de otra región de Oracle Cloud Infrastructure, una red local o una red de otro proveedor de nube.

    Esta arquitectura muestra un gateway de direccionamiento dinámico (DRG) opcional para una subred privada.

  • Gateway de internet

    El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.

  • Gateway de traducción de direcciones de red (NAT)

    Un gateway de NAT permite que los recursos privados en una VCN accedan a los hosts en Internet, sin exponer dichos recursos a las conexiones de Internet entrantes.

  • Servicio de bastión

    La base de Oracle Cloud Infrastructure proporciona acceso seguro restringido y limitado por tiempo a recursos que no tienen puntos finales públicos y que requieren estrictos controles de acceso a los recursos, como hardware dedicado y máquinas virtuales, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE), y cualquier otro recurso que permita el acceso de protocolo de shell seguro (SSH). Con el servicio bastión de Oracle Cloud Infrastructure, puede activar el acceso a hosts privados sin desplegar ni mantener un host de salto. Además, obtiene una postura de seguridad mejorada con permisos basados en identidad y una sesión SSH centralizada, auditada y con un límite de tiempo. La basción de Oracle Cloud Infrastructure elimina la necesidad de una IP pública para el acceso bastión, eliminando los hassle y la posible superficie de ataque al proporcionar acceso remoto.

  • Tabla de rutas

    Las tablas de rutas virtuales contienen reglas para enrutar el tráfico desde subredes a destinos fuera de una VCN, normalmente a través de gateways.

  • Listas de seguridad

    Para cada subred, puede crear reglas de seguridad que especifiquen el origen, destino y tipo de tráfico que se deben permitir dentro y fuera de la subred.

    Esta arquitectura agrega reglas de entrada para el puerto TCP 5432. Los servidores PostgreSQL escuchan en el puerto TCP 5432.

  • Volumen en bloque

    Con los volúmenes de almacenamiento en bloques, puede crear, asociar, conectar y mover volúmenes de almacenamiento, así como cambiar el rendimiento de los mismos para que se ajusten a sus requisitos de almacenamiento, rendimiento y aplicación. Después de asociar y conectar un volumen a una instancia, puede utilizar el volumen como disco duro normal. También puede desconectar un volumen y asociarlo a otra instancia sin perder datos.

  • PostgreSQL

    PostgreSQL es un sistema de gestión de bases de datos relacionales de código abierto (RDBMS) con una gran capacidad de ampliación y gran capacidad de ampliación. Soporta consultas SQL (relacionales) y JSON (no relacionales).

Recomendaciones

Sus requisitos pueden diferir de la arquitectura descrita aquí. Utilice las siguientes recomendaciones como punto de partida.

  • Formas informáticas

    Esta arquitectura utiliza una imagen del sistema operativo Oracle Linux 9 con VM.Standard.E4. Unidad flexible. Puede elegir una unidad diferente si las necesidades de recursos de la aplicación son diferentes.

  • VCN

    Al crear un VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que tiene previsto asociar a subredes en VCN. Utilice bloques CIDR que estén dentro del espacio de direcciones IP privadas estándar.

    Seleccione un rango de direcciones que no se superponga con la red local, de modo que pueda configurar una conexión entre VCN y la red local, si es necesario.

    Después de crear un VCN, puede cambiar, agregar y eliminar sus bloques CIDR.

    Al diseñar las subredes, tenga en cuenta sus requisitos de funcionalidad y seguridad. Conecte todas las instancias de cálculo dentro del mismo nivel o rol a la misma subred.

    Utilice subredes regionales.

Consideraciones

  • Escalabilidad

    Esta arquitectura despliega el nodo maestro PostgreSQL en un dominio de fallos y los nodos en espera en los otros dos dominios de fallos.

    Puede escalar verticalmente el cluster de PostgreSQL cambiando la forma de VM de cada nodo de cálculo. El uso de una forma con un recuento de núcleos superior también aumenta la memoria asignada a la instancia de Compute y al ancho de banda de red.

  • Disponibilidad de la aplicación

    Los dominios de fallo proporcionan la mejor resiliencia dentro de un único dominio de disponibilidad. Esta arquitectura utiliza otro enfoque de alta disponibilidad: desplegar instancias informáticas que realizan las mismas tareas en varios dominios de fallos. Este diseño elimina un único punto de fallo introduciendo redundancia.

    Una vez desplegada la arquitectura, puede conectarse a la dirección IP pública del nodo PostgreSQL mediante herramientas SSH como PuTTY o Git Bash. Puede utilizar psql para operaciones DDL y DML en la base de datos PostgreSQL. Puede utilizar la herramienta pgAdmin para realizar operaciones de administración.

  • Costo

    Seleccione una forma de máquina virtual (VM) basada en los núcleos, la memoria y el ancho de banda de red que necesita para la base de datos. Puede empezar con una forma de núcleo único y, si necesita más rendimiento, memoria o ancho de banda de red para el nodo de base de datos, puede cambiar la forma de VM más adelante.

Log de cambios

Este log muestra cambios significativos:

Confirmaciones

  • Author: Lukasz Feldman
  • Contributor: Wei Han