Fornyelse af certifikaterne til PostgreSQL-clusteret¶
Forberedelser¶
Fornyelse af certifikatet¶
Inden du udfører nogen handlinger på noderne i PostgreSQL-clusteret, skal du forberede nye certifikater til hver af clusterets noder. Til erindring: certifikaterne skal overholde flere begrænsninger, der er angivet i forudsætningerne for PostgreSQL-clusteret.
Hvis du vil foretage ændringen i drift uden at påvirke produktionen, skal du opfylde følgende betingelser:
- Certificeringsmyndigheden er ikke blevet fornyet siden den seneste generering af certifikater til PostgreSQL-noderne
- Certificeringsmyndigheden udløber ikke i de nye certifikaters gyldighedsperiode
- Du kan fortsat generere og signere certifikater med den samme certificeringsmyndighed, som blev brugt, da de tidligere certifikater til PostgreSQL-noderne blev genereret
- Certifikaterne til PostgreSQL-noderne er endnu ikke udløbet
Hvis disse betingelser er opfyldt, kan du overveje at fornye certifikaterne i drift uden at afbryde produktionen.
For at regenerere certifikaterne med den openssl-PKI, der eventuelt er beskrevet i dokumentationen til installation af PostgreSQL-clusteret, skal du genbruge certificeringsmyndighedens nøgle og derefter køre kommandoerne til generering af certifikater igen.
Hvis det ikke er muligt at fornye certifikaterne i drift, og du bruger en PKI via openssl, anbefaler vi, at du opretter en ny.
Forberedelse af certifikaterne¶
Du skal sende certifikatet fra rodcertificeringsmyndigheden med filtypen .crt til /tmp/ på hver af PostgreSQL-noderne.
Du skal også sende certifikatet og den tilhørende private nøgle til /tmp/ på hver af PostgreSQL-noderne. Hvis du kun har én .p12-fil til rådighed, skal du køre følgende kommandoer for at udtrække certifikatet (psql.crt) og den private nøgle (psql.key):
1 2 | |
Erstat P12_CERT i de foregående kommandoer med navnet på din .p12-certifikatfil.
Fornyelse af certifikatet¶
Advarsel!
Hvis du kan og ønsker at opdatere certifikaterne i drift med minimal nedetid i produktionen (1 minut + brugerne logges af), skal du:
- Fornye certifikaterne sekventielt på hver node
- Kun fornye certifikaterne på en
REPLICA-node (se, hvordan du henter oplysninger omLEADER-noden) - Altid have mindst to PostgreSQL-noder i drift og arbejde på den tredje
- For at arbejde på
LEADER-noden skal du skifteLEADERtil en anden node; denne handling medfører, at brugerne logges af, og at platformen er utilgængelig i cirka 1 minut
For at forenkle de følgende handlinger skal du tilpasse variablerne i kommandoerne nedenfor med dine værdier (tilpasningen skal ændres for hver PostgreSQL-node):
| Værdi | Variabel | Definition |
|---|---|---|
PSQL_CERT |
Nyt certifikat til PostgreSQL-noden. | |
PSQL_KEY |
Nøgle, der er knyttet til det nye certifikat til PostgreSQL-noden. | |
PSQL_CA |
Certifikat fra den rodcertificeringsmyndighed, der blev brugt til at generere certifikatet til PostgreSQL-noden. |
Forbind via SSH som root til den PostgreSQL-node, hvis certifikater du vil opdatere, og kør følgende kommandoer for at erstatte certifikaterne:
1 2 3 4 5 6 7 8 9 10 | |
For at afslutte ændringerne af certifikaterne skal du genstarte PostgreSQL-noden:
1 | |