De certificaten van het PostgreSQL-cluster vernieuwen¶
Voorbereidingen¶
Vernieuwing van het certificaat¶
Bereid, voordat u acties op de nodes van het PostgreSQL-cluster uitvoert, nieuwe certificaten voor elk van de nodes van het cluster voor. Ter herinnering: de certificaten moeten voldoen aan verschillende beperkingen die zijn vermeld in de voorwaarden van het PostgreSQL-cluster.
Als u de wijziging tijdens de werking wilt uitvoeren zonder de productie te beïnvloeden, moet u aan de volgende voorwaarden voldoen:
- De certificeringsinstantie is niet vernieuwd sinds de laatste generatie van de certificaten van de PostgreSQL-nodes
- De certificeringsinstantie verloopt niet tijdens de geldigheidsduur van de nieuwe certificaten
- U kunt nog steeds certificaten genereren en ondertekenen met dezelfde certificeringsinstantie die is gebruikt toen de vorige certificaten van de PostgreSQL-nodes werden gegenereerd
- De certificaten van de PostgreSQL-nodes zijn nog niet verlopen
Als aan deze voorwaarden is voldaan, kunt u overwegen de certificaten tijdens de werking te vernieuwen zonder de productie te onderbreken.
Om de certificaten opnieuw te genereren met de PKI openssl die optioneel wordt beschreven in de documentatie over de installatie van het PostgreSQL-cluster, moet u de sleutel van de certificeringsinstantie hergebruiken en vervolgens de opdrachten voor het genereren van de certificaten opnieuw uitvoeren.
Als het niet mogelijk is de certificaten tijdens de werking te vernieuwen en u een PKI via openssl gebruikt, raden wij aan een nieuwe aan te maken.
Voorbereiding van de certificaten¶
U moet het certificaat van de root-certificeringsinstantie met de extensie .crt naar elk van de PostgreSQL-nodes in /tmp/ sturen.
U moet ook het certificaat en de bijbehorende privésleutel naar elk van de PostgreSQL-nodes in /tmp/ sturen. Als u alleen een .p12-bestand tot uw beschikking hebt, voer dan de volgende opdrachten uit om het certificaat (psql.crt) en de privésleutel (psql.key) te extraheren:
1 2 | |
Vervang in de voorgaande opdrachten P12_CERT door de naam van uw .p12-certificaatbestand.
Vernieuwing van het certificaat¶
Waarschuwing!
Als u de certificaten tijdens de werking kunt en wilt bijwerken met een minimale onderbreking van de productie (1 minuut + afmelding van de gebruikers), moet u:
- De certificaten op elke node achtereenvolgens vernieuwen
- De certificaten alleen op een node
REPLICAvernieuwen (zie hoe u de informatie over de nodeLEADERopvraagt) - Altijd minstens twee PostgreSQL-nodes operationeel houden en op de derde werken
- Om op de node
LEADERte werken, schakelt u deLEADERover naar een andere node; deze actie leidt tot afmelding van de gebruikers en tot een onbeschikbaarheid van het platform van ongeveer 1 minuut
Pas, om de volgende acties te vereenvoudigen, de variabelen in de onderstaande opdrachten aan met uw waarden (de aanpassing moet voor elke PostgreSQL-node worden gewijzigd):
| Waarde | Variabele | Definitie |
|---|---|---|
PSQL_CERT |
Nieuw certificaat van de PostgreSQL-node. | |
PSQL_KEY |
Sleutel die bij het nieuwe certificaat van de PostgreSQL-node hoort. | |
PSQL_CA |
Certificaat van de root-certificeringsinstantie die is gebruikt om het certificaat van de PostgreSQL-node te genereren. |
Maak via SSH als root verbinding met de PostgreSQL-node waarvan u de certificaten wilt bijwerken en voer de volgende opdrachten uit om de certificaten te vervangen:
1 2 3 4 5 6 7 8 9 10 | |
Om de wijzigingen van de certificaten af te ronden, moet u de PostgreSQL-node opnieuw starten:
1 | |