Clonazione e rivisitazione di database ad alte prestazioni per una distribuzione di applicazioni più rapida

con Amazon Aurora

Amazon Aurora è un database relazionale compatibile con MySQL e PostgreSQL che unisce le prestazioni e la disponibilità dei database enterprise alla semplicità e al costo ridotto dei database open source. Questo tutorial illustra come clonare un cluster DB di Aurora per lo sviluppo e il testing e come abilitare e utilizzare il processo di rivisitazione per "riavvolgere" il cluster DB al momento specificato.

La clonazione di un cluster Aurora è estremamente utile se si desidera valutare l'impatto delle modifiche al database o se è necessario eseguire operazioni ad alto carico di lavoro, come l'esportazione di dati o l'esecuzione di query analitiche, o semplicemente se si desidera utilizzare una copia del database di produzione in un ambiente di sviluppo o test. È possibile creare più cloni del cluster database Aurora. È anche possibile creare cloni aggiuntivi da altri cloni, con il vincolo che i database clone devono essere creati nella stessa regione dei database di origine.

Il backtrack consente di riavvolgere il cluster DB Aurora al momento specificato. Con il backtrack abilitato, Aurora registra le modifiche al database e consente di passare a uno stato coerente precedente. Con questa funzione puoi facilmente annullare gli errori. Ad esempio, se per caso esegui un'operazione distruttiva, ad esempio ELIMINA senza una clausola DOVE, puoi tornare rapidamente a uno stato precedente all'incidente. A differenza del ripristino da uno snapshot o da un backup automatico, che è un'operazione più lenta, il backtrack consente di spostarsi avanti e indietro nel tempo in pochi minuti.

In questo tutorial verrà creato un cluster DB Aurora con backtrack abilitato. Aggiungerai alcuni dati e ti sposterai avanti e indietro nel tempo usando la funzione di backtrack. Clonerai il database ed eseguirai query sulla copia.

Questo tutorial non rientra nel piano gratuito e avrà un costo inferiore a 1 USD, se segui le fasi indicate nel tutorial e arresti le risorse alla chiusura del tutorial.

Prerequisiti

Sarà necessario connettersi al database e inviare comandi ad esso. Poiché ti consigliamo di evitare di assegnare indirizzi IP pubblici ai cluster database, probabilmente avrai bisogno di un'istanza EC2 nello stesso VPC del cluster database. Se non ne hai già una in esecuzione, segui queste istruzioni per eseguirne il provisioning.

Quindi, sarai in grado di installare un client MySQL eseguendo sudo yum install mysql. 

Informazioni sul tutorial
Durata 10-20 minuti                                           
Costo Meno di 1 USD
Caso d'uso Database
Prodotti Amazon Aurora e Amazon RDS
Destinatari Amministratori di database e sviluppatori
Livello Intermedio
Ultimo aggiornamento 17 luglio 2019

Fase 1. Creazione di un cluster database Aurora

1.1 – Apri un browser e accedi alla Console Amazon RDS. Se hai già un account AWS, accedi alla console. Altrimenti, crea un nuovo account AWS per iniziare.

1.2 – Nell'angolo superiore destro, selezionare la regione in cui vuoi lanciare il cluster database Aurora.

1.3 – Fare clic su "Create database" (Crea database) nella finestra di Amazon Aurora.

Prima di continuare, passa al flusso di creazione del nuovo database:

Opzioni del motore

1.4 – Su Database engine (Motore del database), selezionare "Amazon Aurora".

1.5 – Su Edition (Edizione), selezionare "Amazon Aurora with MySQL compatibility" (Amazon Aurora con compatibilità MySQL).

1.6 - In Versione, selezionare l'ultima versione di Aurora compatibile con MySQL 5.6. Questo perché l'operazione di backtrack è disponibile solo per quella versione.

1.7 – Su Database Location (Posizione del database), selezionare "Regional" (Regionale).

Caratteristiche del database

1.8 – Selezionare "One writer and multiple readers" (Una scrittura e molte letture).

Modelli

1.9 – Selezionare "Production" (Produzione).

Impostazioni

1.10 – Scegliere un identificativo per il cluster database Aurora, es. "database-1".

Dimensioni istanza database

1.11 – Per la dimensione dell'istanza database, selezionare un tipo di istanza Large (che termina con .large).

Disponibilità e durabilità

1.12 – Scegliere "Create an Aurora Replica/Reader" (Crea una replica/lettura di Aurora).

Connettività

1.13 – Selezionare il VPC in cui vuoi creare il database.

Dopo la creazione, non sarà possibile trasferire il database su un VPC diverso.

1.14 Fare clic su "Additional connectivity configuration" (Configurazione di connettività aggiuntiva).

1.15 – Selezionare il valore predefinito per Subnet group (Gruppo di sottorete).

1.16 – Su Publicly accessible (Pubblicamente accessibile), selezionare "No".

Ciò significa che dovrai collegarti al database da un'istanza EC2 con lo stesso VPC.

1.17 – Su VPC security group (Gruppo di sicurezza VPC), selezionare "Create new" (Crea nuovo). In alternativa, se disponi di un gruppo di sicurezza che consente le connessioni TCP in entrata sulla porta 3306, puoi scegliere tale gruppo. 

1.18 – Su New VPC security group name (Nome nuovo gruppo di sicurezza VPC), digitare "aurora–tutorial".

Ulteriori configurazioni

1.19 – Abilitare backtrack.

1.20 – Su "Target Backtrack window (Finestra di backtrack di destinazione), immettere 24. La finestra di backtrack determina quanto indietro nel tempo potresti andare; Aurora proverà a conservare sufficienti informazioni di log per supportare quella finestra temporale.

1.21 - In "Protezione da eliminazione", deseleziona "Abilita protezione da eliminazione".

La best practice consiste nell'abilitare la protezione da eliminazione, ma se desideri eliminare il database alla fine del tutorial puoi lasciare questa opzione deselezionata. 

Rivedi e crea

Dopo una rapida revisione di tutti i campi nel modulo, puoi procedere.

1.22 – Fare clic su "Create database" (Crea database).

Durante la creazione delle istanze, ti verrà mostrato un banner che spiega come ottenere le credenziali. È una buona occasione per memorizzare le credenziali da qualche parte, perché è l'unica volta che verrà visualizzata questa password.

1.23 – Fare clic su "View credential details" (Visualizza dettagli credenziali).

1.24 – Salva il nome utente, la password e l'endpoint.

Fase 2. Popolamento del database

Apri una finestra del terminale, accedi all'istanza dell'applicazione e utilizza il client della riga di comando mysql per connetterti al cluster database Aurora. Quindi sarai in grado di creare un database, creare una tabella e scrivere alcuni record.

2.1 - Connessione al database principale:

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

Ogni volta che visualizzi endpoint in un comando, è necessario immettere il nome host dell'endpoint salvato nella fase 1.24.

Allo stesso modo, quando viene richiesta una password, immetti la password salvata nella fase 1.24.

2.2 – Creare un database e scrivere alcuni dati.

mysql> CREATE database tutorial (Crea tutorial database);
Query eseguita con successo, 1 riga interessata (0,01 secondi)

A questo punto è possibile utilizzare il database del tutorial, creare tabelle e aggiungere alcuni record.

Fase 3. Esecuzione del backtrack del database

3.1 – Fare clic sul cluster database Aurora.

3.2 – Fare clic su "Actions" (Operazioni) e selezionare "Backtrack".

Backtrack del cluster database

3.3 – Selezionare una data e un'ora. Aurora riavvolgerà il cluster database nel momento specificato senza creare un nuovo cluster database. È possibile selezionare un momento precedente a quello in cui è stato creato un database o una tabella.

3.4 - Fare clic su "Backtrack del cluster database" .

Vedrai una schermata con un banner blu che spiega che è in corso un'operazione di backtrack.

Dopo un po', vedrai un banner verde che indica che l'operazione di backtrack è terminata.

È ora possibile connettersi al database come nella fase 2 e verificare che il database sia tornato a uno stato precedente. Puoi ripetere l'operazione di backtrack e spostarti in avanti nel tempo.

Fase 4. Clonazione del database

4.1 – Selezionare il database.

4.2 – Fare clic su "Actions" (Operazioni) e selezionare "Create clone" (Crea clone).

4.3 – Scegliere un identificatore, ad es."database-1-clone".

4.4 – Fare clic su "Create Clone" (Crea clone).

Verrà visualizzato l'elenco di database con il cluster database Aurora clonato.

Qualsiasi operazione tu faccia con questo clone non influenzerà il cluster database originale. Puoi trovare gli endpoint del database clonato e la sua replica facendo clic sul nome del cluster clonato.

Quindi vedrai gli endpoint nella sezione "Endpoint".

Ora puoi connetterti al database clonato come hai fatto nella fase 2 e verificare che il database sia identico a quello che hai clonato: controlla i database, le tabelle, gli utenti e i record che hai creato per vedere se sono inclusi nel database clonato. È possibile modificarlo e sperimentarlo con tutto ciò che si desidera e controllare il database originale per verificare che non abbia subito modifiche.

Fase 5: Eliminazione del cluster

Per completare questo tutorial ed evitare addebiti aggiuntivi, imparerai come eliminare il cluster DB Aurora quando non è più necessario. Per poter eliminare il cluster DB Aurora, passa al pannello di controllo di RDS e segui le istruzioni riportate.

5.1 – Dal riquadro a sinistra, selezionare "Databases" (Database).

In questo modo, visualizzerai un elenco di tutti i cluster database Aurora. Inizierai eliminando il database clonato. 

5.2. – Selezionare l'istanza di scrittura.

5.3 – Fare clic su "Actions" (Operazioni) e selezionare "Delete" (Elimina).

Ti verrà chiesto se desideri creare un backup finale. Solitamente è una buona idea, ma ai fini di questo tutorial non è necessario.

5.4 – Deselezionare la casella accanto a "Create final snapshot" (Crea snapshot finale) e selezionare la casella "I acknolwedge..." (Accetto...).

5.5 – Digitare "delete me" (eliminami) e fare clic su "Delete" (Elimina).

Lo stato del cluster cambierà in "Deleting" (Eliminazione in corso).

5.6 – Selezionare l'istanza di lettura del cluster database Aurora che hai creato per questo tutorial. 

5.7 – Fare clic su "Actions" (Operazioni) e selezionare "Delete" (Elimina).

5.8 – Ti verrà chiesto di confermare l'operazione. Digitare "delete me" (eliminami) e fare clic su "Delete" (Elimina).

5.9 – Selezionare l'istanza di scrittura del cluster database Aurora che hai creato per questo tutorial.

5.10 – Fare clic su "Actions" (Operazioni) e selezionare "Delete" (Elimina).

Ti verrà chiesto se desideri creare un backup finale. Solitamente è una buona idea, ma ai fini di questo tutorial non è necessario. 

5.11 – Deselezionare la casella accanto a "Create final snapshot" (Crea snapshot finale) e selezionare la casella "I acknolwedge..." (Accetto...).

5.12 – Digitare "delete me" (eliminami) e fare clic su "Delete" (Elimina).

Lo stato del cluster cambierà in "Deleting" (Eliminazione in corso).

Congratulazioni

Hai creato un cluster DB Aurora con backtrack abilitato. Hai imparato a configurare l'intervallo di tempo che ti consente di spostarti avanti e indietro nel tempo con il database. Infine, hai imparato a clonare un cluster database Aurora.

Questo tutorial è stato utile?