Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creazione e connessione di un cluster di database Aurora PostgreSQL
Questo tutorial illustra come creare un'istanza EC2 e un cluster di database Aurora PostgreSQL. Il tutorial mostra come accedere al cluster di database dall'istanza EC2 utilizzando il client PostgreSQL standard. Come best practice, questo tutorial spiega come creare un cluster di database privato in un cloud privato virtuale (VPC). Nella maggior parte dei casi, le risorse presenti nello stesso VPC, come le istanze EC2, possono accedere al cluster di database, mentre le risorse esterne al VPC non possono accedervi.
Dopo aver completato il tutorial, è presente una sottorete pubblica e una privata in ogni zona di disponibilità del VPC. In una zona di disponibilità, l'istanza EC2 si trova nella sottorete pubblica mentre l'istanza database si trova nella sottorete privata.
Importante
Non vi sono costi aggiuntivi per la creazione di un account AWS. Tuttavia, completando questo tutorial, potresti incorrere in costi per le risorse AWS utilizzate. È possibile eliminare queste risorse dopo aver completato l'esercitazione se non sono più necessarie.
Il seguente diagramma illustra la configurazione al completamento del tutorial.
Questo tutorial consente di creare le risorse utilizzando uno dei seguenti metodi:
-
Utilizzare la AWS Management Console ‐ Fase 1: creazione di un'istanza EC2 e Fase 2: creazione di un cluster di database Aurora PostgreSQL
-
Utilizzare AWS CloudFormation per creare l’istanza database e l’istanza EC2 ‐ (Facoltativo) Creazione di VPC, istanza EC2 e cluster Aurora PostgreSQL utilizzando AWS CloudFormation
Il primo metodo utilizza Creazione semplice per creare un cluster di database Aurora PostgreSQL privato con la AWS Management Console. Si specifica solo il tipo di motore di database, la dimensione dell’istanza database e l’identificatore del cluster di database. Easy create (Creazione rapida) utilizza l'impostazione predefinita per altre opzioni di configurazione.
Quando invece si utilizza la Creazione standard, si specificano più opzioni di configurazione al momento della creazione di un cluster di database. Queste opzioni includono impostazioni per la disponibilità, la sicurezza, i backup e la manutenzione. Per creare un cluster di database pubblico, è necessario utilizzare la Creazione standard. Per informazioni, consultare Creazione di un cluster database Amazon Aurora.
Argomenti
Fase 2: creazione di un cluster di database Aurora PostgreSQL
Fase 3: connessione a un cluster di database Aurora PostgreSQL
Fase 4: eliminazione dell'istanza EC2 e del cluster di database
(Facoltativo) Eliminazione dell’istanza EC2 e del cluster di database creati con CloudFormation
(Facoltativo) Connessione del cluster database a una funzione Lambda
Prerequisiti
Prima di iniziare, completa le fasi descritte in questa sezione:
Fase 1: creazione di un'istanza EC2
Crea un'istanza Amazon EC2 da utilizzare per connetterti al database.
Per creare un'istanza EC2
Accedi a AWS Management Console e apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/
. -
Nell'angolo in alto a destra della AWS Management Console, scegli la Regione AWS in cui creare l'istanza EC2.
-
Seleziona Pannello di controllo EC2, quindi Avvia istanza, come visualizzato di seguito.
Viene visualizzata la pagina Avvia un'istanza.
-
Scegli le seguenti impostazioni nella pagina Avvia un'istanza.
-
Nell'area Name and tags (Nome e tag), in Name (Nome) inserisci
ec2-database-connect. -
In Immagini applicazione e sistema operativo (Amazon Machine Image), scegli Amazon Linux, quindi AMI Amazon Linux 2023. Mantieni le selezioni predefinite per le altre opzioni.
-
In Instance type (Tipo di istanza), scegli t2.micro.
-
In Key pair (login) (Coppia di chiavi (login), per Key pair name (Nome della coppia di chiavi), scegli una coppia di chiavi esistente. Per creare una nuova coppia di chiavi per l'istanza Amazon EC2, scegli Create new key pair (Crea nuova coppia di chiavi) e quindi utilizza la finestra Create key pair (Crea coppia di chiavi) per crearla.
Per ulteriori informazioni sulla creazione di una nuova coppia di chiavi, consulta Creazione di una coppia di chiavi nella Guida per l’utente di Amazon EC2.
-
In Consenti traffico SSH, nell'area Impostazioni di rete scegliere l'origine delle connessioni SSH all'istanza EC2.
È possibile scegliere My IP (Il mio IP) se l'indirizzo IP visualizzato è corretto per le connessioni SSH. In caso contrario, è possibile determinare l'indirizzo IP da utilizzare per connettersi alle istanze EC2 nel VPC utilizzando Secure Shell (SSH). Per determinare l'indirizzo IP pubblico, in una finestra o una scheda del browser diversa, è possibile utilizzare il servizio all'indirizzo https://checkip.amazonaws.com
. Un esempio di indirizzo IP è 192.0.2.1/32. In molti casi, è possibile eseguire la connessione tramite un fornitore di servizi Internet (ISP) o con la protezione di un firewall senza un indirizzo IP statico. In tal caso, accertati di determinare l'intervallo di indirizzi IP utilizzati dai computer client.
avvertimento
Se utilizzi
0.0.0.0/0per l'accesso SSH, consenti a tutti gli indirizzi IP di accedere alle istanze EC2 pubbliche utilizzando SSH. Questo approccio è accettabile per un breve periodo di tempo in un ambiente di test, ma non è sicuro per gli ambienti di produzione. In produzione, autorizza solo un determinato indirizzo IP o un intervallo di indirizzi per accedere alle istanze EC2 utilizzando SSH.L'immagine seguente mostra un esempio della sezione Impostazioni di rete.
-
Lascia i valori predefiniti per le sezioni rimanenti.
-
Analizza un riepilogo della configurazione dell'istanza EC2 nel pannello Riepilogo e, quando è tutto pronto, scegli Avvia istanza.
-
-
Nella pagina Stato avvio prendi nota dell'identificatore per la nuova istanza EC2, ad esempio:
i-1234567890abcdef0.
-
Scegli l'identificatore dell'istanza EC2 per aprire l'elenco delle istanze EC2, quindi seleziona l'istanza EC2.
-
Nella scheda Dettagli, annota i seguenti valori, necessari quando ti connetti tramite SSH:
-
In Riepilogo istanza, annota il valore visualizzato in DNS IPv4 pubblico.
-
In Dettagli istanza, annota il valore visualizzato in Nome coppia di chiavi.
-
-
Attendi che Stato dell'istanza diventi In esecuzione per l'istanza EC2 prima di continuare.
Fase 2: creazione di un cluster di database Aurora PostgreSQL
In questo esempio, utilizzi la Creazione semplice per creare un cluster di database Aurora PostgreSQL con una classe di istanza database db.t4g.large.
Per creare un cluster di database Aurora PostgreSQL con Creazione semplice
-
Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. Nell'angolo in alto a destra della console Amazon RDS, scegli la Regione AWS in cui desideri creare il cluster di database.
-
Nel riquadro di navigazione, scegliere Databases (Database).
-
Scegli Crea database e verifica che l'opzione Creazione semplice sia selezionata.
-
In Configurazione scegli Aurora (compatibile con PostgreSQL) per Tipo di motore.
-
Per DB instance size (Dimensione istanza database), seleziona Dev/Test.
-
Per Identificatore cluster di database, immetti
database-test1.La pagina Create database (Crea database) la pagina dovrebbe apparire simile alla seguente immagine.
-
In Nome utente master, inserisci un nome per l'utente o lascia invariato il nome predefinito (
postgres). -
Per utilizzare una password master generata automaticamente per il cluster di database, seleziona Genera automaticamente una password.
Per inserire la password master, deseleziona la casella Genera automaticamente una password e inserisci la stessa password in Password master e Conferma password.
-
Per configurare una connessione con l'istanza EC2 creata in precedenza, apri Configura connessione EC2 - opzionale.
Seleziona Connetti a una risorsa di calcolo EC2. Scegli l'istanza EC2 creata in precedenza.
-
Apri Visualizza le impostazioni predefinite per la creazione Semplice.
Puoi esaminare le impostazioni predefinite utilizzate con Easy create (Creazione rapida). La colonna Modificabile dopo la creazione del database mostra le opzioni che puoi modificare dopo aver creato il database.
-
Se un'impostazione contiene No in quella colonna e desideri cambiarla, puoi utilizzare la Creazione standard per creare il cluster di database.
-
Se un'impostazione contiene Sì in quella colonna e desideri cambiarla, puoi utilizzare la Creazione standard per creare il cluster di database o modificare il cluster di database dopo averlo creato per cambiare l'impostazione.
-
-
Scegliere Crea database.
Per vedere nome utente e password per il cluster di database, seleziona Visualizza i dettagli delle credenziali.
Per connetterti al cluster di database come utente master, utilizza il nome utente e la password visualizzati.
Importante
Non potrai visualizzare di nuovo la password dell'utente principale. Se non la registri, potresti doverla modificare.
Se devi modificare la password dell'utente principale dopo che il cluster database è disponibile, puoi modificare il cluster database per eseguire tale operazione. Per ulteriori informazioni sulla modifica di un cluster di database, consultare Modifica di un cluster database Amazon Aurora.
-
Nell'elenco Database seleziona il nome del nuovo cluster di database Aurora PostgreSQL per visualizzarne i dettagli.
L'istanza di scrittura ha lo stato Creazione in corso fino a quando il cluster di database non è pronto per essere utilizzato.
Quando lo stato dell'istanza di scrittura cambia in Disponibile, puoi connetterti al cluster di database. A seconda della classe di istanza database e della quantità di storage, prima che il nuovo cluster di database sia disponibile possono trascorrere fino a 20 minuti.
(Facoltativo) Creazione di VPC, istanza EC2 e cluster Aurora PostgreSQL utilizzando AWS CloudFormation
Invece di utilizzare la console per creare il VPC, l’istanza EC2 e il cluster di database Aurora PostgreSQL, è possibile utilizzare AWS CloudFormation per allocare le risorse AWS considerandole infrastructure as code. Per organizzare le risorse AWS in unità più piccole e gestibili, è possibile utilizzare la funzionalità stack nidificato di AWS CloudFormation. Per ulteriori informazioni, consultare Creazione di uno stack sulla console AWS CloudFormation e Utilizzo di stack nidificati.
Importante
AWS CloudFormation è utilizzabile gratuitamente, ma le risorse create da CloudFormation sono in tempo reale. Il costo di utilizzo standard per queste risorse sarà addebitato finché non vengono terminate. Per ulteriori informazioni, consulta Prezzi di Amazon Aurora
Per creare le risorse utilizzando la console AWS CloudFormation, completare i seguenti passaggi:
Passaggio 1: download del modello CloudFormation
Passaggio 2: configurazione delle risorse utilizzando CloudFormation
Download del modello CloudFormation
Un modello CloudFormation è un file di testo in formato JSON o YAML che contiene le informazioni sulla configurazione delle risorse da creare nello stack. Questo modello crea automaticamente anche un VPC e un host bastione insieme al cluster Aurora.
Per scaricare il file modello, aprire il seguente link, Aurora PostgreSQL CloudFormation template
Nella pagina Github, fare clic sul pulsante Scarica file non elaborato per salvare il file YAML.
Configurazione delle risorse utilizzando CloudFormation
Nota
Prima di iniziare questo processo, è necessario avere una coppia di chiavi per un’istanza EC2 nell’Account AWS. Per ulteriori informazioni, consulta Coppie di chiavi Amazon EC2 e istanze Linux.
Quando si utilizza il modello AWS CloudFormation, è necessario selezionare i parametri appropriati affinché le risorse vengano create correttamente. Segui la procedura riportata di seguito:
Accedere alla AWS Management Console e aprire la console di AWS CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation
. Scegli Crea stack.
Nella sezione Specifica modello, selezionare Carica un file modello dal computer, quindi scegliere Avanti.
Nella pagina Specifica i dettagli dello stack, impostare i seguenti parametri:
Impostare Nome stack su AurPostgreSQLTestStack.
In Parametri, impostare Zone di disponibilità selezionando due zone di disponibilità.
Nella Configurazione host bastione Linux, per Nome chiave, selezionare una coppia di chiavi per accedere all’istanza EC2.
Nelle impostazioni Configurazione host bastione Linux, impostare Intervallo IP consentito sull’indirizzo IP in uso. Per connettersi alle istanze EC2 nel VPC utilizzando Secure Shell (SSH), determinare l’indirizzo IP pubblico utilizzando il servizio all’indirizzo https://checkip.amazonaws.com
. Un esempio di indirizzo IP è 192.0.2.1/32. avvertimento
Se utilizzi
0.0.0.0/0per l'accesso SSH, consenti a tutti gli indirizzi IP di accedere alle istanze EC2 pubbliche utilizzando SSH. Questo approccio è accettabile per un breve periodo di tempo in un ambiente di test, ma non è sicuro per gli ambienti di produzione. In produzione, autorizza solo un determinato indirizzo IP o un intervallo di indirizzi per accedere alle istanze EC2 utilizzando SSH.In Configurazione generale del database, impostare la Classe di istanza del database su db.t4g.large.
Impostare il Nome del database su
database-test1.Per Nome utente principale del database, specificare il nome dell’utente master.
Impostare Gestisci password utente master di database con Secrets Manager su
falseper questo tutorial.Per Password del database, impostare una password a scelta. Tenere a mente questa password per altri passaggi del tutorial.
Impostare Implementazione Multi-AZ su
false.Lasciare i valori predefiniti per tutte le altre impostazioni. Fare clic su Avanti per continuare.
Nella pagina Configura opzioni dello stack, lasciare tutte le opzioni predefinite. Fare clic su Avanti per continuare.
Nella pagina Rivedi stack, selezionare Invia dopo aver verificato le opzioni del database e dell’host bastione Linux.
Una volta completato il processo di creazione dello stack, visualizzare gli stack con i nomi BastionStack e APGNS per annotare le informazioni necessarie per la connessione al database. Per ulteriori informazioni, consulta Visualizzazione dei dati stack e delle risorse AWS CloudFormation sulla AWS Management Console.
Fase 3: connessione a un cluster di database Aurora PostgreSQL
È possibile utilizzare qualsiasi applicazione client PostgreSQL standard per la connessione al cluster di database. In questo esempio, ti connetti a un cluster di database Aurora PostgreSQL utilizzando il client della linea di comando psql.
Per effettuare la connessione a un cluster di database Aurora PostgreSQL
-
Individua l'endpoint (nome DNS) e il numero di porta per l'istanza di scrittura del cluster di database.
-
Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. Nell'angolo superiore destro della console Amazon RDS, scegli la Regione AWS del cluster di database.
-
Nel riquadro di navigazione, scegliere Databases (Database).
-
Scegli il nome del cluster di database Aurora PostgreSQL per visualizzarne i dettagli.
-
Nella scheda Connettività e sicurezza, copia l'endpoint dell'istanza di scrittura. Annotare anche il numero di porta. L'endpoint e il numero di porta sono necessari per la connessione al cluster di database.
-
-
Eseguire la connessione all’istanza EC2 creata in precedenza seguendo la procedura riportata in Connect to your Linux instance nella Guida per l’utente di Amazon EC2.
Ti consigliamo di connetterti all'istanza EC2 tramite SSH. Se l'utilità client SSH è installata su Windows, Linux o Mac, puoi connetterti all'istanza utilizzando il comando nel seguente formato:
ssh -ilocation_of_pem_fileec2-user@ec2-instance-public-dns-nameAd esempio, supponi che
ec2-database-connect-key-pair.pemsia archiviato in/dir1su Linux e che il DNS IPv4 pubblico per l'istanza EC2 siaec2-12-345-678-90.compute-1.amazonaws.com. Il comando SSH sarà simile al seguente:ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com Ottieni le ultime correzioni di bug e gli aggiornamenti di sicurezza aggiornando il software sulla tua istanza EC2. A tale scopo, utilizzare il comando seguente.
Nota
L'opzione
-yinstalla gli aggiornamenti senza chiedere conferma. Per esaminare gli aggiornamenti prima di installarli, omettere questa opzione.sudo dnf update -y-
Installa il client della linea di comando psql da PostgreSQL su Amazon Linux 2023 utilizzando il seguente comando:
sudo dnf install postgresql15 -
Effettua la connessione al cluster di database Aurora PostgreSQL. Ad esempio, immetti il comando seguente: Questa azione ti consente di effettuare la connessione al cluster di database Aurora PostgreSQL utilizzando il client psql.
Sostituisci l'endpoint dell'istanza di scrittura per
, sostituisci il nome databaseendpoint--dbnamea cui vuoi connetterti pere sostituisci il nome utente master utilizzato perpostgres. Devi fornire la password master utilizzata quando viene richiesta una password.postgrespsql --host=endpoint--port=5432 --dbname=postgres--username=postgresDopo aver immesso la password per l'utente, l'output dovrebbe essere analogo a quanto mostrato di seguito.
psql (14.3, server 14.6) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. postgres=>Per ulteriori informazioni sulla connessione a un cluster di database Aurora PostgreSQL, consulta Connessione a un cluster di database Amazon Aurora PostgreSQL. In caso di mancata connessione al cluster database, consulta Impossibile connettersi all'istanza database di Amazon RDS.
Per motivi di sicurezza, la best practice è utilizzare connessioni crittografate. Utilizza una connessione PostgreSQL non crittografata solo quando il client e il server sono nello stesso VPC e la rete è attendibile. Per ulteriori informazioni sull'uso di connessioni crittografate, consulta Sicurezza dei dati Aurora PostgreSQL con SSL/TLS.
-
Eseguire comandi SQL.
Ad esempio, il seguente comando SQL mostra la data e l'ora correnti:
SELECT CURRENT_TIMESTAMP;
Fase 4: eliminazione dell'istanza EC2 e del cluster di database
Dopo la connessione e l'esplorazione dell'istanza EC2 e del cluster di database di esempio che hai creato, eliminale per evitare di ricevere l'addebito dei relativi costi.
Se in passato è stato utilizzato AWS CloudFormation per creare le risorse, ignorare questo passaggio e andare a quello successivo.
Per eliminare l'istanza EC2
Accedi a AWS Management Console e apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/
. -
Nel pannello di navigazione, seleziona Instances (Istanze).
-
Seleziona l'istanza EC2 e scegli Stato istanza, Termina istanza.
-
Quando viene richiesta la conferma, seleziona Interrompi.
Per ulteriori informazioni sull’eliminazione di un’istanza EC2, consulta Interruzione di un’istanza nella Guida per l’utente di Amazon EC2.
Per eliminare un cluster database
Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. -
Scegliere Databases (Database), quindi selezionare l'istanza database associata con il cluster di database.
-
In Actions (Azioni), selezionare Delete (Elimina).
-
Scegliere Delete (Elimina).
Dopo aver eliminato tutte le istanze database associate a un cluster di database, il cluster di database viene eliminato automaticamente.
(Facoltativo) Eliminazione dell’istanza EC2 e del cluster di database creati con CloudFormation
Se è stato utilizzato AWS CloudFormation per creare le risorse, eliminare lo stack CloudFormation dopo la connessione e l’esplorazione dell’istanza EC2 e del cluster di database di esempio per evitare di ricevere l’addebito dei relativi costi.
Per eliminare le risorse CloudFormation
Aprire la console AWS CloudFormation.
-
Nella pagina Stack della console CloudFormation, selezionare lo stack root (lo stack non denominato VPCStack, BastionStack o APGNS).
-
Scegliere Delete (Elimina).
-
Quando viene richiesta la conferma, selezionare Elimina stack.
Per ulteriori informazioni su come eliminare uno stack in CloudFormation, consulta Eliminazione di uno stack sulla console AWS CloudFormation nella Guida per l’utente di AWS CloudFormation.
(Facoltativo) Connessione del cluster database a una funzione Lambda
È anche possibile connettere il cluster di database Aurora PostgreSQL a una risorsa di calcolo serverless Lambda. Le funzioni Lambda consentono di eseguire il codice senza il provisioning o la gestione dell'infrastruttura. Una funzione Lambda consente inoltre di rispondere automaticamente alle richieste di esecuzione del codice su qualsiasi scala, da una dozzina di eventi al giorno a centinaia al secondo. Per ulteriori informazioni, consulta Connessione automatica di una funzione Lambda e di un cluster database Aurora.