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

Creazione e connessione di un'istanza database MySQL

Questo tutorial illustra come creare un'istanza EC2 e un'istanza database RDS per MySQL. Il tutorial mostra come accedere all'istanza database dall'istanza EC2 utilizzando il client MySQL 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

Non vi sono costi aggiuntivi per la creazione di un account AWS. Tuttavia, completando l’esercitazione, 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.

Istanza EC2 e istanza database MySQL.

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

  1. Utilizza la AWS Management Console: Creare un’istanza database MySQL. e Creazione di un’istanza EC2

  2. Utilizza AWS CloudFormation per creare l’istanza database e l’istanza EC2: (Facoltativo) Crea VPC, istanza EC2 e istanza MySQL utilizzando AWS CloudFormation

Il primo metodo utilizza Creazione semplice per creare un’istanza database MySQL privata con la AWS Management Console. 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, consultare Creazione di un'istanza database Amazon RDS.

Prerequisiti

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

Creazione di un’istanza EC2

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

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

  2. Nell'angolo in alto a destra della AWS Management Console, scegli la Regione AWS in cui 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 Creazione di una coppia di chiavi nella Guida per l’utente di Amazon EC2.

    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.

Creare un’istanza database MySQL.

L'istanza database rappresenta l'elemento di base di Amazon RDS. Questo è l'ambiente dove esegui i tuoi database MySQL.

In questo esempio, utilizzi la Creazione semplice per creare un'istanza database che esegue un motore di database MySQL con una classe di istanza database db.t3.micro.

Per creare una istanza database MySQL con Easy Create (Creazione rapida)
  1. Accedi alla 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 usata in precedenza per l'istanza EC2.

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

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

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

  8. Per Nome utente master, inserisci un nome per l'utente master o lascia il nome predefinito.

    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.

    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. (Facoltativo) Aprire View default settings for Easy create (Visualizza impostazioni predefinite per Creazione rapida).

    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 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 MySQL 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 MySQL utilizzando AWS CloudFormation

Invece di utilizzare la console per creare il VPC, l’istanza EC2 e l’istanza MySQL, puoi utilizzare AWS CloudFormation per fornire le risorse AWS gestendo l’infrastruttura come codice. Per agevolare l’organizzazione delle risorse AWS in unità più piccole e più gestibili, puoi utilizzare la funzionalità stack annidati 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 ti sarà addebitato finché non le terminerai. Per ulteriori informazioni, consulta Prezzi di Amazon RDS per MySQL.

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

  • Scarica il modello di CloudFormation

  • Configura le risorse utilizzando CloudFormation

Scarica il modello di CloudFormation

Un modello CloudFormation è un modello di file di testo in formato JSON o YAML che contiene le informazioni sulla configurazione delle 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, MySQL CloudFormation template.

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

Configura le risorse utilizzando 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 modello AWS CloudFormation, è necessario selezionare i parametri appropriati affinché le risorse vengano create correttamente. Segui la procedura riportata di seguito:

  1. Accedere alla AWS Management Console e aprire la console di AWS CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation.

  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, compila i seguenti parametri:

    1. Imposta Nome stack su MySQLTestStack.

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

    3. In Configurazione host bastione di Linux, per Nome chiave, seleziona una coppia di chiavi per accedere all’istanza EC2.

    4. Nelle impostazioni di Configurazione host bastione di Linux, imposta Intervallo IP consentito sul tuo indirizzo IP. Per connetterti alle istanze EC2 nel VPC utilizzando Secure Shell (SSH), determina 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/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. In Configurazione generale del database, imposta Classe di istanza del database su db.t3.micro.

    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. Ricorda questa password per ulteriori passaggi del tutorial.

    10. In Database Storage configuration, imposta Database storage type su gp2.

    11. In Database Monitoring configuration, imposta Enable RDS Performance Insights su false.

    12. Lascia 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 i nomi BastionStack e RDSNS per annotare le informazioni necessarie per connetterti al database. Per ulteriori informazioni, consulta Visualizzazione dei dati stack e delle risorse AWS CloudFormation sulla AWS Management Console.

Connessione a un'istanza database MySQL

È possibile utilizzare qualsiasi applicazione client SQL standard per la connessione all'istanza database. In questo esempio, ti connetti a un'istanza database MySQL utilizzando il client della linea di comando mysql.

Per eseguire la connessione a un'istanza database MySQL
  1. Individuare l'endpoint (nome DNS) e il numero di porta per l'istanza database.

    1. Accedi alla 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, scegliere Databases (Database).

    4. Scegliere il nome dell'istanza database MySQL 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.

      Connessione a un'istanza database MySQL.
  2. Esegui la connessione all’istanza EC2 creata in precedenza seguendo la procedura riportata in Connessione all’istanza di Linux nella Guida per l’utente per 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 -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 MySQL da MariaDB su Amazon Linux 2023, esegui il comando seguente:

    sudo dnf install mariadb105
  5. Effettua la connessione all'istanza database MySQL. Ad esempio, specifica il comando seguente: Questa azione consente di connetterti all'istanza database MySQL utilizzando il client MySQL.

    Sostituisci l'endpoint dell'istanza database (nome DNS) per endpoint e il nome utente master utilizzato per admin. Devi fornire la password master utilizzata quando viene richiesta una password.

    mysql -h endpoint -P 3306 -u admin -p

    Dopo aver immesso la password per l'utente, l'output dovrebbe essere analogo a quanto mostrato di seguito.

    Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 3082 Server version: 8.0.28 Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]>

    Per ulteriori informazioni sulla connessione a un'istanza database di MySQL, consulta Connessione all’istanza database MySQL. In caso di mancata connessione all'istanza database, consulta Impossibile connettersi all'istanza database di Amazon RDS.

    Per motivi di sicurezza, la best practice è utilizzare connessioni crittografate. Utilizzare una connessione MySQL 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 all’istanza database MySQL su Amazon RDS con SSL/TLS dal client di riga di comando MySQL (crittografato).

  6. Eseguire comandi SQL.

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

    SELECT CURRENT_TIMESTAMP;

Elimina l’istanza EC2 e l’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 utilizzavi AWS CloudFormation per creare risorse, salta questo passaggio e vai a quello successivo.

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

  2. Nel pannello di navigazione, seleziona Instances (Istanze).

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

  4. 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 l'istanza database senza snapshot database finale
  1. Accedi alla 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 database create con CloudFormation

Se hai utilizzato AWS CloudFormation per creare le risorse, elimina lo stack di CloudFormation dopo aver stabilito la connessione all’istanza EC2 e all’istanza database di esempio e dopo averle esplorate per evitare di ricevere l’addebito dei relativi costi.

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

  2. Nella pagina Stack della console CloudFormation, seleziona lo stack root (lo stack senza il nome VPCStack, BastionStack o RDSNS).

  3. Scegli Elimina.

  4. Quando viene richiesta la conferma, seleziona 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 dell'istanza database a una funzione Lambda

Puoi anche connettere la tua istanza database RDS per MySQL 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.