Die Zertifikate des PostgreSQL-Clusters erneuern¶
Vorbereitungen¶
Erneuerung des Zertifikats¶
Bereiten Sie vor jeder Aktion auf den Knoten des PostgreSQL-Clusters neue Zertifikate für jeden der Knoten des Clusters vor. Zur Erinnerung: Die Zertifikate müssen mehrere Einschränkungen erfüllen, die in den Voraussetzungen des PostgreSQL-Clusters angegeben sind.
Wenn Sie die Änderung im laufenden Betrieb vornehmen möchten, ohne die Produktion zu beeinträchtigen, müssen Sie die folgenden Bedingungen erfüllen:
- Die Zertifizierungsstelle wurde seit der letzten Erzeugung der Zertifikate der PostgreSQL-Knoten nicht erneuert
- Die Zertifizierungsstelle läuft während der Gültigkeitsdauer der neuen Zertifikate nicht ab
- Sie können weiterhin Zertifikate mit derselben Zertifizierungsstelle erzeugen und signieren, die bei der Erzeugung der vorherigen Zertifikate der PostgreSQL-Knoten verwendet wurde
- Die Zertifikate der PostgreSQL-Knoten sind noch nicht abgelaufen
Wenn diese Bedingungen erfüllt sind, können Sie eine Erneuerung der Zertifikate im laufenden Betrieb ohne Unterbrechung der Produktion in Betracht ziehen.
Um die Zertifikate mit der PKI openssl neu zu erzeugen, die optional in der Dokumentation zur Installation des PostgreSQL-Clusters beschrieben ist, müssen Sie den Schlüssel der Zertifizierungsstelle wiederverwenden und anschließend die Befehle zur Erzeugung der Zertifikate erneut ausführen.
Wenn eine Erneuerung der Zertifikate im laufenden Betrieb nicht möglich ist und Sie eine PKI über openssl verwenden, empfehlen wir, eine neue zu erstellen.
Vorbereitung der Zertifikate¶
Sie müssen das Zertifikat der Wurzelzertifizierungsstelle mit der Erweiterung .crt an jeden der PostgreSQL-Knoten in /tmp/ senden.
Sie müssen außerdem das Zertifikat und den zugehörigen privaten Schlüssel an jeden der PostgreSQL-Knoten in /tmp/ senden. Wenn Sie nur eine .p12-Datei zur Verfügung haben, führen Sie die folgenden Befehle aus, um das Zertifikat (psql.crt) und den privaten Schlüssel (psql.key) zu extrahieren:
1 2 | |
Ersetzen Sie in den vorherigen Befehlen P12_CERT durch den Namen Ihrer .p12-Zertifikatsdatei.
Erneuerung des Zertifikats¶
Achtung!
Wenn Sie die Zertifikate im laufenden Betrieb mit einer minimalen Unterbrechung der Produktion aktualisieren können und möchten (1 Minute + Abmeldung der Benutzer), müssen Sie:
- Die Zertifikate auf jedem Knoten nacheinander erneuern
- Die Zertifikate nur auf einem Knoten
REPLICAerneuern (siehe, wie sich die Informationen zum KnotenLEADERabrufen lassen) - Immer mindestens zwei PostgreSQL-Knoten betriebsbereit halten und am dritten arbeiten
- Um am Knoten
LEADERzu arbeiten, schalten Sie denLEADERauf einen anderen Knoten um; diese Aktion führt zur Abmeldung der Benutzer und zu einer Nichtverfügbarkeit der Plattform von etwa 1 Minute
Um die folgenden Aktionen zu vereinfachen, passen Sie die Variablen in den nachstehenden Befehlen mit Ihren Werten an (die Anpassung ist für jeden PostgreSQL-Knoten zu ändern):
| Wert | Variable | Definition |
|---|---|---|
PSQL_CERT |
Neues Zertifikat des PostgreSQL-Knotens. | |
PSQL_KEY |
Schlüssel, der zum neuen Zertifikat des PostgreSQL-Knotens gehört. | |
PSQL_CA |
Zertifikat der Wurzelzertifizierungsstelle, die zur Erzeugung des Zertifikats des PostgreSQL-Knotens verwendet wurde. |
Verbinden Sie sich per SSH als root mit dem PostgreSQL-Knoten, dessen Zertifikate Sie aktualisieren möchten, und führen Sie die folgenden Befehle aus, um die Zertifikate zu ersetzen:
1 2 3 4 5 6 7 8 9 10 | |
Um die Änderungen der Zertifikate abzuschließen, müssen Sie den PostgreSQL-Knoten neu starten:
1 | |