Disaster recovery veloce tra regioni e letture globali a bassa latenza
In questo tutorial scoprirai come creare una distribuzione Amazon Aurora Global Database che copre più regioni AWS e replica i dati senza alcun impatto sulle prestazioni. Aurora Global Database offre una funzione di disaster recovery da interruzioni a livello regionale e permette letture globali a bassa latenza.
Amazon Aurora è un database relazionale compatibile con MySQL e PostgreSQL che combina le prestazioni e la disponibilità dei database aziendali tradizionali con la semplicità e l'economicità dei database open source.
Un database globale Aurora è costituito da una regione AWS primaria, dove i dati vengono acquisiti, e da più regioni AWS secondarie di sola lettura in cui i dati vengono replicati. Le scritture vanno al database primario, ma puoi leggere da qualsiasi regione e beneficiare di bassa latenza.
Questo tutorial utilizzerà Amazon Aurora compatibile con MySQL. Questo tutorial non rientra nel piano gratuito e avrà un costo inferiore a 1 USD, se segui i passi indicati nel tutorial e interrompi le risorse alla chiusura del tutorial.
Prerequisiti
Un cluster database Amazon Aurora è costituito da una o più istanze database e da un volume del cluster che gestisce i dati per tali istanze. Un volume del cluster Aurora è un volume di storage di database virtuale che si estende su più zone di disponibilità, ciascuna delle quali include una copia dei dati del cluster database. Un cluster database Aurora è formato da due tipi di istanze: un'istanza database primaria, che supporta operazioni di lettura e scrittura, e una replica Aurora, che si collega allo stesso volume di storage dell'istanza database primaria e supporta solo operazioni di lettura. Ogni cluster database Aurora può avere fino a 15 repliche Aurora situate in zone di disponibilità separate. Aurora esegue automaticamente il failover su una replica Aurora nel caso in cui l'istanza database primaria non sia disponibile.
In questo tutorial verrà creato un database globale Aurora con un cluster primario in una regione e un cluster secondario in un'altra regione. Scegli tu quali regioni utilizzare. Si consiglia di disporre di un'applicazione in ciascuna delle regioni che verranno utilizzate. Ad esempio, se il database globale Aurora avrà un cluster primario in us-east-1 e un cluster secondario in eu-west-3, dovresti avere un'istanza in us-east-1 e un'altra in eu-west-3.
Inoltre, se si desidera risparmiare tempo, per ciascuna di tali regioni è possibile creare un gruppo di sicurezza che consenta connessioni in entrata dalle proprie istanze. Ad esempio, è possibile creare un gruppo di sicurezza con una regola in entrata di tipo MYSQL/Aurora che consenta connessioni TCP sulla porta 3306 dal gruppo di sicurezza delle istanze.
Infine, per testare il database globale Aurora (vedi fase 8), avrai bisogno di un client MySQL. Se le istanze dell'applicazione eseguono Amazon Linux, per installare un client MySQL basta semplicemente eseguire sudo yum install mysql, ma il comando esatto dipende dal sistema operativo in esecuzione. Se utilizzi Windows, puoi invece scaricare MySQL Workbench.
Informazioni sul tutorial | |
---|---|
Durata | 10 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 | 3 giugno 2019 |
Fase 1. Accesso alla console Amazon RDS
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 avviare il cluster database Aurora. Ai fini di questo tutorial, useremo us-east-1 come regione principale ed eu-west-1 come regione secondaria.
Hai già un account? Accedi all'account AWS
1.4 – Scorrere verso il basso e fare clic su "Try it now" (Prova ora); nella finestra Aurora Global Database. Se non visualizzi l'opzione "Try it now" (Prova ora), fare clic qui.
Fase 2. Opzioni del motore
2.1 – Su Engine type (Tipo di motore), selezionare "Amazon Aurora".
2.2 – Su Edition (Edizione), selezionare "Amazon Aurora with MySQL compatibility" (Amazon Aurora con compatibilità MySQL).
2.3 – Nel campo Version (Versione), selezionare la versione più recente di MySQL.
Fase 4. Impostazioni della regione primaria
4.1 – Per DB instance size (Dimensione dell'istanza database), selezionare un tipo di istanza Large (che termina con .large).
4.2 – Per Availability & durability (Disponibilità e durabilità), scegliere "Don't create an Aurora Replica" (Non creare una replica Aurora).
Si consiglia di disporre di una replica Aurora per gli ambienti di produzione, poiché consente di dimensionare le letture e offre failover automatici all'interno della stessa regione del database primario. Ai fini di questo tutorial, per mantenere la semplicità non viene aggiunta una replica Aurora.
Fase 5. Connettività
5.1 – Selezionare il VPC in cui vuoi creare il database.
Dopo la creazione, non sarà possibile trasferire il database su un VPC diverso.
5.2 – Fare clic su "Additional connectivity configuration" (Configurazione di connettività aggiuntiva).
5.3 – Selezionare il valore predefinito per Subnet group (Gruppo di sottorete).
5.4 – Su Publicly accessible (Pubblicamente accessibile), selezionare "No".
Ciò significa che dovrai collegarti al database da un'istanza EC2 con lo stesso VPC.
5.5 – 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.
5.6 – In New VPC security group name (Nome nuovo gruppo di sicurezza VPC), digitare "global-database".
5.7 – Mantenere il valore predefinito per Database port (Porta database).
Fase 6. Ulteriori configurazioni
6.1 – Mantenere i valori predefiniti per le Opzioni database, Backup, Monitoraggio, Esportazione registro, Manutenzione e Protezione eliminazione.
6.2 – 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.
6.3 – Fare clic su "View credential details" (Visualizza dettagli credenziali).
Fase 7. Aggiunta di una regione secondaria
Fase 8. Test del database globale Aurora
Aprire due finestre del terminale, accedere alle istanze nelle regioni primaria e secondaria e utilizzare il client della riga di comando mysql per connettersi ai database.
Ora puoi creare un database, creare una tabella e scrivere alcuni record. Tutto ciò che scrivi sul cluster primario verrà replicato nel cluster secondario.
8.3 – Connettersi al database primario:
$ mysql -h endpoint -P 3306 -u admin -p
Quando viene richiesta una password, immettere la password salvata nella fase 6.6.
8.4 – 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.
8.5 – Andare alla regione secondaria.
8.8 – Connettersi al database secondario:
$ mysql -h endpoint -P 3306 -u admin -p
Quando viene richiesta una password, immettere la password salvata nella fase 6.6.
8.9 – Leggere alcuni dati:
mysql> USE tutorial (Utilizza tutorial);
Database modificato
Ora puoi verificare che il database sia stato replicato nel database secondario. Se hai creato una tabella, puoi scrivere nel cluster primario e leggere i dati dal cluster secondario.
Fase 9. Esecuzione del failover in una regione secondaria
Mentre il cluster Aurora predefinito offre funzionalità di failover all'interno della regione, Aurora Global Database consente di eseguire il failover sul cluster secondario in una regione diversa. Ciò significa che il database sopravvive anche se un'intera regione diventa non disponibile.
L'esecuzione di un failover per un database globale Aurora implica la rimozione del cluster secondario dal database globale originale, trasformandolo in un cluster regionale con funzionalità di lettura/scrittura complete, quindi utilizzandolo come cluster primario in un nuovo database globale Aurora.
È possibile eseguire un failover manualmente seguendo le istruzioni seguenti.
9.1 – Interrompere la scrittura nel database primario.
9.2 – Selezionare il cluster secondario.
9.5 – Configurare l'applicazione per scrivere nel cluster appena promosso.
9.6 – Sempre nella regione secondaria, selezionare il cluster regionale.
9.8 – Dal menu a discesa, selezionare una regione.
9.9 – Ripetere la fasi da 4.1 a 5.7.
Fase 10. Pulizia
Per completare questo tutorial, eliminerai il database globale Aurora. Lo puoi conservare, ma tieni presente che ciò implicherà ulteriori costi.
Per eliminare il cluster di database Aurora, vai al pannello di controllo di RDS e segui queste istruzioni:
10.1 – Dal riquadro a sinistra, selezionare "Databases".
In questo modo, visualizzerai un elenco di tutti i cluster database Aurora.
10.2 – Selezionare un'istanza di database globale.
10.4 – Ti verrà chiesto se desideri creare un backup finale. Solitamente è una buona idea, ma ai fini di questo tutorial non è necessario. Selezionare "No" e fare clic su "Delete" (Elimina).
10.5 – Selezionare un cluster di database globale.
10.6 – Fare clic su "Actions > Remove from Global" (Azioni > Rimuovi dal globale).
10.7 – Confermare facendo clic su "Remove from global" (Rimuovi da globale).
10.10 – Ti verrà chiesto se desideri creare uno snapshot finale. Solitamente è una buona idea, ma ai fini di questo tutorial non è necessario. Selezionare "No" e fare clic su "Delete DB cluster" (Elimina cluster di database).
10.11 – Passare alla regione secondaria ed eseguire le fasi da 10.1 a 10.9.
10.12 – Selezionare il database globale.
Congratulazioni
Hai creato un database globale Aurora con replica tra regioni. Hai imparato come dimensionare le letture ad altre regioni per beneficiare di una latenza inferiore e hai eseguito un failover su una regione secondaria.
Fasi successive consigliate
Se vuoi saperne di più su Aurora Global Database, consulta la nostra documentazione sull'Utilizzo di Amazon Aurora Global Database.