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 crea un' EC2 istanza e un cluster DB Aurora PostgreSQL. Il tutorial mostra come accedere al cluster DB dall' EC2 istanza utilizzando un 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, altre risorse nello stesso VPC, come EC2 le istanze, possono accedere al cluster 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.

EC2 istanza e cluster Aurora PostgreSQL DB.

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

Il primo metodo utilizza Creazione semplice per creare un cluster di database Aurora PostgreSQL privato con la Console di gestione AWS. 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, consulta Creazione di un cluster database Amazon Aurora.

Prerequisiti

Prima di iniziare, completa le fasi descritte in questa sezione:

Fase 1: Creare un' EC2 istanza

Crea un' EC2 istanza Amazon da utilizzare per connetterti al tuo database.

Per creare un' EC2 istanza
  1. Accedi a Console di gestione AWS e apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

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

  3. Scegli EC2 Dashboard, quindi scegli Launch instance, come mostrato nell'immagine seguente.

    EC2 Pannello di controllo.

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

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

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

    7. Esamina un riepilogo della configurazione dell' EC2 istanza nel pannello Riepilogo e, quando sei pronto, scegli Launch instance.

  5. Nella pagina Launch Status, prendi nota dell'identificatore della tua nuova EC2 istanza, ad esempio:i-1234567890abcdef0.

    EC2 identificatore di istanza nella pagina Launch Status.
  6. Scegli l'identificatore dell' EC2 istanza per aprire l'elenco delle EC2 istanze, quindi seleziona l'istanza. EC2

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

    1. Nel riepilogo dell'istanza, annota il valore per Public IPv4 DNS.

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

      EC2 nome della coppia di chiavi nella scheda Dettagli della pagina Istanza.
  8. Attendi che lo stato dell' EC2 istanza abbia lo stato In esecuzione 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 a Console di gestione AWS 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 pannello di navigazione, seleziona 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' EC2 istanza creata in precedenza, apri EC2 Configura connessione (opzionale).

    Seleziona Connetti a una risorsa di EC2 calcolo. Scegli l'EC2 istanza che hai creato in precedenza.

    Configura l'opzione di EC2 connessione.
  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, EC2 istanza e cluster Aurora PostgreSQL utilizzando CloudFormation

Invece di utilizzare la console per creare il VPC, l' EC2 istanza e il cluster Aurora PostgreSQL DB, è possibile utilizzarla per il provisioning delle risorse trattando l'infrastruttura come codice. CloudFormation 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 sarà addebitato finché non vengono terminate. Per ulteriori informazioni, consulta Prezzi di Amazon Aurora.

Per creare le tue risorse utilizzando la 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 automaticamente anche un VPC e un host bastione insieme al cluster Aurora.

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

Nella pagina Github, fare clic sul pulsante Scarica file non elaborato per salvare il file YAML.

Configura le tue risorse utilizzando CloudFormation

Nota

Prima di iniziare questo processo, assicurati di avere una coppia di chiavi per un' EC2 istanza 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:

  1. Accedi Console di gestione AWS e apri la CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformazione.

  2. Scegli Crea stack.

  3. Nella sezione in cui specificare il modello, seleziona Carica un file modello dal computer, quindi Avanti.

  4. Nella pagina Specifica i dettagli dello stack, impostare i seguenti parametri:

    1. Imposta il nome dello stack su Stack. AurPostgre SQLTest

    2. In Parametri, impostare 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 EC2 istanza.

    4. 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/0 l'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.

    5. In Configurazione generale del database, impostare la Classe di istanza del database su db.t4g.large.

    6. Imposta Database name su database-test1.

    7. Per Nome utente principale del database, specifica il nome dell’utente master.

    8. Imposta Gestisci password utente master di database con Secrets Manager su false per questo tutorial.

    9. Per Database password, imposta una password di tua scelta. Tenere a mente questa password per altri passaggi del tutorial.

    10. Impostare Implementazione Multi-AZ su false.

    11. Lasciare i valori predefiniti per tutte le altre impostazioni. Fai clic su Next per continuare.

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

  6. 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 APGNS per annotare le informazioni necessarie per connetterti al database. Per ulteriori informazioni, vedere Visualizzazione dei dati e delle risorse CloudFormation dello stack su. Console di gestione AWS

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 a Console di gestione AWS 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 pannello di navigazione, seleziona 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' 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 -i location_of_pem_file ec2-user@ec2-instance-public-dns-name

    Ad esempio, supponiamo che ec2-database-connect-key-pair.pem sia archiviata /dir1 su Linux e che il IPv4 DNS pubblico dell' EC2 istanza lo 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 correzioni di bug e gli aggiornamenti di sicurezza più recenti aggiornando il software sulla tua EC2 istanza. 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 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.

  6. Eseguire comandi SQL.

    Ad esempio, il seguente comando SQL mostra la data e l'ora correnti:

    SELECT CURRENT_TIMESTAMP;

Passaggio 4: Eliminare l' EC2istanza e il cluster DB

Dopo esserti connesso ed esplorato l'istanza di EC2 esempio e il cluster DB che hai creato, eliminali 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
  1. Accedi a Console di gestione AWS e apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, scegliere Instances (Istanze).

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

  4. 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 cluster database
  1. Accedi a Console di gestione AWS 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' EC2 istanza e il cluster DB creati con CloudFormation

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

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

  2. Nella pagina Stacks della CloudFormation console, seleziona lo stack principale (lo stack senza il nome VPCStack BastionStack o APGNS).

  3. Scegli Elimina.

  4. Quando viene richiesta la conferma, seleziona Elimina stack.

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