Requisitos previos¶
Máquina¶
OS¶
El clúster PostgreSQL proporcionado por el dispositivo se basa en un sistema operativo Debian 12 (bookworm) de 64 bits.
CPU¶
Se recomienda asignar 4 núcleos de CPU por nodo en el clúster PostgreSQL.
RAM¶
Se recomienda asignar 4 GB de RAM por nodo en el clúster PostgreSQL.
Disco¶
El aparato virtual viene con un disco virtual de 60 GB.
Red de transporte de personas¶
Un clúster PostgreSQL requerirá 4 direcciones IP:
- 1 dirección IP real por nodo de PostgreSQL
- 1 dirección IP virtual para el clúster PostgreSQL
Warning
Las direcciones IP reales y virtuales de los nodos de clúster de PostgreSQL deben pertenecer a la misma subred.
Los nodos del clúster PostgreSQL generalmente se colocan en la LAN para que puedan acceder cyberelements.io o cyberelements Cleanroom a través de Edge Gateways.
Para identificar mejor las diferentes direcciones de las máquinas, se nombrarán de la siguiente manera en la documentación:
| nombre de la dirección IP | significado |
|---|---|
RIP_PSQL_1 |
Dirección IP real del nodo n°1 de PostgreSQL. |
RIP_PSQL_2 |
Dirección IP real del nodo n°2 de PostgreSQL. |
RIP_PSQL_3 |
Dirección IP real del nodo n°3 de PostgreSQL. |
VIP_PSQL |
Dirección IP virtual del clúster de PostgreSQL. |
| Fuente | Destino | Puerto de destino | Comentarios |
|---|---|---|---|
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
repositorios de Debian | TCP 80 | Se requiere para instalar cyberelements Cleanroom dependencias y mantener el sistema actualizado. La documentación y los aparatos virtuales utilizan ftp.fr.debian.org y security.debian.org. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
Servidor de DNS | UDP 53 y | Se requiere para la resolución de DNS. Opcional si hay un servidor DNS disponible en la LAN o DMZ. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
servidor de tiempo NTP | UDP 123 | Opcional si el servidor necesita sincronizar su reloj con un servidor en la LAN o DMZ. Por defecto, se utilizan los grupos Debian: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org y 3.debian.pool.ntp.org. |
| Fuente | Destino | Puerto de destino | Comentarios |
|---|---|---|---|
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
El número de la señal de TCP es 2379. | Puerto utilizado para la operación del grupo y escuchado por ETCD. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
El número de la señal | Puerto utilizado para la operación del grupo y escuchado por ETCD. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
El número de la señal | Puerto de conexión SQL llevado por PostgreSQL (puede cambiarse el puerto predeterminado). |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
El número de la señal | Puerto utilizado para la operación de clúster y escuchado por Patroni. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
Servidor de DNS | UDP 53 y | Se requiere para la resolución de DNS. Opcional si hay un servidor DNS disponible en la WAN o DMZ. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
servidor de tiempo NTP | UDP 123 | Opcional si el servidor necesita sincronizar su reloj con un servidor en la WAN o DMZ. Por defecto, se utilizan los grupos Debian: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org y 3.debian.pool.ntp.org. |
| Direcciones IP o rango de red de las estaciones de trabajo de administración | RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 22 | Puerto de administración SSH remoto. |
| Direcciones IP o rango de red de las estaciones de trabajo de administración | RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
El número de la señal | Puerto de conexión SQL utilizado por PostgreSQL (puede cambiarse el puerto predeterminado). |
| Direcciones IP o rango de red de las estaciones de trabajo de administración | VIP_PSQL |
El número de la señal | Puerto de conexión SQL utilizado por PostgreSQL (puede cambiarse el puerto predeterminado). |
| direcciones IP de las puertas de enlace de borde que necesitan acceder al clúster PostgreSQL | VIP_PSQL |
puerto de conexión TCP 5432 | SQL utilizado por PostgreSQL (puede cambiarse el puerto predeterminado). |
Certificados¶
El clúster PostgreSQL encripta los flujos de comunicación entre sus nodos para la operación del clúster, así como para las conexiones SQL. Este cifrado es el cifrado TLS, que requiere el uso de certificados.
La información que se muestra a continuación resume las configuraciones y opciones requeridas para los certificados de clúster de PostgreSQL.
Cada nodo de PostgreSQL utilizará un único certificado, pero también necesitará importar el certificado de la Autoridad de Certificación (CA) raíz.
Se espera que la CA raíz esté en formato codificado crt en base64.
El certificado de nodo PostgreSQL debe cumplir con las siguientes configuraciones:
- La función hash utilizada para la firma debe ser parte de la familia SHA-2; recomendamos SHA-512.
- El certificado y los certificados de sus autoridades de certificación deben tener una clave privada de al menos 2048 bits con cifrado RSA, DSA y DH; para las claves de curva elíptica (ECC), deben ser al menos 224 bits.
- El
Common Nameatributo debe tener el nombre corto del servidor como su valor (especificar el FQDN causará fallas). - El
Key Usageel atributo debe tener los valorescritical,digitalSignatureykeyEncipherment. - El
Extended Key Usageel atributo debe tener los valoresserverAuthyclientAuth. - El
Subject Alternative Nameel atributo debe definirse para cubrir:- El nombre del nodo PostgreSQL asociado con la dirección IP real
- El nombre del clúster PostgreSQL asociado con la dirección IP virtual
- La dirección IP real del nodo PostgreSQL
- La dirección IP virtual del clúster de PostgreSQL
Se espera que el formato del certificado sea P12.