Creazione e connessione di un cluster di database Aurora PostgreSQL - Amazon Aurora

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 ci sono costi 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.

Istanza EC2 e cluster di database Aurora PostgreSQL.

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

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

Quando si utilizza invece Standard create, è possibile specificare più opzioni di configurazione quando si crea un cluster DB. 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, consulta Creazione di un cluster database Amazon Aurora.

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 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
  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 Regione AWS in cui desideri creare il cluster di database.

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

  4. Scegli Crea database e verifica che l'opzione Creazione semplice sia selezionata.

    Sezione Crea database con l'opzione Creazione semplice selezionata.
  5. In Configurazione scegli Aurora (compatibile con PostgreSQL) per Tipo di motore.

  6. Per DB instance size (Dimensione istanza database), seleziona Dev/Test.

  7. Per Identificatore cluster di database, immetti database-test1.

    La pagina Create database (Crea database) la pagina dovrebbe apparire simile alla seguente immagine.

    Sezione Configurazione con le selezioni.
  8. In Nome utente master, inserisci un nome per l'utente o lascia invariato il nome predefinito (postgres).

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

  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 di Easy create (Creazione rapida).

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

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

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

    Dettagli del cluster di database che mostrano regione, zona di disponibilità e stato.

    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) Crea 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 DB Aurora PostgreSQL, puoi utilizzarla per fornire risorse trattando l'infrastruttura come codice. AWS CloudFormation 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 al cluster Aurora.

Per scaricare il file modello, apri il seguente link, modello Aurora 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 AurPostgre SQL. TestStack

    2. In Parametri, imposta le zone di disponibilità selezionando due 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.t4g.large.

    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. Imposta la distribuzione Multi-AZ sufalse.

    11. 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 i nomi BastionStacke APGNS 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 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
  1. Individua l'endpoint (nome DNS) e il numero di porta per l'istanza di scrittura del cluster di database.

    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 Regione AWS per il cluster DB.

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

    4. Scegli il nome del cluster di database Aurora PostgreSQL per visualizzarne i dettagli.

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

      Scheda Connettività e sicurezza che mostra il nome dell'endpoint.
  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 tale scopo, utilizzare 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. Installa il client della linea di comando psql da PostgreSQL su Amazon Linux 2023 utilizzando il seguente comando:

    sudo dnf install postgresql15
  5. 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 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 cluster di database Aurora PostgreSQL, consulta Connessione a un cluster Amazon Aurora SQL Postgre DB. In caso di mancata connessione al cluster database, consulta Impossibile connettersi all'istanza Amazon RDS DB.

    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 Protezione dei dati di Aurora SQL Postgree con/SSLTLS.

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

  2. Scegliere Databases (Database), quindi selezionare l'istanza database associata con il cluster di database.

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

  4. Scegliere Delete (Elimina).

    Dopo aver eliminato tutte le istanze database associate a un cluster di database, il cluster di database viene eliminato automaticamente.

(Facoltativo) Elimina l'istanza EC2 e il cluster DB creati con CloudFormation

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

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

  2. Nella pagina Stacks della CloudFormation console, seleziona lo stack principale (lo stack senza il nome VPCStack o APGNS). 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 del cluster database a una funzione Lambda

Puoi anche connettere il tuo cluster Aurora PostgreSQL DB 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 cluster database Aurora.