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'istanza database PostgreSQL
Questo tutorial crea un' EC2 istanza e un'istanza DB RDS per PostgreSQL. Il tutorial mostra come accedere all'istanza DB dall' EC2 istanza utilizzando un client PostgreSQL standard. Come best practice, questo tutorial spiega come creare un'istanza database privata in un cloud privato virtuale (VPC). Nella maggior parte dei casi, altre risorse nello stesso VPC, come EC2 le istanze, possono accedere all'istanza DB, ma 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' EC2 istanza si trova nella sottorete pubblica e l'istanza DB si trova nella sottorete privata.
Importante
Non è previsto alcun costo per la creazione di un AWS account. Tuttavia, completando questo tutorial, potresti incorrere in costi per le AWS risorse che utilizzi. È 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:
-
Usa ‐ e Console di gestione AWS Crea un' EC2 istanza Creazione di un’istanza database PostgreSQL
-
Utilizzare CloudFormation per creare l'istanza e EC2 l'istanza del database ‐ (Facoltativo) Crea VPC, EC2 istanza e istanza PostgreSQL utilizzando CloudFormation
Il primo metodo utilizza Creazione semplice per creare un’istanza database privata di PostgreSQL DB con la Console di gestione AWS. In questo caso, specifichi solo il tipo di motore di database, la dimensione dell’istanza database e l’identificatore dell’istanza database. Easy create (Creazione rapida) utilizza l'impostazione predefinita per altre opzioni di configurazione.
Quando utilizzi la Creazione standard invece, puoi specificare diverse opzioni di configurazione al momento della creazione di un’istanza database. Tali opzioni includono impostazioni per la disponibilità, la sicurezza, i backup e la manutenzione. Per creare un'istanza database pubblica, è necessario utilizzare la Creazione standard. Per informazioni, consulta Creazione di un'istanza database Amazon RDS.
Argomenti
Prerequisiti
Prima di iniziare, completa le fasi descritte in questa sezione:
Crea un' EC2 istanza
Crea un' EC2 istanza Amazon da utilizzare per connetterti al tuo database.
Per creare un' EC2 istanza
Accedi a Console di gestione AWS e apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Nell'angolo in alto a destra di Console di gestione AWS, scegli l'istanza Regione AWS in cui desideri creare l'istanza. EC2
-
Scegli EC2 Dashboard, quindi scegli Launch instance, come mostrato nell'immagine seguente.
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' EC2 istanza Amazon, scegli Crea nuova coppia di chiavi, quindi utilizza la finestra Crea key pair per crearla.
Per ulteriori informazioni sulla creazione di una nuova coppia di chiavi, consulta Create a key pair nella Amazon EC2 User Guide.
-
Per Consenti il traffico SSH nelle impostazioni di rete, scegli l'origine delle connessioni SSH all' EC2istanza.
È possibile scegliere My IP (Il mio IP) se l'indirizzo IP visualizzato è corretto per le connessioni SSH. Altrimenti, puoi determinare l'indirizzo IP da utilizzare per connetterti alle EC2 istanze nel tuo VPC utilizzando Secure Shell (SSH). Per determinare il tuo indirizzo IP pubblico, in un'altra finestra o scheda del browser, puoi 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 si utilizza
0.0.0.0/0l'accesso SSH, si consente a tutti gli indirizzi IP di accedere alle EC2 istanze pubbliche tramite 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, autorizzate solo un indirizzo IP specifico o un intervallo di indirizzi per accedere alle istanze tramite EC2 SSH.L'immagine seguente mostra un esempio della sezione Impostazioni di rete.
-
Lascia i valori predefiniti per le sezioni rimanenti.
-
Esamina un riepilogo della configurazione dell' EC2 istanza nel pannello Riepilogo e, quando sei pronto, scegli Launch instance.
-
-
Nella pagina Launch Status, prendi nota dell'identificatore della tua nuova EC2 istanza, ad esempio:
i-1234567890abcdef0.
-
Scegli l'identificatore dell' EC2 istanza per aprire l'elenco delle EC2 istanze, quindi seleziona l'istanza. EC2
-
Nella scheda Dettagli, annota i seguenti valori, necessari quando ti connetti tramite SSH:
-
Nel riepilogo dell'istanza, annota il valore per Public IPv4 DNS.
-
In Dettagli istanza, annota il valore visualizzato in Nome coppia di chiavi.
-
-
Attendi che lo stato dell' EC2 istanza abbia lo stato In esecuzione prima di continuare.
Creazione di un’istanza database PostgreSQL
L'istanza database rappresenta l'elemento di base di Amazon RDS. Questo è l'ambiente dove esegui i tuoi database PostgreSQL.
In questo esempio, utilizzi la funzionalità Creazione semplice per creare un'istanza database che esegue un motore di database PostgreSQL con una classe di istanza database db.t3.micro.
Per creare un'istanza database PostgreSQL con Easy Create (Creazione rapida)
-
Accedi a Console di gestione AWS 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 AWS regione in cui desideri creare l'istanza DB.
-
Nel riquadro di navigazione, scegliere Databases (Database).
-
Scegliere Create database (Crea database) e verificare che l'opzione Easy Create (Creazione rapida) sia selezionata.
-
In Configuration (Configurazione), seleziona PostgreSQL.
-
Per DB instance size (Dimensione istanza database), seleziona Free tier (Piano gratuito). Piano gratuito viene visualizzato per gli account con piano gratuito. Sandbox viene visualizzato per gli account con piani a pagamento.
-
Per l'identificatore dell'istanza DB, inserisci
database-test1. -
In Nome utente master, inserisci un nome dell'utente master o lascia invariato il nome predefinito (
postgres).La pagina Create database (Crea database) la pagina dovrebbe apparire simile alla seguente immagine. Per gli account con piano gratuito, viene visualizzato Piano gratuito. Per gli account con piano a pagamento, viene visualizzato Sandbox.
-
Per utilizzare una password master generata automaticamente per l'istanza 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' EC2 istanza creata in precedenza, apri Configura EC2 connessione (opzionale).
Seleziona Connetti a una risorsa di EC2 calcolo. Scegli l' EC2istanza che hai creato 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 l'istanza database.
-
Se un'impostazione contiene Sì in quella colonna e desideri cambiarla, puoi utilizzare la Creazione standard per creare l'istanza database o modificare l'istanza database dopo averla creata per cambiare l'impostazione.
-
-
Scegliere Crea database.
Per vedere nome utente e password per l'istanza database, seleziona View credential details (Vedi dettagli delle credenziali).
Per connetterti all'istanza database come utente principale, 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 l'istanza database è disponibile, puoi modificare l'istanza database per eseguire tale operazione. Per ulteriori informazioni sulla modifica di un'istanza database , consulta Modifica di un'istanza database Amazon RDS.
-
Nell'elenco Database seleziona il nome della nuova istanza database PostgreSQL per visualizzarne i dettagli.
L'istanza database ha lo stato Creazione in corso fino a quando non è pronta per essere utilizzata.
Quando lo stato cambia in Available (Disponibile), puoi connettersi all'istanza database. A seconda della classe di istanza database e della quantità di storage, prima che la nuova istanza sia disponibile possono trascorrere fino a 20 minuti.
(Facoltativo) Crea VPC, EC2 istanza e istanza PostgreSQL utilizzando CloudFormation
Invece di utilizzare la console per creare il VPC, l'istanza e l' EC2 istanza PostgreSQL, è possibile utilizzare CloudFormation il provisioning delle risorse trattando l'infrastruttura come codice. AWS Per aiutarti a organizzare AWS le tue risorse in unità più piccole e più gestibili, puoi utilizzare la funzionalità nested stack. CloudFormation Per ulteriori informazioni, consulta Creare uno stack sulla CloudFormation console e Lavorare con gli stack annidati.
Importante
CloudFormation è gratuito, ma le risorse che CloudFormation crea sono attive. Il costo di utilizzo standard per queste risorse ti sarà addebitato finché non le terminerai. Per ulteriori informazioni, consulta Prezzi di Amazon RDS per PostgreSQL
Per creare le tue risorse utilizzando la CloudFormation console, completa i seguenti passaggi:
-
Scarica il CloudFormation modello
-
Configura le tue risorse utilizzando CloudFormation
Scarica il CloudFormation modello
Un CloudFormation modello è un file di testo JSON o YAML che contiene le informazioni di configurazione sulle risorse che desideri creare nello stack. Questo modello crea anche un VPC e un host bastione per te insieme all’istanza RDS.
Per scaricare il file modello, apri il seguente link, modello PostgreSQL CloudFormation
Nella pagina Github, fare clic sul pulsante Scarica file non elaborato per salvare il file YAML.
Configura le tue risorse usando CloudFormation
Nota
Prima di iniziare questo processo, assicurati di avere una coppia di chiavi per un' EC2istanza nel tuo Account AWS. Per ulteriori informazioni, consulta coppie di EC2 chiavi Amazon e istanze Linux.
Quando utilizzi il CloudFormation modello, devi selezionare i parametri corretti per assicurarti che le risorse vengano create correttamente. Segui la procedura riportata di seguito:
-
Accedi Console di gestione AWS e apri la CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformazione.
-
Scegli Crea stack.
-
Nella sezione in cui specificare il modello, seleziona Carica un file modello dal computer, quindi Avanti.
-
Nella pagina Specifica i dettagli dello stack, impostare i seguenti parametri:
-
Imposta il nome dello stack su Postgre Stack. SQLTest
-
In Parametri, imposta Zone di disponibilità selezionando tre zone di disponibilità.
-
Nella configurazione Linux Bastion Host, in Key Name, seleziona una coppia di chiavi per accedere alla tua EC2 istanza.
-
Nelle impostazioni di Configurazione host bastione di Linux, imposta Intervallo IP consentito sul tuo indirizzo IP. Per connetterti alle EC2 istanze nel tuo VPC utilizzando Secure Shell (SSH), determina il tuo 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/0l'accesso SSH, consenti a tutti gli indirizzi IP di accedere alle tue istanze pubbliche EC2 tramite 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, autorizzate solo un indirizzo IP specifico o un intervallo di indirizzi per accedere alle istanze tramite EC2 SSH. -
In Configurazione generale del database, imposta Classe di istanza del database su db.t3.micro.
-
Imposta Database name su
database-test1. -
Per Nome utente principale del database, specifica il nome dell’utente master.
-
Imposta Gestisci password utente master di database con Secrets Manager su
falseper questo tutorial. -
Per Database password, imposta una password di tua scelta. Ricorda questa password per ulteriori passaggi del tutorial.
-
In Database Storage configuration, imposta Database storage type su gp2.
-
In Database Monitoring configuration, imposta Enable RDS Performance Insights su false.
-
Lascia i valori predefiniti per tutte le altre impostazioni. Fai clic su Next per continuare.
-
-
Nella pagina Configura opzioni dello stack, lasciare tutte le opzioni predefinite. Fai clic su Next per continuare.
-
Nella pagina Rivedi stack, seleziona Invia dopo aver verificato le opzioni del database e dell’host bastione di Linux.
Una volta completato il processo di creazione dello stack, visualizza gli stack con nomi BastionStacke RDSNS per annotare le informazioni necessarie per connetterti al database. Per ulteriori informazioni, consulta Visualizzazione dei dati stack e delle risorse CloudFormation sulla Console di gestione AWS.
Connessione a un'istanza database PostgreSQL
È possibile connettersi all'istanza database utilizzando pgadmin o psql. Questo esempio spiega come connettersi a un'istanza database PostgreSQL utilizzando il client della linea di comando psql.
Per connettersi a un'istanza database PostgreSQL tramite psql
-
Individuare l'endpoint (nome DNS) e il numero di porta per l'istanza database.
Accedi a Console di gestione AWS 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 dell'istanza database.
-
Nel pannello di navigazione, seleziona Database.
-
Scegliere il nome dell'istanza database PostgreSQL per visualizzarne i dettagli.
-
Nella scheda Connectivity & security (Connettività e sicurezza), copiare l'endpoint. Annotare anche il numero di porta. L'endpoint e il numero di porta sono necessari per la connessione all'istanza database.
-
Connettiti all' EC2 istanza che hai creato in precedenza seguendo i passaggi in Connetti alla tua istanza Linux nella Amazon EC2 User Guide.
Ti consigliamo di connetterti alla tua EC2 istanza 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, supponiamo che
ec2-database-connect-key-pair.pemsia archiviata/dir1su Linux e che il IPv4 DNS pubblico dell' EC2istanza lo sia.ec2-12-345-678-90.compute-1.amazonaws.comIl comando SSH sarà simile al seguente:ssh -i /dir1/ec2-database-connect-key-pair.pem [email protected] -
Ottieni le correzioni di bug e gli aggiornamenti di sicurezza più recenti aggiornando il software sulla tua EC2 istanza. A questo scopo, eseguire 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 -
Per installare il client della linea di comando psql da PostgreSQL su Amazon Linux 2023, esegui il comando seguente:
sudo dnf install postgresql15 -
Stabilisci una connessione a un'istanza database PostgreSQL. Ad esempio, immetti il seguente comando in un prompt dei comandi in un computer client. Questa azione consente di connetterti all'istanza database PostgreSQL utilizzando il client psql.
Sostituisci l'endpoint dell'istanza database (nome DNS) 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'istanza database PostgreSQL, consulta Connessione a un'istanza database che esegua il motore di database di PostgreSQL. In caso di mancata connessione all'istanza database, consulta Risoluzione dei problemi relativi alle connessioni all'istanza RDS per PostgreSQL.
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 Connessione a un'istanza database PostgreSQL tramite SSL.
-
Eseguire comandi SQL.
Ad esempio, il seguente comando SQL mostra la data e l'ora correnti:
SELECT CURRENT_TIMESTAMP;
Elimina l' EC2istanza e l'istanza DB
Dopo esserti connesso ed esplorato l'istanza di EC2 esempio e l'istanza DB che hai creato, eliminale in modo che non ti vengano più addebitati costi.
Se in passato CloudFormation creavi risorse, salta questo passaggio e vai al passaggio successivo.
Per eliminare l'istanza EC2
Accedi a Console di gestione AWS e apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Nel riquadro di navigazione, scegliere Instances (Istanze).
-
Seleziona l' EC2 istanza e scegli Stato dell'istanza, Termina istanza.
-
Quando viene richiesta la conferma, seleziona Interrompi.
Per ulteriori informazioni sull'eliminazione di un' EC2 istanza, consulta Terminate your istance nella Amazon EC2 User Guide.
Per eliminare un'istanza database senza snapshot DB finale
Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. -
Nel riquadro di navigazione, scegliere Databases (Database).
-
Scegliere l'istanza database da eliminare.
-
In Actions (Azioni), selezionare Delete (Elimina).
-
Deseleziona Creare uno snapshot finale? e Conserva backup automatizzati.
-
Completa la conferma e scegli Elimina.
(Facoltativo) Elimina l'EC2 istanza e l'istanza DB create con CloudFormation
Se in passato CloudFormation creavi risorse, elimina lo CloudFormation stack dopo esserti connesso ed esplorato l'istanza di EC2 esempio e l'istanza DB, in modo che non ti vengano più addebitati costi.
Per eliminare le risorse CloudFormation
-
Apri la CloudFormation console.
-
Nella pagina Stacks CloudFormationconsole, seleziona lo stack principale (lo stack senza il nome VPCStack BastionStack o RDSNS).
-
Scegli Elimina.
-
Quando viene richiesta la conferma, seleziona Elimina stack.
Per ulteriori informazioni sull'eliminazione di uno stack in CloudFormation, consulta Eliminazione di uno stack sulla console nella Guida per l'utente. CloudFormation AWS CloudFormation
(Facoltativo) Connessione dell'istanza database a una funzione Lambda
Puoi anche connettere la tua istanza database RDS per PostgreSQL a una risorsa di elaborazione 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'istanza database.