PostgreSQL-Datenbank bereitstellen

PostgreSQL ist ein objektbezogenes Open-Source-Datenbankverwaltungssystem. Es ist hocherweiterbar, hochgradig skalierbar und hat viele Funktionen. PostgreSQL unterstützt Datenreplikation über mehrere Rechenzentren hinweg.

Hinweis:

Oracle Cloud Infrastructure (OCI) bietet einen vollständig verwalteten PostgreSQL-Service in OCI. Weitere Informationen finden Sie hier: Erleben Sie das Beste von PostgreSQL mit OCI Database unter PostgreSQL.

Architektur

Diese Referenzarchitektur zeigt ein typisches Deployment mit drei Knoten eines PostgreSQL-Clusters auf Oracle Cloud Infrastructure Compute-Instanzen. In dieser Architektur werden die Server in der Master- und Standbykonfiguration konfiguriert und die Streamingreplikation mit dateibasiertem Logversand verwendet.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung von postgre-oci.png folgt
Beschreibung der Abbildung postgre-oci.png

postgre-oci-oracle.zip

Die Architektur verfügt über folgende Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Rechenzentrum (Availability-Domains) enthält. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).

  • Verfügbarkeitsdomains

    Availability-Domains sind eigenständige, unabhängige Rechenzentren innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain werden von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz bietet. Verfügbarkeitsdomänen teilen keine Infrastruktur wie Strom oder Kühlung oder das interne Availability-Domänennetzwerk. Ein Fehler bei einer Availability-Domain wirkt sich daher unwahrscheinlich auf die anderen Availability-Domains in der Region aus.

  • Fault-Domains

    Eine Faultdomain ist eine Gruppierung von Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain verfügt über drei Faultdomains mit unabhängiger Power und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physischen Serverausfall, Systemwartung und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region eingerichtet haben. Wie herkömmliche Rechenzentrumsnetze geben VCNs Ihnen die vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überlappende CIDR-Blöcke enthalten, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die für eine Region oder eine Availability-Domain Geltungsbereich haben können. Jedes Subnetz besteht aus einem zusammenhängenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

    Diese Architektur verwendet ein öffentliches Subnetz, um die drei Compute-Instanzen mit PostgreSQL zu hosten. Sie können ein privates Subnetz verwenden, wenn Ihre Architektur dies erfordert.

  • Site-to-Site-VPN

    Das Site-to-Site-VPN stellt eine IPSec-VPN-Konnektivität zwischen Ihrem On-Premise-Netzwerk und VCNs in Oracle Cloud Infrastructure bereit. Die IPSec-Protokollfamilie verschlüsselt den IP-Traffic, bevor die Pakete von der Quelle zum Ziel übertragen werden, und entschlüsselt den Traffic, wenn er ankommt.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect bietet eine einfache Möglichkeit, eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure zu erstellen. FastConnect bietet im Vergleich zu internetbasierten Verbindungen höhere Bandbreitenoptionen und eine zuverlässigere Netzwerkerfahrung.

  • Dynamisches Routinggateway (DRG)

    Das DRG ist ein virtueller Router, der einen Pfad für privaten Netzwerktraffic zwischen VCNs in derselben Region zwischen einem VCN und einem Netzwerk außerhalb der Region bereitstellt, wie ein VCN in einer anderen Oracle Cloud Infrastructure-Region, einem On-Premise-Netzwerk oder einem Netzwerk in einem anderen Cloud-Provider.

    Diese Architektur zeigt ein optionales dynamisches Routinggateway (Dynamic Routing Gateway, DRG) für ein privates Subnetz an.

  • Internetgateway

    Das Internetgateway ermöglicht Traffic zwischen den öffentlichen Subnetzen in einem VCN und dem öffentlichen Internet.

  • Network Address Translation-(NAT-)Gateway

    Ein NAT-Gateway ermöglicht privaten Ressourcen in einem VCN den Zugriff auf Hosts im Internet, ohne dass diese Ressourcen für eingehende Internetverbindungen freigegeben werden.

  • Bastionsservice

    Oracle Cloud Infrastructure Bastion bietet eingeschränkten und zeitlich begrenzten sicheren Zugriff auf Ressourcen, die keine öffentlichen Endpunkte haben und strenge Ressourcenzugriffskontrollen erfordern, wie Bare-Metal- und virtuelle Maschinen, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) und jede andere Ressource, die Secure Shell Protocol-(SSH-)Zugriff zulässt. Mit dem Oracle Cloud Infrastructure-Bastion-Service können Sie den Zugriff auf private Hosts aktivieren, ohne einen Jump-Host bereitzustellen und zu verwalten. Außerdem erhalten Sie eine verbesserte Sicherheitslage mit identitätsbasierten Berechtigungen und einer zentralen, auditierten und zeitgebundenen SSH-Session. Mit Oracle Cloud Infrastructure Bastion ist keine öffentliche IP mehr für Bastionzugriffe erforderlich. Dadurch entfällt die problemlose und potenzielle Angriffsfläche, wenn Sie Remotezugriff bereitstellen.

  • Route-Tabelle

    Virtuelle Routentabellen enthalten Regeln, um Traffic von Subnetzen an Ziele außerhalb eines VCN weiterzuleiten, in der Regel über Gateways.

  • Sicherheitslisten

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die die Quelle, das Ziel und den Traffictyp angeben, die im Subnetz und außerhalb des Subnetzes zulässig sein müssen.

    Diese Architektur fügt Ingressregeln für TCP-Port 5432 hinzu. PostgreSQL-Server hören auf TCP-Port 5432 zu.

  • Volume blockieren

    Mit Block Storage Volumes können Sie Speicher-Volumes erstellen, anschließen, verbinden und verschieben und die Volume-Performance entsprechend Ihren Speicher-, Performance- und Anwendungsanforderungen ändern. Nach dem Anhängen und Verbinden eines Volumes mit einer Instanz können Sie das Volume wie ein herkömmliches Festplattenlaufwerk verwenden. Sie können ein Volume auch trennen und an eine andere Instanz anschließen, ohne Daten zu verlieren.

  • PostgreSQL

    PostgreSQL ist ein relationales Open-Source-Datenbankverwaltungssystem (RDBMS), das hoch erweiterbar und hoch skalierbar ist. Es unterstützt die Abfrage von SQL (relational) und JSON (nicht relational)

Empfehlungen

Ihre Anforderungen können von der hier beschriebenen Architektur abweichen. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.

  • Compute Shapes

    Diese Architektur verwendet ein Oracle Linux 9-BS-Image mit einer VM.Standard.E4. Flex-Form. Sie können eine andere Ausprägung auswählen, wenn die Ressourcenanforderungen Ihrer Anwendung unterschiedlich sind.

  • VCN

    Wenn Sie ein VCN erstellen, bestimmen Sie die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze in VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich im standardmäßigen privaten IP-Adressraum befinden.

    Wählen Sie einen Adressbereich, der sich nicht mit Ihrem On-Premise-Netzwerk überschneidet, sodass Sie gegebenenfalls eine Verbindung zwischen VCN und Ihrem On-Premise-Netzwerk einrichten können.

    Nachdem Sie ein VCN erstellt haben, können Sie die CIDR-Blöcke ändern, hinzufügen und entfernen.

    Wenn Sie die Subnetze entwerfen, berücksichtigen Sie Ihre Funktionalität und Sicherheitsanforderungen. Ordnen Sie alle Compute-Instanzen innerhalb derselben Ebene oder Rolle an dasselbe Subnetz zu.

    Regionale Subnetze verwenden

Überlegungen

  • Skalierbarkeit

    Diese Architektur stellt den PostgreSQL-Masterknoten in einer Faultdomain und die Standbyknoten in den anderen zwei Faultdomains bereit.

    Sie können das PostgreSQL-Cluster vertikal skalieren, indem Sie die VM-Form jedes Compute-Knotens ändern. Durch die Verwendung einer Form mit einer höheren Coreanzahl wird auch der Speicher erhöht, der der Compute-Instanz und der Netzwerkbandbreite zugewiesen ist.

  • Anwendungsverfügbarkeit

    Fault-Domains bieten die beste Resilienz innerhalb einer einzelnen Availability-Domain. Diese Architektur verwendet einen anderen Ansatz für hohe Verfügbarkeit: Compute-Instanzen bereitstellen, die dieselben Aufgaben in mehreren Faultdomains ausführen. Dieses Design entfernt einen einzelnen Fehlerpunkt, indem Redundanz eingeführt wird.

    Nachdem die Architektur bereitgestellt wurde, können Sie sich mit SSH-Tools wie PuTTY oder Git Bash bei der öffentlichen IP-Adresse des PostgreSQL-Knotens anmelden. Sie können psql für DDL- und DML-Vorgänge in der PostgreSQL-Datenbank verwenden. Mit dem pgAdmin-Tool können Sie Administrationsvorgänge ausführen.

  • Kostenfaktor

    Wählen Sie eine VM-(Virtual Machine-) Form basierend auf den Kernen, dem Speicher und der Netzwerkbandbreite, die Sie für Ihre Datenbank benötigen. Sie können mit einer One-Core-Form beginnen. Wenn Sie mehr Performance, Speicher oder Netzwerkbandbreite für den Datenbankknoten benötigen, können Sie die VM-Form später ändern.

Änderungslog

In diesem Log werden bedeutende Änderungen aufgeführt:

Bestätigungen

  • Author: Lukasz Feldman
  • Contributor: Wei Han