Ανανέωση των πιστοποιητικών του συμπλέγματος PostgreSQL¶
Προετοιμασίες¶
Ανανέωση πιστοποιητικών¶
Πριν εκτελέσετε οποιαδήποτε ενέργεια στους κόμβους του συμπλέγματος PostgreSQL, προετοιμάστε νέα πιστοποιητικά για καθέναν από τους κόμβους του συμπλέγματος. Υπενθυμίζεται ότι τα πιστοποιητικά πρέπει να συμμορφώνονται με διάφορους περιορισμούς που καθορίζονται στα προαπαιτούμενα του συμπλέγματος PostgreSQL.
Εάν θέλετε να κάνετε την αλλαγή εν λειτουργία χωρίς να επηρεαστεί η παραγωγή, πρέπει να πληρούνται οι ακόλουθες προϋποθέσεις:
- Η αρχή έκδοσης πιστοποιητικών δεν έχει ανανεωθεί από την τελευταία παραγωγή των πιστοποιητικών των κόμβων PostgreSQL
- Η αρχή έκδοσης πιστοποιητικών δεν θα λήξει κατά τη διάρκεια της περιόδου ισχύος των νέων πιστοποιητικών
- Μπορείτε ακόμη να παραγάγετε και να υπογράψετε πιστοποιητικά με την ίδια αρχή έκδοσης πιστοποιητικών που χρησιμοποιήθηκε κατά την παραγωγή των προηγούμενων πιστοποιητικών των κόμβων PostgreSQL
- Τα πιστοποιητικά των κόμβων PostgreSQL δεν έχουν λήξει ακόμη
Εάν πληρούνται αυτές οι προϋποθέσεις, μπορείτε να εξετάσετε την ανανέωση των πιστοποιητικών εν λειτουργία χωρίς διακοπή της παραγωγής.
Για να δημιουργήσετε εκ νέου τα πιστοποιητικά χρησιμοποιώντας την υποδομή PKI openssl που αναφέρεται, προαιρετικά, στην τεκμηρίωση εγκατάστασης του συμπλέγματος PostgreSQL, πρέπει να χρησιμοποιήσετε ξανά το κλειδί της αρχής έκδοσης πιστοποιητικών και, στη συνέχεια, να εκτελέσετε ξανά τις εντολές δημιουργίας των πιστοποιητικών.
Εάν δεν είναι δυνατή η ανανέωση των πιστοποιητικών εν λειτουργία και χρησιμοποιείτε υποδομή PKI μέσω openssl, συνιστάται να δημιουργήσετε μια νέα.
Προετοιμασία των πιστοποιητικών¶
Θα πρέπει να στείλετε στον κατάλογο /tmp/ καθενός από τους κόμβους PostgreSQL το πιστοποιητικό της αρχής έκδοσης πιστοποιητικών ρίζας, με επέκταση .crt.
Θα πρέπει επίσης να στείλετε στον κατάλογο /tmp/ καθενός από τους κόμβους PostgreSQL το πιστοποιητικό και το συσχετισμένο ιδιωτικό κλειδί του. Εάν διαθέτετε μόνο ένα αρχείο .p12, εκτελέστε τις παρακάτω εντολές για να εξαγάγετε το πιστοποιητικό (psql.crt) και το ιδιωτικό κλειδί (psql.key):
1 2 | |
Στις προηγούμενες εντολές, αντικαταστήστε το P12_CERT με το όνομα του αρχείου πιστοποιητικού .p12.
Ανανέωση πιστοποιητικού¶
Προειδοποίηση!
Εάν μπορείτε και επιθυμείτε να πραγματοποιήσετε ενημέρωση εν λειτουργία των πιστοποιητικών με ελάχιστο χρόνο διακοπής της παραγωγής (1 λεπτό + αποσύνδεση των χρηστών), θα πρέπει:
- Να ανανεώσετε τα πιστοποιητικά διαδοχικά σε κάθε κόμβο
- Να ανανεώσετε τα πιστοποιητικά μόνο σε κόμβο
REPLICA(δείτε πώς να ανακτήσετε πληροφορίες από τον κόμβοLEADER) - Να διατηρείτε πάντα τουλάχιστον δύο κόμβους PostgreSQL σε λειτουργία και να εργάζεστε στον τρίτο
- Για να εργαστείτε στον κόμβο
LEADER, μεταφέρετε τον ρόλοLEADERσε άλλον κόμβο· η ενέργεια αυτή θα προκαλέσει την αποσύνδεση των χρηστών και τη μη διαθεσιμότητα της πλατφόρμας για περίπου 1 λεπτό
Για να απλοποιήσετε τις ενέργειες που ακολουθούν, προσαρμόστε τις μεταβλητές των παρακάτω εντολών με τις δικές σας τιμές (τροποποιήστε την προσαρμογή για κάθε κόμβο PostgreSQL):
| Τιμή | Μεταβλητή | Ορισμός |
|---|---|---|
PSQL_CERT |
Νέο πιστοποιητικό του κόμβου PostgreSQL. | |
PSQL_KEY |
Κλειδί συσχετισμένο με το νέο πιστοποιητικό του κόμβου PostgreSQL. | |
PSQL_CA |
Πιστοποιητικό της αρχής έκδοσης πιστοποιητικών ρίζας που χρησιμοποιήθηκε για τη δημιουργία του πιστοποιητικού του κόμβου PostgreSQL. |
Συνδεθείτε μέσω SSH ως root στον κόμβο PostgreSQL του οποίου τα πιστοποιητικά θέλετε να ενημερώσετε και εκτελέστε τις παρακάτω εντολές για να αντικαταστήσετε τα πιστοποιητικά:
1 2 3 4 5 6 7 8 9 10 | |
Για να ολοκληρώσετε τις αλλαγές των πιστοποιητικών, πρέπει να επανεκκινήσετε τον κόμβο PostgreSQL:
1 | |