Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Distribuire un cluster PostgreSQL sulle istanze di computazione Oracle Cloud Infrastructure
Introduzione
PostgreSQL è un sistema open source di gestione di database relazionali ad oggetti. È altamente estensibile, altamente scalabile e dispone di molte funzionalità. PostgreSQL supporta la replica dei dati in più data center.
Questa esercitazione mostra una distribuzione tipica a tre nodi di un cluster PostgreSQL sulle istanze di computazione Oracle Cloud Infrastructure (OCI). In questa esercitazione, i server vengono configurati nella configurazione principale e in standby e utilizzano la replica in streaming.
Le istruzioni per l'automazione sono disponibili qui: terraform-oci-arch-postgresql.
Nota: installerà automaticamente
postgis34
epgvector
.
Diagramma architettura
Obiettivi
-
Distribuire un cluster PostgreSQL a tre nodi.
-
Modifica il codice per adattarlo meglio alle tue esigenze.
Prerequisiti
-
Autorizzazione per gestire le risorse seguenti nella tenancy OCI: reti cloud virtuali (VCN), gateway Internet, tabelle di instradamento, liste di sicurezza, subnet e istanze.
-
Creare le risorse riportate di seguito.
- 1 VCN,
- 1 Subnet,
- 1 Gateway Internet,
- 1 regole di instradamento e
- 3 istanze di computazione (1 istanza PostgreSQL principale primaria e 2 istanze in standby di PostgreSQL).
Task 1: distribuire il codice Terraform utilizzando OCI Resource Manager
La distribuzione può essere eseguita in due modi, utilizzando l'interfaccia CLI (Command Line Interface) terraform o OCI Resource Manager. In questa esercitazione verrà utilizzato OCI Resource Manager.
Per l'interfaccia CLI di terraform, consultare la documentazione del repository qui: terraform-oci-arch-postgresql.
-
Fare clic sull'immagine seguente per avviare il processo OCI Resource Manager che distribuirà le risorse.
-
Se non si è ancora connessi, immettere la tenancy e le credenziali utente, rivedere e accettare i termini e le condizioni, selezionare l'area e il compartimento in cui si desidera che risieda lo stack e fare clic su Successivo per passare al passo successivo alla procedura Configura variabili.
-
In Configura variabili immettere le informazioni riportate di seguito per configurare le variabili.
- Compartimento: selezionare il compartimento in cui si desidera distribuire le risorse.
- Dominio di disponibilità per il dominio di disponibilità principale PostgreSQL: selezionare il dominio di disponibilità per l'istanza di computazione principale.
- PostgreSQL Versione: è possibile selezionare le versioni 9.6, 10, 11, 12 o 13.
- Password PostgreSQL: impostare una password per accedere a PostgreSQL.
- Distribuisci prima PostgreSQL HotStandby: selezionare questa opzione se si desidera distribuire il primo standby.
- Distribuisci secondo PostgreSQL HotStandby: selezionare questa opzione se si desidera distribuire il secondo standby.
- Crea in subnet privata: selezionare questa opzione se si desidera che le istanze vengano create in una subnet privata.
Nota:
- La distribuzione del primo e del secondo PostgreSQL HotStandby consente di distribuire uno, due o tre nodi.
- Se si sceglie di creare in una subnet privata, verrà creato un servizio Bastion OCI per consentire l'accesso.
-
Fare clic su Mostra opzioni avanzate per immettere ulteriori informazioni sulle variabili configurabili.
- Configurazione facoltativa di rete: consente di specificare la VCN e i CIDR della subnet e se creare o meno un gateway di instradamento dinamico (DRG).
- Configurazione facoltativa di computazione, storage e backup: consente di aggiungere una chiave SSH pubblica per accedere alle istanze PostgreSQL e configurare i backup.
- PostgreSQL Configurazione facoltativa principale: specificare il dominio di errore, la forma, la CPU e la memoria dell'istanza principale PostgreSQL per le forme flessibili.
- PostgreSQL HotStandby1 Configurazione facoltativa: specificare il dominio di disponibilità della prima istanza in standby PostgreSQL, il dominio di errore, la forma, la CPU e la memoria per le forme flessibili.
- PostgreSQL HotStandby2 Configurazione facoltativa: specificare il dominio di disponibilità della seconda istanza di standby PostgreSQL, il dominio di errore, la forma, la CPU e la memoria per le forme flessibili.
-
Fare clic su Successivo per rivedere le informazioni.
Nota:
- Deselezionare Esegui applicazione se si desidera eseguire prima un piano.
- Se si seleziona Esegui applicazione, verrà attivato il comando terraform apply e verrà avviato automaticamente il provisioning delle risorse.
-
Fare clic su Crea.
Task 2: eliminare la distribuzione
Per eliminare le risorse, andare alla pagina Dettagli stack e fare clic su Elimina.
Comprendere le modalità di installazione e configurazione di PostgreSQL
Queste informazioni sono utili se è necessario modificare il funzionamento di PostgreSQL.
Ti aiuterà a capire:
-
Dove si trova esattamente l'installazione e la configurazione.
-
L'ordine di esecuzione degli script.
-
Una panoramica generale di ciò che ogni script fa.
Nota: in questa sezione non viene descritto come personalizzare l'automazione. A seconda delle modifiche, potrebbero essere necessarie modifiche in più file di terraform.
-
I file importanti che utilizziamo in questo tutorial sono:
remote.tf
: file Terraform in cui gli script vengono distribuiti in ogni istanza PostgreSQL.scripts/postgresql_install_binaries.sh
: installa il server PostgreSQL, alcune estensioni e configura il firewall.scripts/postgresql_master_initdb.sh
: inizializza il database.scripts/postgresql_master_setup.sh
: configura la replica per PostgreSQL standby1.scripts/postgresql_master_setup2.sh
: configura la replica per PostgreSQL standby2.scripts/postgresql_standby_setup.sh
: configurazione aggiuntiva per le repliche quali firewall, numero massimo di connessioni, modifica direplica.conf
.
-
Gli script vengono eseguiti nel seguente ordine:
scripts/postgresql_install_binaries.sh
: viene eseguito sull'istanza principale PostgreSQL.scripts/postgresql_master_initdb.sh
viene eseguito sull'istanza principale PostgreSQL.scripts/postgresql_install_binaries.sh
viene eseguito sull'istanza PostgreSQL standby1.scripts/postgresql_install_binaries.sh
viene eseguito sull'istanza PostgreSQL standby2.scripts/postgresql_master_setup.sh
viene eseguito sull'istanza principale PostgreSQL.scripts/postgresql_master_setup2.sh
viene eseguito sull'istanza principale PostgreSQL.scripts/postgresql_standby_setup.sh
viene eseguito sull'istanza PostgreSQL standby1.scripts/postgresql_standby_setup.sh
viene eseguito sull'istanza PostgreSQL standby2.
Conferme
- Autore - Gabriel Feodorov (Senior Cloud Engineer)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione del prodotto, visita l'Oracle Help Center.
Deploy a PostgreSQL Cluster on Oracle Cloud Infrastructure Compute Instances
G25660-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.