Prerequisiti¶
Macchina¶
Sistema operativo¶
Il cluster PostgreSQL fornito dall'appliance è basato su un sistema operativo Debian 12 (bookworm) a 64 bit.
CPU¶
Si raccomanda di assegnare 4 core CPU per nodo nel cluster PostgreSQL.
RAM¶
Si raccomanda di assegnare 4 GB di RAM per nodo nel cluster PostgreSQL.
Disco¶
L'apparecchio virtuale viene fornito con un disco virtuale da 60 GB.
Rete¶
Un cluster PostgreSQL richiede 4 indirizzi IP:
- 1 indirizzo IP reale per nodo PostgreSQL
- 1 indirizzo IP virtuale per il cluster PostgreSQL
Warning
Gli indirizzi IP reali e virtuali dei nodi del cluster PostgreSQL devono tutti appartenere alla stessa sottorete.
I nodi del cluster PostgreSQL sono solitamente collocati nella LAN per essere accessibili da cyberelements.io o cyberelements Cleanroom tramite Edge Gateway.
Per meglio identificare i diversi indirizzi delle macchine, essi saranno denominati nella documentazione come segue:
| Nome dell'indirizzo IP | Significato |
|---|---|
RIP_PSQL_1 |
Indirizzo IP reale del nodo PostgreSQL n°1. |
RIP_PSQL_2 |
Indirizzo IP reale del nodo PostgreSQL n°2. |
RIP_PSQL_3 |
Indirizzo IP reale del nodo PostgreSQL n°3. |
VIP_PSQL |
Indirizzo IP virtuale del cluster PostgreSQL. |
| Fonte | Destinazione | Porto di destinazione | Commenti |
|---|---|---|---|
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
Repositori Debian | TCP 80 | Richiesto per installare cyberelements Cleanroom dipendenze e mantenere il sistema aggiornato. La documentazione e le appliance virtuali utilizzano ftp.fr.debian.org e security.debian.org. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
Server DNS | UDP 53 | Richiesto per la risoluzione DNS. Opzionale se un server DNS è disponibile sulla LAN o DMZ. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
NTP time server | UDP 123 | Opzionale se il server ha bisogno di sincronizzare il suo orologio con un server sulla LAN o DMZ. Per impostazione predefinita, vengono utilizzati i pool Debian: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org e 3.debian.pool.ntp.org. |
| Fonte | Destinazione | Porto di destinazione | Commenti |
|---|---|---|---|
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 2379 | Porto utilizzato per l'operazione del cluster e ascoltato dall'ETCD. |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 2380 | Porto utilizzato per l'operazione del cluster e ascoltato dall'ETCD. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 5432 | Porta di connessione SQL portata da PostgreSQL (porta predefinita può essere cambiata). |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 8008 | Porta utilizzata per il funzionamento del cluster e ascoltata da Patroni. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
Server DNS | UDP 53 | Richiesto per la risoluzione DNS. Opzionale se un server DNS è disponibile sulla WAN o DMZ. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
NTP time server | UDP 123 | Opzionale se il server ha bisogno di sincronizzare il suo orologio con un server sulla WAN o DMZ. Per impostazione predefinita, vengono utilizzati i pool Debian: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org e 3.debian.pool.ntp.org. |
| indirizzi IP o gamma di rete di postazioni di lavoro di amministrazione | RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 22 | Porta di amministrazione remota SSH |
| Indirizzi IP o gamma di rete delle postazioni di lavoro di amministrazione | RIP_PSQL_1RIP_PSQL_2RIP_PSQL_3 |
TCP 5432 | Porta di connessione SQL utilizzata da PostgreSQL (la porta predefinita può essere cambiata). |
| Indirizzi IP o gamma di rete delle postazioni di lavoro di amministrazione | VIP_PSQL |
TCP 5432 | Porta di connessione SQL utilizzata da PostgreSQL (la porta predefinita può essere cambiata). |
| indirizzi IP di Edge Gateway che devono accedere al cluster PostgreSQL | VIP_PSQL |
TCP 5432 | Porta di connessione SQL utilizzata da PostgreSQL (porta predefinita può essere cambiata). |
Certificati¶
Il cluster PostgreSQL crittografa i flussi di comunicazione tra i suoi nodi per il funzionamento del cluster e per le connessioni SQL. Questa crittografia è la crittografia TLS, che richiede l'uso di certificati.
Le informazioni riportate di seguito riassumono le impostazioni e le opzioni richieste per i certificati di cluster PostgreSQL.
Ogni nodo PostgreSQL utilizzerà un singolo certificato, ma dovrà anche importare il certificato CA (Certificate Authority) di root.
Il CA radice dovrebbe essere in base64 in formato crt.
Il certificato di nodo PostgreSQL deve essere conforme alle seguenti impostazioni:
- La funzione hash utilizzata per la firma deve far parte della famiglia SHA-2; si consiglia SHA-512.
- Il certificato e i certificati delle sue autorità di certificazione devono avere una chiave privata di almeno 2048 bit con crittografia RSA, DSA e DH; per le chiavi a curva ellittica (ECC), devono essere di almeno 224 bit.
- Il
Common Nameattribute deve avere come valore il nome breve del server (specificando il FQDN si verificheranno errori). - L'attributo
Key Usagedeve avere i valoricritical,digitalSignatureekeyEncipherment. - L'attributo
Extended Key Usagedeve avere i valoriserverAutheclientAuth. - L'attributo
Subject Alternative Namedeve essere definito per coprire:- Nome del nodo PostgreSQL associato all'indirizzo IP reale
- Nome del cluster PostgreSQL associato all'indirizzo IP virtuale
- L'indirizzo IP reale del nodo PostgreSQL
- L'indirizzo IP virtuale del cluster PostgreSQL
Formato del certificato previsto: P12.