Reînnoirea certificatelor clusterului PostgreSQL¶
Pregătiri¶
Reînnoirea certificatului¶
Înainte de a efectua orice acțiune pe nodurile clusterului PostgreSQL, pregătiți certificate noi pentru fiecare dintre nodurile clusterului. Vă amintim că certificatele trebuie să respecte mai multe constrângeri precizate în cerințele preliminare ale clusterului PostgreSQL.
Dacă doriți să efectuați modificarea din mers, fără impact asupra producției, trebuie să îndepliniți următoarele condiții:
- Autoritatea de certificare nu a fost reînnoită de la ultima generare a certificatelor nodurilor PostgreSQL
- Autoritatea de certificare nu va expira în perioada de validitate a noilor certificate
- Puteți încă genera și semna certificate cu aceeași autoritate de certificare care a fost utilizată la generarea certificatelor anterioare ale nodurilor PostgreSQL
- Certificatele nodurilor PostgreSQL nu au expirat încă
Dacă aceste condiții sunt îndeplinite, atunci puteți lua în considerare reînnoirea certificatelor din mers, fără a întrerupe producția.
Pentru a regenera certificatele cu ajutorul PKI openssl indicată, opțional, în documentația de instalare a clusterului PostgreSQL, trebuie să reutilizați cheia autorității de certificare, apoi să reluați comenzile de generare a certificatelor.
Dacă nu este posibil să reînnoiți certificatele din mers și utilizați o PKI prin openssl, vă recomandăm să creați una nouă.
Pregătirea certificatelor¶
Va trebui să trimiteți în /tmp/ certificatul autorității de certificare rădăcină, cu extensia .crt, către fiecare dintre nodurile PostgreSQL.
Va trebui de asemenea să trimiteți în /tmp/ certificatul și cheia privată asociată către fiecare dintre nodurile PostgreSQL. Dacă dispuneți doar de un fișier .p12, executați următoarele comenzi pentru a extrage certificatul (psql.crt) și cheia privată (psql.key):
1 2 | |
Înlocuiți în comenzile precedente P12_CERT cu numele fișierului dumneavoastră de certificat .p12.
Reînnoirea certificatului¶
Atenție!
Dacă puteți și doriți să efectuați o actualizare a certificatelor din mers, cu o indisponibilitate minimă a producției (1 minut + deconectarea utilizatorilor), va trebui să:
- Reînnoiți certificatele în mod secvențial pe fiecare nod
- Reînnoiți certificatele numai pe un nod
REPLICA(consultați cum se obțin informațiile despre nodulLEADER) - Aveți întotdeauna cel puțin două noduri PostgreSQL operaționale și lucrați pe al treilea
- Pentru a lucra pe nodul
LEADER, comutațiLEADER-ul pe un alt nod; această acțiune va provoca deconectarea utilizatorilor și indisponibilitatea platformei pentru aproximativ 1 minut
Pentru a simplifica acțiunile următoare, personalizați variabilele din comenzile de mai jos cu valorile dumneavoastră (modificați personalizarea pentru fiecare nod PostgreSQL):
| Valoare | Variabilă | Definiție |
|---|---|---|
PSQL_CERT |
Certificatul nou al nodului PostgreSQL. | |
PSQL_KEY |
Cheia asociată noului certificat al nodului PostgreSQL. | |
PSQL_CA |
Certificatul autorității de certificare rădăcină care a fost utilizată pentru a genera certificatul nodului PostgreSQL. |
Conectați-vă prin SSH ca root la nodul PostgreSQL ale cărui certificate doriți să le actualizați și executați următoarele comenzi pentru a înlocui certificatele:
1 2 3 4 5 6 7 8 9 10 | |
Pentru a finaliza modificarea certificatelor, trebuie să reporniți nodul PostgreSQL:
1 | |