Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
Despliegue de un cluster PostgreSQL en instancias informáticas de Oracle Cloud Infrastructure
Introducción
PostgreSQL es un sistema de gestión de bases de datos relacionales de objetos de código abierto. Es altamente extensible, altamente escalable y tiene muchas características. PostgreSQL soporta la replicación de datos en varios centros de datos.
En este tutorial se muestra un despliegue típico de tres nodos de un cluster PostgreSQL en instancias de Oracle Cloud Infrastructure (OCI) Compute. En este tutorial, los servidores se configuran en la configuración maestra y en espera y utilizan la replicación de transmisión.
Puede encontrar las instrucciones de automatización aquí: terraform-oci-arch-postgresql.
Nota: Instalará automáticamente
postgis34
ypgvector
.
Diagrama de arquitectura
Objetivos
-
Despliegue un cluster PostgreSQL de tres nodos.
-
Modifique el código para que se ajuste mejor a sus necesidades.
Requisitos
-
Permiso para gestionar los siguientes recursos en su arrendamiento de OCI: redes virtuales en la nube (VCNs), gateways de Internet, tablas de rutas, listas de seguridad, subredes e instancias.
-
Cree los siguientes recursos:
- 1 VCN,
- 1 Subnet,
- 1 Gateway de Internet,
- 1 Reglas de ruta y
- 3 instancias informáticas (1 instancia maestra principal PostgreSQL y 2 instancias en espera de PostgreSQL).
Tarea 1: Despliegue del código de Terraform con OCI Resource Manager
El despliegue se puede realizar de dos formas, mediante la interfaz de línea de comandos (CLI) terraform o OCI Resource Manager. En este tutorial, utilizaremos OCI Resource Manager.
Para la CLI de terraform, consulte la documentación del repositorio aquí: terraform-oci-arch-postgresql.
-
Haga clic en la siguiente imagen para iniciar el proceso de OCI Resource Manager que desplegará los recursos.
-
Si aún no se ha conectado, introduzca el arrendamiento y las credenciales de usuario, revise y acepte las condiciones, seleccione la región y el compartimento en el que desea que resida la pila y haga clic en Siguiente, que le llevará al siguiente paso para Configurar variables.
-
En Configurar variables, introduzca la siguiente información para configurar las variables.
- Compartimento: seleccione el compartimento en el que desea desplegar los recursos.
- Dominio de disponibilidad para el maestro PostgreSQL: seleccione el dominio de disponibilidad para la instancia informática maestra.
- PostgreSQL Versión: puede seleccionar las versiones 9.6, 10, 11, 12 o 13.
- Contraseña PostgreSQL: defina una contraseña para acceder a PostgreSQL.
- Desplegar primero PostgreSQL HotStandby: seleccione esta opción si desea desplegar la primera base de datos en espera.
- Desplegar segundo PostgreSQL HotStandby: seleccione esta opción si desea desplegar la segunda base de datos en espera.
- Crear en subred privada: seleccione esta opción si desea que las instancias se creen en una subred privada.
Nota:
- El despliegue del primer y segundo PostgreSQL HotStandby permite desplegar uno, dos o tres nodos.
- Si selecciona crear en una subred privada, se creará un servicio de OCI Bastion para permitir el acceso.
-
Haga clic en Mostrar opciones avanzadas para introducir información adicional sobre variables configurables.
- Configuración opcional de red: permite especificar la VCN y los CIDR de subred, así como crear o no un gateway de direccionamiento dinámico (DRG).
- Configuración opcional de recursos informáticos, almacenamiento y copia de seguridad: permite agregar una clave SSH pública para acceder a las instancias de PostgreSQL y configurar copias de seguridad.
- PostgreSQL Configuración maestra opcional: especifique el dominio de errores, la unidad, la CPU y la memoria de la instancia maestra PostgreSQL para las unidades flexibles.
- PostgreSQL HotStandby1 Configuración opcional: especifique PostgreSQL primer dominio de disponibilidad de instancia en espera, dominio de errores, unidad, CPU y memoria para unidades flexibles.
- PostgreSQL HotStandby2 Configuración opcional: especifique PostgreSQL segundo dominio de disponibilidad de instancia en espera, dominio de errores, unidad, CPU y memoria para las unidades flexibles.
-
Haga clic en Siguiente para revisar la información.
Nota:
- Anule la selección de Ejecutar aplicación si desea ejecutar primero un plan.
- Si selecciona Ejecutar aplicación, se disparará el comando terraform apply y se iniciará automáticamente el aprovisionamiento de los recursos.
-
Haga clic en Crear.
Tarea 2: Destruir el despliegue
Para destruir los recursos, simplemente vaya a la página Detalles de pila y haga clic en Destruir.
Descripción de la Instalación y Configuración de PostgreSQL
Esta información es útil si necesita modificar el funcionamiento de PostgreSQL.
Te ayudará a entender:
-
Donde está exactamente la instalación y la configuración.
-
El orden en el que se ejecutan los scripts.
-
Una descripción general de lo que hace cada secuencia de comandos.
Nota: Esto no cubrirá cómo personalizar la automatización. En función de los cambios, puede requerir modificaciones en varios archivos de terraform.
-
Los archivos importantes que utilizamos en este tutorial son:
remote.tf
: archivo Terraform en el que se despliegan los scripts en cada instancia PostgreSQL.scripts/postgresql_install_binaries.sh
: instala el servidor PostgreSQL, algunas extensiones y configura el firewall.scripts/postgresql_master_initdb.sh
: inicializa la base de datos.scripts/postgresql_master_setup.sh
: configura la réplica para PostgreSQL standby1.scripts/postgresql_master_setup2.sh
: configura la réplica para PostgreSQL standby2.scripts/postgresql_standby_setup.sh
: configuración adicional para réplicas como firewall, conexiones máximas y edición dereplica.conf
.
-
Los scripts se ejecutan en el siguiente orden:
scripts/postgresql_install_binaries.sh
: se ejecuta en la instancia maestra PostgreSQL.scripts/postgresql_master_initdb.sh
se ejecuta en la instancia maestra PostgreSQL.scripts/postgresql_install_binaries.sh
se ejecuta en la instancia PostgreSQL standby1.scripts/postgresql_install_binaries.sh
se ejecuta en la instancia PostgreSQL standby2.scripts/postgresql_master_setup.sh
se ejecuta en la instancia maestra PostgreSQL.scripts/postgresql_master_setup2.sh
se ejecuta en la instancia maestra PostgreSQL.scripts/postgresql_standby_setup.sh
se ejecuta en la instancia PostgreSQL standby1.scripts/postgresql_standby_setup.sh
se ejecuta en la instancia PostgreSQL standby2.
Agradecimientos
- Autor: Gabriel Feodorov (ingeniero sénior de nube)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Deploy a PostgreSQL Cluster on Oracle Cloud Infrastructure Compute Instances
G25657-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.