Rinnovo dei certificati del cluster PostgreSQL¶
Preparativi¶
Rinnovo del certificato¶
Prima di eseguire qualsiasi azione sui nodi del cluster PostgreSQL, preparare nuovi certificati per ciascuno dei nodi del cluster. Come promemoria, i certificati devono rispettare diversi vincoli indicati nei prerequisiti del cluster PostgreSQL.
Se si desidera effettuare la modifica a caldo senza alcun impatto sulla produzione, è necessario soddisfare le condizioni seguenti:
- L'autorità di certificazione non è stata rinnovata dall'ultima generazione dei certificati dei nodi PostgreSQL
- L'autorità di certificazione non scadrà durante il periodo di validità dei nuovi certificati
- È ancora possibile generare e firmare certificati con la stessa autorità di certificazione utilizzata al momento della generazione dei precedenti certificati dei nodi PostgreSQL
- I certificati dei nodi PostgreSQL non sono ancora scaduti
Se queste condizioni sono soddisfatte, è possibile prendere in considerazione un rinnovo dei certificati a caldo senza interrompere la produzione.
Per rigenerare i certificati utilizzando la PKI openssl indicata, facoltativamente, nella documentazione di installazione del cluster PostgreSQL, è necessario riutilizzare la chiave dell'autorità di certificazione e poi rieseguire i comandi di generazione dei certificati.
Se non è possibile rinnovare i certificati a caldo e si utilizza una PKI tramite openssl, si raccomanda di crearne una nuova.
Preparazione dei certificati¶
Sarà necessario inviare in /tmp/ il certificato dell'autorità di certificazione radice con estensione .crt a ciascuno dei nodi PostgreSQL.
Sarà inoltre necessario inviare in /tmp/ il certificato e la chiave privata associata a ciascuno dei nodi PostgreSQL. Se si dispone di un solo file .p12, eseguire i comandi seguenti per estrarre il certificato (psql.crt) e la chiave privata (psql.key):
1 2 | |
Sostituire nei comandi precedenti P12_CERT con il nome del proprio file di certificato .p12.
Rinnovo del certificato¶
Attenzione!
Se è possibile e si desidera effettuare un aggiornamento a caldo dei certificati con un'interruzione minima della produzione (1 minuto + disconnessione degli utenti), sarà necessario:
- Rinnovare i certificati su ciascun nodo in sequenza
- Rinnovare i certificati unicamente su un nodo
REPLICA(vedere come recuperare le informazioni sul nodoLEADER) - Mantenere sempre almeno due nodi PostgreSQL operativi e lavorare sul terzo
- Per lavorare sul nodo
LEADER, commutare ilLEADERsu un altro nodo; questa azione provoca la disconnessione degli utenti e l'indisponibilità della piattaforma per circa 1 minuto
Per semplificare le azioni seguenti, personalizzare le variabili nei comandi sottostanti con i propri valori (modificare la personalizzazione per ciascun nodo PostgreSQL):
| Valore | Variabile | Definizione |
|---|---|---|
PSQL_CERT |
Nuovo certificato del nodo PostgreSQL. | |
PSQL_KEY |
Chiave associata al nuovo certificato del nodo PostgreSQL. | |
PSQL_CA |
Certificato dell'autorità di certificazione radice utilizzata per generare il certificato del nodo PostgreSQL. |
Connettersi tramite SSH come root al nodo PostgreSQL di cui si desidera aggiornare i certificati ed eseguire i comandi seguenti per sostituire i certificati:
1 2 3 4 5 6 7 8 9 10 | |
Per finalizzare la modifica dei certificati è necessario riavviare il nodo PostgreSQL:
1 | |