Obnovení certifikátů clusteru PostgreSQL¶
Příprava¶
Obnovení certifikátu¶
Před provedením jakýchkoli akcí na uzlech clusteru PostgreSQL připravte nové certifikáty pro každý z uzlů clusteru. Připomínáme, že certifikáty musí splňovat několik omezení uvedených v předpokladech clusteru PostgreSQL.
Pokud chcete provést změnu za běhu bez dopadu na produkční provoz, musíte splnit následující podmínky:
- Certifikační autorita nebyla od posledního generování certifikátů uzlů PostgreSQL obnovena
- Platnost certifikační autority nevyprší během doby platnosti nových certifikátů
- Stále můžete generovat a podepisovat certifikáty stejnou certifikační autoritou, která byla použita při generování předchozích certifikátů uzlů PostgreSQL
- Platnost certifikátů uzlů PostgreSQL ještě nevypršela
Pokud jsou tyto podmínky splněny, můžete zvážit obnovení certifikátů za běhu bez přerušení produkčního provozu.
Chcete-li znovu vygenerovat certifikáty pomocí PKI openssl, která je volitelně uvedena v dokumentaci k instalaci clusteru PostgreSQL, musíte znovu použít klíč certifikační autority a potom znovu spustit příkazy pro generování certifikátů.
Pokud není možné obnovit certifikáty za běhu a používáte PKI přes openssl, doporučujeme vytvořit novou.
Příprava certifikátů¶
Do adresáře /tmp/ na každém z uzlů PostgreSQL budete muset odeslat certifikát kořenové certifikační autority s příponou .crt.
Certifikát a jeho přidružený privátní klíč budete také muset odeslat do /tmp/ na každý z uzlů PostgreSQL. Pokud máte k dispozici pouze jeden soubor .p12, spusťte následující příkazy, abyste z něj extrahovali certifikát (psql.crt) a privátní klíč (psql.key):
1 2 | |
V předchozích příkazech nahraďte P12_CERT názvem svého souboru certifikátu .p12.
Obnovení certifikátu¶
Upozornění!
Pokud můžete a chcete certifikáty aktualizovat za provozu s minimálním výpadkem produkce (1 minuta + odhlášení uživatelů), musíte:
- Obnovovat certifikáty postupně na každém uzlu
- Obnovovat certifikáty pouze na uzlu
REPLICA(viz, jak získat informace z uzluLEADER) - Vždy mít v provozu alespoň dva uzly PostgreSQL a pracovat na třetím
- Chcete-li pracovat na uzlu
LEADER, přepněte roliLEADERna jiný uzel; tato akce způsobí odhlášení uživatelů a nedostupnost platformy přibližně na 1 minutu
Pro zjednodušení následujících kroků přizpůsobte proměnné v níže uvedených příkazech svým hodnotám (přizpůsobení upravte pro každý uzel PostgreSQL):
| Hodnota | Proměnná | Definice |
|---|---|---|
PSQL_CERT |
Nový certifikát uzlu PostgreSQL. | |
PSQL_KEY |
Klíč přidružený k novému certifikátu uzlu PostgreSQL. | |
PSQL_CA |
Certifikát kořenové certifikační autority, který byl použit k vygenerování certifikátu uzlu PostgreSQL. |
Připojte se přes SSH jako root k uzlu PostgreSQL, jehož certifikáty chcete aktualizovat, a spusťte následující příkazy, abyste certifikáty nahradili:
1 2 3 4 5 6 7 8 9 10 | |
Chcete-li dokončit změnu certifikátů, musíte uzel PostgreSQL restartovat:
1 | |