Voraussetzungen¶
Maschine¶
Betriebsbedingungen¶
Der PostgreSQL-Cluster, der von der Appliance bereitgestellt wird, basiert auf einem 64-Bit-Debian 12 (Buchwürmer) Betriebssystem.
CPU¶
Es wird empfohlen, 4 CPU-Cores pro Knoten im PostgreSQL-Cluster zuzuweisen.
RAM¶
Es wird empfohlen, 4 GB RAM pro Knoten im PostgreSQL-Cluster zuzuweisen.
Disk¶
Die virtuelle Appliance wird mit einer virtuellen Festplatte von 60 GB geliefert.
Netzwerk¶
Ein PostgreSQL-Cluster benötigt 4 IP-Adressen:
- 1 echte IP-Adresse pro PostgreSQL-Knoten
- 1 virtuelle IP-Adresse für den PostgreSQL-Cluster
Warning
Die realen und virtuellen IP-Adressen der PostgreSQL-Clusterknoten müssen alle demselben Subnetz angehören.
Die Knoten des PostgreSQL-Clusters werden normalerweise im LAN platziert, um von cyberelements.io oder cyberelements Cleanroom über Edge Gateways zugegriffen zu werden.
Um die verschiedenen Maschinenadressen besser zu identifizieren, werden sie in der Dokumentation wie folgt benannt:
| IP-Adressname | Bedeutung |
|---|---|
RIP_PSQL_1 |
Echte IP-Adresse des PostgreSQL-Knoten n°1. |
RIP_PSQL_2 |
Echte IP-Adresse des PostgreSQL-Knoten n°2. |
RIP_PSQL_3 |
Echte IP-Adresse des PostgreSQL-Knoten Nr. 3 |
VIP_PSQL |
Virtuelle IP-Adresse des PostgreSQL-Clusters. |
| Quelle | Bestimmungsort | Bestimmungshafen | Anmerkungen |
|---|---|---|---|
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
Debian-Repositories | TCP 80 | Erforderlich für die Installation von cyberelements Cleanroom Abhängigkeiten und die Aktualisierung des Systems. Die Dokumentation und virtuelle Appliances verwenden ftp.fr.debian.org und security.debian.org. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
DNS-Server | UDP 53 | Erforderlich für die DNS-Auflösung. Optional, wenn ein DNS-Server im LAN oder in der DMZ verfügbar ist. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
NTP-Zeitserver | UDP 123 | Optional, wenn der Server seine Uhr mit einem Server im LAN oder DMZ synchronisieren muss. Standardmäßig werden die Debian-Pools verwendet: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org und 3.debian.pool.ntp.org. |
| Quelle | Bestimmungsort | Bestimmungshafen | Anmerkungen |
|---|---|---|---|
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 2379 | Port für den Clusterbetrieb verwendet und von ETCD abgehört. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 2380 | Port für den Clusterbetrieb verwendet und von ETCD abgehört. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 5432 | SQL-Verbindungsport, der von PostgreSQL übernommen wird (Standardport kann geändert werden). |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 8008 | Port für den Clusterbetrieb verwendet und von Patroni abgehört. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
DNS-Server | UDP 53 | Erforderlich für die DNS-Auflösung. Optional, wenn ein DNS-Server im WAN oder in der DMZ verfügbar ist. |
RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
NTP-Zeitserver | UDP 123 | Optional, wenn der Server seine Uhr mit einem Server im WAN oder DMZ synchronisieren muss. Standardmäßig werden die Debian-Pools verwendet: 0.debian.pool.ntp.org, 1.debian.pool.ntp.org, 2.debian.pool.ntp.org und 3.debian.pool.ntp.org. |
| IP-Adressen oder Netzwerkbereich von Verwaltungsarbeitsplätzen | RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 22 | Fernverwaltungsschnittstelle SSH |
| IP-Adressen oder Netzwerkbereich von Verwaltungsarbeitsstationen | RIP_PSQL_1 RIP_PSQL_2 RIP_PSQL_3 |
TCP 5432 | SQL-Verbindungsport, der von PostgreSQL verwendet wird (Standardport kann geändert werden). |
| IP-Adressen oder Netzwerkbereich von Verwaltungsarbeitsplätzen | VIP_PSQL |
TCP 5432 | SQL-Verbindungsport, der von PostgreSQL verwendet wird (Standardport kann geändert werden). |
| IP-Adressen von Edge-Gateways, die auf den PostgreSQL-Cluster zugreifen müssen | VIP_PSQL |
TCP 5432 | SQL-Verbindungsport, der von PostgreSQL verwendet wird (Standardport kann geändert werden). |
Bescheinigungen¶
Der PostgreSQL-Cluster verschlüsselt die Kommunikationsflüsse zwischen seinen Knoten für den Clusterbetrieb sowie für SQL-Verbindungen.
Die nachstehenden Informationen geben eine Zusammenfassung der für PostgreSQL-Clusterzertifikate erforderlichen Einstellungen und Optionen.
Jeder PostgreSQL-Knoten verwendet ein einzelnes Zertifikat, muss aber auch das Zertifikatswort (CA) -Zertifikat importieren.
Die Wurzel CA wird voraussichtlich im Base64-kodierten crt-Format sein.
Das PostgreSQL-Knotenzertifikat muss folgende Einstellungen erfüllen:
- Die für die Signatur verwendete Hash-Funktion muss Teil der SHA-2-Familie sein; wir empfehlen SHA-512.
- Das Zertifikat und die Zertifikate seiner Zertifizierungsstellen müssen einen privaten Schlüssel von mindestens 2048 Bit mit RSA-, DSA- und DH-Verschlüsselung haben; bei elliptischen Kurven-Schlüsseln (ECC) müssen diese mindestens 224 Bit betragen. Wir empfehlen eine Größe von 4096 Bit für RSA und die secp384r1-ECDSA-Kurve mit einer Größe von 384 Bit.
- Die
Common NameDas Attribut muss den Kurznamen des Servers als Wert haben (die Angabe des FQDN führt zu Fehlern). - Die
Key UsageDas Attribut muss die Werte habencritical,digitalSignatureundkeyEncipherment. - Die
Extended Key UsageDas Attribut muss die Werte habenserverAuthundclientAuth. - Die
Subject Alternative NameDas Attribut muss definiert sein, um Folgendes abzudecken:- Name des PostgreSQL-Knoten, der mit der realen IP-Adresse verknüpft ist
- Name des PostgreSQL-Clusters, der mit der virtuellen IP-Adresse verknüpft ist
- Die tatsächliche IP-Adresse des PostgreSQL-Knoten
- Die virtuelle IP-Adresse des PostgreSQL-Clusters
Erwartetes Format des Zertifikats: P12.