Creazione e connessione di un'istanza database PostgreSQL - Amazon Relational Database Service

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 illustra come creare un'istanza EC2 e un'istanza database RDS per PostgreSQL. Il tutorial mostra come accedere all'istanza database dall'istanza EC2 utilizzando il 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, le risorse presenti nello stesso VPC, come le istanze EC2, possono accedere all'istanza 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

La creazione di un AWS account è gratuita. 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.

Istanza EC2 e istanza database PostgreSQL.

Questo tutorial ti consente di creare le tue risorse utilizzando uno dei seguenti metodi:

  1. Usa AWS Management Console ‐ Fase 1: creazione di un'istanza EC2 e Fase 2: creazione di un'istanza database PostgreSQL

  2. Utilizzare AWS CloudFormation per creare l'istanza del database e l'istanza EC2 ‐ (Facoltativo) Crea VPC, istanza EC2 e istanza PostgreSQL utilizzando AWS CloudFormation

Il primo metodo utilizza Easy create per creare un'istanza database PostgreSQL privata con. AWS Management Console Qui, si specificano solo il tipo di motore DB, la dimensione dell'istanza DB e l'identificatore dell'istanza DB. Easy create (Creazione rapida) utilizza l'impostazione predefinita per altre opzioni di configurazione.

Se invece utilizzi Standard create, puoi specificare più opzioni di configurazione quando crei un'istanza DB. Queste 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.

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
  1. Accedi AWS Management Console e apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nell'angolo in alto a destra di AWS Management Console, scegli l'istanza EC2 Regione AWS in cui desideri creare l'istanza EC2.

  3. Seleziona Pannello di controllo EC2, quindi Avvia istanza, come visualizzato di seguito.

    Pannello di controllo EC2.

    Viene visualizzata la pagina Avvia un'istanza.

  4. Scegli le seguenti impostazioni nella pagina Avvia un'istanza.

    1. Nell'area Name and tags (Nome e tag), in Name (Nome) inserisci ec2-database-connect.

    2. 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.

      Scegli un'Amazon Machine Image.
    3. In Instance type (Tipo di istanza), scegli t2.micro.

    4. 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 Create a key pair nella Amazon EC2 User Guide.

    5. 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/0 per 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.

      Impostazioni di rete per un'istanza EC2.
    6. Lascia i valori predefiniti per le sezioni rimanenti.

    7. Analizza un riepilogo della configurazione dell'istanza EC2 nel pannello Riepilogo e, quando è tutto pronto, scegli Avvia istanza.

  5. Nella pagina Stato avvio prendi nota dell'identificatore per la nuova istanza EC2, ad esempio: i-1234567890abcdef0.

    Identificatore dell'istanza EC2 nella pagina Stato avvio.
  6. Scegli l'identificatore dell'istanza EC2 per aprire l'elenco delle istanze EC2, quindi seleziona l'istanza EC2.

  7. Nella scheda Dettagli, annota i seguenti valori, necessari quando ti connetti tramite SSH:

    1. In Riepilogo istanza, annota il valore visualizzato in DNS IPv4 pubblico.

      Il nome DNS pubblico EC2 nella scheda Dettagli della pagina Istanze.
    2. In Dettagli istanza, annota il valore visualizzato in Nome coppia di chiavi.

      Il nome della coppia di chiavi EC2 nella scheda Dettagli della pagina Istanze.
  8. Attendi che Stato dell'istanza diventi In esecuzione per l'istanza EC2 prima di continuare.

Fase 2: 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)
  1. Accedi AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nell'angolo in alto a destra della console Amazon RDS, scegli la AWS regione in cui desideri creare l'istanza DB.

  3. Nel riquadro di navigazione, scegliere Databases (Database).

  4. Scegliere Create database (Crea database) e verificare che l'opzione Easy Create (Creazione rapida) sia selezionata.

    Opzione Creazione semplice.
  5. In Configuration (Configurazione), seleziona PostgreSQL.

  6. Per DB instance size (Dimensione istanza database), seleziona Free tier (Piano gratuito).

  7. Per l'identificatore dell'istanza DB, inserisci database-test1.

  8. 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.

    Pagina Crea database.
  9. 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.

  10. 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.

    Opzione Configura connessione EC2.
  11. Apri Visualizza le impostazioni predefinite per la creazione Semplice.

    Impostazioni predefinite della funzionalità Creazione semplice per RDS per PostgreSQL.

    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 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.

  12. 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.

  13. 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.

    Dettagli dell'istanza database.

    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, istanza EC2 e istanza PostgreSQL utilizzando AWS CloudFormation

Invece di usare la console per creare il tuo VPC, l'istanza EC2 e l'istanza PostgreSQL, puoi AWS CloudFormation usarla per fornire 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. AWS CloudFormation Per ulteriori informazioni, consulta Creare uno stack sulla AWS CloudFormation console e Lavorare con gli stack annidati.

Importante

AWS CloudFormation è gratuito, ma le risorse che CloudFormation crea sono attive. Ti verranno addebitati i costi di utilizzo standard per queste risorse fino alla loro cessazione. L'addebito totale sarà minimo. Per informazioni su come ridurre al minimo gli addebiti, vai al AWS piano gratuito.

Per creare le tue risorse utilizzando la AWS CloudFormation console, completa i seguenti passaggi:

  • Passaggio 1: scarica il CloudFormation modello

  • Passaggio 2: 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 bastion host per te insieme all'istanza RDS.

Per scaricare il file modello, apri il seguente link, modello PostgreSQL CloudFormation .

Nella pagina Github, fai clic sul pulsante Scarica file raw per salvare il file YAML del modello.

Configura le tue risorse usando CloudFormation

Nota

Prima di iniziare questo processo, assicurati di avere una coppia di chiavi per un'istanza EC2 nel tuo Account AWS. Per ulteriori informazioni, consulta Coppie di chiavi Amazon EC2 e istanze Linux.

Quando utilizzi il AWS CloudFormation modello, devi selezionare i parametri corretti per assicurarti che le risorse vengano create correttamente. Segui la procedura riportata di seguito:

  1. Accedi AWS Management Console e apri la AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation.

  2. Scegli Crea stack.

  3. Nella sezione Specificare il modello, seleziona Carica un file modello dal computer, quindi scegli Avanti.

  4. Nella pagina Specificare i dettagli dello stack, imposta i seguenti parametri:

    1. Imposta il nome dello stack su PostgreSQL TestStack.

    2. In Parametri, imposta le zone di disponibilità selezionando tre zone di disponibilità.

    3. Nella configurazione Linux Bastion Host, in Key Name, seleziona una coppia di chiavi per accedere alla tua istanza EC2.

    4. Nelle impostazioni di configurazione di Linux Bastion Host, imposta l'intervallo IP consentito sul tuo indirizzo IP. Per connetterti alle istanze EC2 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/0 per 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.

    5. Nella configurazione generale del database, imposta la classe dell'istanza del database su db.t3.micro.

    6. Imposta il nome del database su. database-test1

    7. Per Nome utente principale del database, inserisci un nome per l'utente principale.

    8. Imposta la password utente principale di Manage DB con Secrets Manager su false per questo tutorial.

    9. Per la password del database, imposta una password a tua scelta. Ricorda questa password per ulteriori passaggi del tutorial.

    10. In Configurazione dell'archiviazione del database, imposta il tipo di archiviazione del database su gp2.

    11. Nella configurazione Database Monitoring, imposta Enable RDS Performance Insights su false.

    12. Lascia tutte le altre impostazioni come valori predefiniti. Fate clic su Avanti per continuare.

  5. Nella pagina Configura le opzioni dello stack, lascia tutte le opzioni predefinite. Fai clic su Avanti per continuare.

  6. Nella pagina Review stack, seleziona Invia dopo aver verificato le opzioni del database e dell'host Linux bastion.

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, vedere Visualizzazione dei dati e delle risorse AWS CloudFormation dello stack su. AWS Management Console

Fase 3: 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
  1. Individuare l'endpoint (nome DNS) e il numero di porta per l'istanza database.

    1. Accedi AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

    2. Nell'angolo superiore destro della console Amazon RDS, scegli la Regione AWS dell'istanza database.

    3. Nel riquadro di navigazione, scegli Databases (Database).

    4. Scegliere il nome dell'istanza database PostgreSQL per visualizzarne i dettagli.

    5. 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.

      Stabilisci una connessione a un'istanza database PostgreSQL.
  2. Connettiti all'istanza EC2 che hai creato in precedenza seguendo i passaggi in Connetti alla tua istanza Linux nella Amazon EC2 User Guide.

    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 -i location_of_pem_file ec2-user@ec2-instance-public-dns-name

    Ad esempio, supponi che ec2-database-connect-key-pair.pem sia archiviato in /dir1 su Linux e che il DNS IPv4 pubblico per l'istanza EC2 sia ec2-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
  3. Ottieni le ultime correzioni di bug e gli aggiornamenti di sicurezza aggiornando il software sulla tua istanza EC2. A questo scopo, eseguire il comando seguente.

    Nota

    L'opzione -y installa gli aggiornamenti senza chiedere conferma. Per esaminare gli aggiornamenti prima di installarli, omettere questa opzione.

    sudo dnf update -y
  4. Per installare il client della linea di comando psql da PostgreSQL su Amazon Linux 2023, esegui il comando seguente:

    sudo dnf install postgresql15
  5. 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 endpoint, sostituisci il nome database --dbname a cui vuoi connetterti per postgres e sostituisci il nome utente master utilizzato per postgres. Devi fornire la password master utilizzata quando viene richiesta una password.

    psql --host=endpoint --port=5432 --dbname=postgres --username=postgres

    Dopo 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 DB che esegue il motore di database Postgre SQL. In caso di mancata connessione all'istanza database, consulta Risoluzione dei problemi di connessione all'istanza di RDS for Postgre SQL.

    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 DB SQL Postgre tramite SSL.

  6. 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 dell'istanza database

Dopo la connessione e l'esplorazione dell'istanza EC2 e dell'istanza database di esempio che hai creato, eliminale per evitare di ricevere l'addebito dei relativi costi.

Se in passato AWS CloudFormation creavi risorse, salta questo passaggio e vai al passaggio successivo.

Per eliminare l'istanza EC2
  1. Accedi AWS Management Console e apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, seleziona Istanze.

  3. Seleziona l'istanza EC2 e scegli Stato istanza, Termina istanza.

  4. Quando viene richiesta la conferma, seleziona Terminate (Interrompi).

Per ulteriori informazioni sull'eliminazione di un'istanza EC2, consulta Terminate your instance nella Amazon EC2 User Guide.

Per eliminare un'istanza database senza snapshot DB finale
  1. Accedi AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegliere Databases (Database).

  3. Scegliere l'istanza database da eliminare.

  4. In Actions (Azioni), selezionare Delete (Elimina).

  5. Deseleziona Creare uno snapshot finale? e Conserva backup automatizzati.

  6. Completa la conferma e scegli Elimina.

(Facoltativo) Elimina l'istanza EC2 e l'istanza DB create con CloudFormation

Se prima creavi AWS CloudFormation risorse, elimina lo CloudFormation stack dopo esserti connesso ed esplorato l'istanza EC2 e l'istanza DB di esempio, in modo che non ti vengano più addebitati costi.

Per eliminare le risorse CloudFormation
  1. Apri la AWS CloudFormation console.

  2. Nella pagina Stacks CloudFormationconsole, seleziona lo stack principale (lo stack senza il nome VPCStack o RDSNS). BastionStack

  3. Scegli Elimina.

  4. Seleziona Elimina stack quando viene richiesta la conferma.

Per ulteriori informazioni sull'eliminazione di uno stack in CloudFormation, consulta Eliminazione di uno stack sulla console nella Guida per l' AWS CloudFormationutente.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.