Distribuisci un database PostgreSQL

PostgreSQL è un sistema di gestione del database relazionale degli oggetti open source. E'altamente estensibile, altamente scalabile, e ha molte caratteristiche. PostgreSQL supporta la replica dei dati in più data center.

Nota

Oracle Cloud Infrastructure (OCI) offre anche un servizio PostgreSQL completamente gestito in OCI. Puoi trovare ulteriori informazioni qui: Prova il meglio di PostgreSQL con il database OCI con PostgreSQL.

Architettura

Questa architettura di riferimento mostra una distribuzione tipica di tre nodi di un cluster PostgreSQL sulle istanze di Oracle Cloud Infrastructure Compute. In questa architettura i server sono configurati nella configurazione master e in standby e utilizzano la replica di streaming con la spedizione dei log basata su file.

Il seguente diagramma illustra questa architettura di riferimento.

Segue la descrizione di postgre-oci.png
Descrizione dell'immagine postgre-oci.png

postgre-oci-oracle.zip

L'architettura ha i seguenti componenti:

  • Area

    Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni, e vaste distanze possono separarle (tra paesi o addirittura continenti).

  • Domini di disponibilità

    I domini di disponibilità sono data center indipendenti e autonomi all'interno di un'area. Le risorse fisiche in ogni dominio di disponibilità vengono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono infrastrutture quali l'alimentazione o il raffreddamento o la rete di dominio di disponibilità interna. È pertanto improbabile che un errore in un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.

  • Domini di errore

    Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando si distribuiscono risorse su più domini di errore, le applicazioni possono tollerare errori fisici del server, la manutenzione del sistema e gli errori di alimentazione all'interno di un dominio di errore.

  • Rete cloud virtuale (VCN) e subnet

    Un VCN è una rete customizzabile e definita dal software impostata in un'area Oracle Cloud Infrastructure. Come le reti di data center tradizionali, i VCN consentono di controllare completamente l'ambiente di rete. Un VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo la creazione di VCN. È possibile segmentare un VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet in VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

    Questa architettura utilizza una subnet pubblica per ospitare le tre istanze di calcolo che eseguono PostgreSQL. È possibile scegliere di utilizzare una subnet privata se l'architettura lo richiede.

  • VPN da sito a sito

    La VPN da sito a sito fornisce la connettività IPSec VPN tra la tua rete on premise e le VCN in Oracle Cloud Infrastructure. La suite di protocolli IPSec cifra il traffico IP prima che i pacchetti vengano trasferiti dall'origine alla destinazione e decifra il traffico quando arriva.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect offre un modo semplice per creare una connessione dedicata e privata tra il tuo data center e Oracle Cloud Infrastructure. FastConnect fornisce opzioni di larghezza di banda più elevata e un'esperienza di rete più affidabile rispetto alle connessioni basate su Internet.

  • Gateway di instradamento dinamico (DRG)

    Il gateway DRG è un router virtuale che fornisce un percorso per il traffico di rete privato tra VCN nella stessa area, tra una VCN e una rete esterna all'area, ad esempio una VCN in un'altra area Oracle Cloud Infrastructure, una rete on premise o una rete in un altro provider cloud.

    Questa architettura mostra un gateway di instradamento dinamico (DRG) facoltativo per una subnet privata.

  • Gateway Internet

    Il gateway Internet consente il traffico tra le subnet pubbliche in una VCN e la rete Internet pubblica.

  • Gateway NAT (Network Address Translation)

    Un gateway NAT consente alle risorse private in una VCN di accedere agli host su Internet, senza esporre tali risorse alle connessioni Internet in entrata.

  • Servizio bastion

    Oracle Cloud Infrastructure Bastion offre un accesso sicuro limitato nel tempo e a risorse che non dispongono di endpoint pubblici e che richiedono controlli rigorosi per l'accesso alle risorse, ad esempio Bare Metal e virtual machine, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) e qualsiasi altra risorsa che consenta l'accesso SSH (Secure Shell Protocol). Con il servizio Bastion Oracle Cloud Infrastructure, puoi abilitare l'accesso agli host privati senza distribuire e gestire un host jump. Inoltre, puoi ottenere livelli di sicurezza migliori con autorizzazioni basate sull'identità e una sessione SSH centralizzata, controllata e limitata dal tempo. Il bastion di Oracle Cloud Infrastructure rimuove la necessità di un IP pubblico per l'accesso bastion, eliminando la superficie di attacco potenzialmente e velando per l'accesso remoto.

  • Tabella di instradamento

    Le tabelle di instradamento virtuale contengono regole per instradare il traffico dalle subnet alle destinazioni esterne a una VCN, in genere attraverso i gateway.

  • Liste di sicurezza

    Per ogni subnet è possibile creare regole di sicurezza che specifichino l'origine, la destinazione e il tipo di traffico che devono essere consentiti all'interno e all'esterno della subnet.

    Questa architettura aggiunge regole di ingresso per la porta TCP 5432. I server PostgreSQL ascoltano sulla porta TCP 5432.

  • Volume a blocchi

    Con i volumi di storage a blocchi, puoi creare, collegare, connettere e spostare volumi di storage e modificare le prestazioni dei volumi per soddisfare i requisiti di storage, prestazioni e applicazioni. Dopo aver collegato e connesso un volume a un'istanza, puoi utilizzare tale volume come un'unità disco rigido normale. Puoi anche disconnettere un volume e collegarlo a un'altra istanza senza perdere dati.

  • PostgreSQL

    PostgreSQL è un sistema RDBMS (Relational Database Management System) open source estremamente estensibile e altamente scalabile. Supporta l'esecuzione di query SQL (relative) e JSON (non relazionali).

Suggerimenti

Le vostre esigenze potrebbero differire dall'architettura descritta qui. Utilizzare come punto di inizio i suggerimenti riportati di seguito.

  • Calcola forme

    Questa architettura utilizza un'immagine del sistema operativo Oracle Linux 9 con un VM.Standard.E4. Forma flessibile. È possibile scegliere una forma diversa se le esigenze delle risorse dell'applicazione sono diverse.

  • VCN

    Quando si crea un VCN, determinare il numero di blocchi CIDR richiesti e la dimensione di ciascun blocco in base al numero di risorse che si prevede di allegare alle subnet in VCN. Utilizzare blocchi CIDR all'interno dello spazio degli indirizzi IP privati standard.

    Selezionare un intervallo di indirizzi che non si sovrapponga alla rete in locale, in modo da poter impostare una connessione tra VCN e la rete in locale, se necessario.

    Dopo aver creato un VCN, è possibile modificare, aggiungere e rimuovere i relativi blocchi CIDR.

    Quando si progettano le subnet, prendere in considerazione i requisiti di funzionalità e sicurezza. Allegare tutte le istanze di calcolo all'interno dello stesso livello o ruolo alla stessa subnet.

    Utilizzare subnet regionali.

Considerazioni

  • Scalabilità

    Questa architettura distribuisce il nodo principale di PostgreSQL in un dominio di errore e i nodi in standby negli altri due domini di errore.

    È possibile scalare verticalmente il cluster PostgreSQL modificando la forma VM di ogni nodo di calcolo. L'utilizzo di una forma con un conteggio core superiore aumenta anche la memoria allocata all'istanza di computazione e alla larghezza di banda di rete.

  • Disponibilità applicazione

    I domini di errore forniscono la migliore resilienza all'interno di un singolo dominio di disponibilità. Questa architettura utilizza un altro approccio all'High Availability: la distribuzione delle istanze di computazione che eseguono gli stessi task su più domini di errore. Questo design rimuove un singolo punto di guasto introducendo ridondanza.

    Dopo la distribuzione dell'architettura, è possibile connettersi all'indirizzo IP pubblico del nodo PostgreSQL utilizzando strumenti SSH come PuTTY o Git Bash. È possibile utilizzare psql per le operazioni DDL e DML nel database PostgreSQL. È possibile utilizzare lo strumento pgAdmin per eseguire operazioni di amministrazione.

  • Costo

    Selezionare una forma di virtual machine (VM) in base alle memorie centrali, alla memoria e alla larghezza di banda di rete necessarie per il database. È possibile iniziare con una forma one-core e, se sono necessarie ulteriori prestazioni, memoria o larghezza di banda di rete per il nodo di database, è possibile modificare la forma VM in un secondo momento.

Log modifiche

Questo log elenca le modifiche significative:

Conferme

  • Author: Lukasz Feldman
  • Contributor: Wei Han