Implementa il disaster recovery tra regioni con AWS DMS e Amazon Aurora - Prontuario AWS

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

Implementa il disaster recovery tra regioni con AWS DMS e Amazon Aurora

Creato da Mark Hudson (AWS)

Ambiente: produzione

Tecnologie: database

Servizi AWS: AWS DMS; Amazon RDS; Amazon Aurora

Riepilogo

I disastri naturali o causati dall'uomo possono verificarsi in qualsiasi momento e possono influire sulla disponibilità di servizi e carichi di lavoro in esecuzione in una determinata regione di Amazon Web Services (AWS). Per mitigare i rischi, devi sviluppare un piano di disaster recovery (DR) che incorpori le funzionalità interregionali integrate dei servizi AWS. Per i servizi AWS che non forniscono intrinsecamente funzionalità interregionali, il piano DR deve fornire anche una soluzione per gestire il failover tra le regioni AWS.

Questo modello ti guida attraverso una configurazione di disaster recovery che coinvolge due cluster di database Edition compatibili con Amazon Aurora MySQL in un'unica regione. Per soddisfare i requisiti di DR, i cluster di database sono configurati per utilizzare la funzionalità di database globale di Amazon Aurora, con un singolo database che si estende su più regioni AWS. Un task di AWS Database Migration Service (AWS DMS) replica i dati tra i cluster nella regione locale. AWS DMS, tuttavia, attualmente non supporta il failover delle attività tra regioni. Questo modello include i passaggi necessari per aggirare tale limitazione e configurare in modo indipendente AWS DMS in entrambe le regioni.

Prerequisiti e limitazioni

Prerequisiti

  • Regioni AWS primarie e secondarie selezionate che supportano i database globali Amazon Aurora.

  • Due cluster di database indipendenti della versione compatibile con Amazon Aurora MySQL in un unico account nella regione principale.

  • Classe di istanza di database db.r5 o superiore (consigliata).

  • Un'attività AWS DMS nella regione principale che esegue la replica continua tra i cluster di database esistenti.

  • Risorse della regione DR disponibili per soddisfare i requisiti per la creazione di istanze di database. Per ulteriori informazioni, consulta Lavorare con un'istanza DB in un VPC.

Limitazioni

  • Per l'elenco completo delle limitazioni dei database globali di Amazon Aurora, consulta Limitazioni dei database globali di Amazon Aurora.

Versioni del prodotto

Architettura

Stack tecnologico Target

  • Cluster di database globale Amazon Aurora compatibile con MySQL Edition

  • AWS DMS

Architettura Target

Il diagramma seguente mostra un database globale per due regioni AWS, una con i database principali e reporter principali e la replica AWS DMS, e una con i database secondari principali e reporter.

Diagramma di architettura del database globale interregionale.

Automazione e scalabilità

Puoi usare AWS CloudFormation per creare l'infrastruttura prerequisita nella regione secondaria, come il cloud privato virtuale (VPC), le sottoreti e i gruppi di parametri. Puoi anche usare AWS CloudFormation per creare i cluster secondari nella regione DR e aggiungerli al database globale. Se hai utilizzato CloudFormation modelli per creare i cluster di database nella regione primaria, puoi aggiornarli o ampliarli con un modello aggiuntivo per creare la risorsa di database globale. Per ulteriori informazioni, consulta Creazione di un cluster Amazon Aurora DB con due istanze DB e Creazione di un cluster di database globale per Aurora MySQL.

Infine, puoi creare le attività AWS DMS nelle regioni primarie e secondarie utilizzando CloudFormation dopo che si sono verificati eventi di failover e failback. Per ulteriori informazioni, consulta. AWS::DMS::ReplicationTask

Strumenti

  • Amazon Aurora - Amazon Aurora è un motore di database relazionale completamente gestito compatibile con MySQL e PostgreSQL. Questo modello utilizza l'edizione compatibile con Amazon Aurora MySQL.

  • Database globali Amazon Aurora - I database globali di Amazon Aurora sono progettati per applicazioni distribuite a livello globale. Un singolo database globale di Amazon Aurora può estendersi su più regioni AWS. Replica i dati senza alcun impatto sulle prestazioni del database. Consente inoltre letture locali veloci con bassa latenza in ogni regione e fornisce il disaster recovery in caso di interruzioni a livello regionale.

  • AWS DMS - AWS Database Migration Service (AWS DMS) offre una migrazione una tantum o una replica continua. Un'attività di replica continua mantiene sincronizzati i database di origine e di destinazione. Dopo la configurazione, l'attività di replica in corso applica continuamente le modifiche all'origine alla destinazione con una latenza minima. Tutte le funzionalità di AWS DMS, come la convalida e le trasformazioni dei dati, sono disponibili per qualsiasi attività di replica.

Epiche

AttivitàDescrizioneCompetenze richieste

Modificare il gruppo di parametri del cluster di database.

Nel gruppo di parametri del cluster di database esistente, attiva la registrazione binaria a livello di riga impostando il binlog_format parametro su un valore di row.

AWS DMS richiede la registrazione binaria a livello di riga per i database compatibili con MySQL durante l'esecuzione di repliche continue o l'acquisizione di dati di modifica (CDC). Per ulteriori informazioni, consulta Usare un database compatibile con MySQL gestito da AWS come fonte per AWS DMS.

Amministratore AWS

Aggiorna il periodo di conservazione dei log binari del database.

Utilizzando un client MySQL installato sul dispositivo dell'utente finale o un'istanza Amazon Elastic Compute Cloud (Amazon EC2) Elastic Compute Cloud (Amazon EC2), esegui la seguente procedura memorizzata fornita da Amazon Relational Database Service (Amazon RDS) sul nodo di scrittura del cluster di database principale, dove è il numero di ore di conservazione dei log. XX

call mysql.rds_set_configuration('binlog retention hours', XX)

Conferma l'impostazione eseguendo il comando seguente.

call mysql.rds_show_configuration;

I database compatibili con MySQL gestiti da AWS eliminano i log binari il prima possibile. Pertanto, il periodo di conservazione deve essere sufficientemente lungo da garantire che i log non vengano eliminati prima dell'esecuzione del task AWS DMS. Un valore di 24 ore è in genere sufficiente, ma il valore deve basarsi sul tempo necessario per configurare l'attività AWS DMS nella regione DR.

DBA
AttivitàDescrizioneCompetenze richieste

Registra l'ARN dell'attività AWS DMS.

Utilizza Amazon Resource Name (ARN) per ottenere il nome dell'attività AWS DMS per un uso successivo. Per recuperare l'ARN del task AWS DMS, visualizza l'attività nella console o esegui il comando seguente.

aws dms describe-replication-tasks

Un ARN ha il seguente aspetto.

arn:aws:dms:us-east-1:<accountid>:task:AN6HFFMPM246XOZVEUHCNSOVF7MQCLTOZUIRAMY

I caratteri dopo l'ultimo punto corrispondono al nome dell'attività utilizzato in un passaggio successivo.

Amministratore AWS

Modifica l'attività AWS DMS esistente per registrare il checkpoint.

AWS DMS crea checkpoint che contengono informazioni in modo che il motore di replica conosca il punto di ripristino per il flusso di modifiche. Per registrare le informazioni sui checkpoint, esegui i seguenti passaggi nella console:

  1. Interrompi l'attività AWS DMS.

  2. Utilizza l'editor JSON nell'attività per impostare il TaskRecoveryTableEnabled parametro su true.

  3. Avvia il task AWS DMS.

Amministratore AWS

Convalida le informazioni sui checkpoint.

Utilizzando un client MySQL connesso all'endpoint writer per il cluster, interroga la nuova tabella di metadati nel cluster di database reporter per verificare che esista e contenga le informazioni sullo stato di replica. Esegui il comando seguente.

select * from awsdms_control.awsdms_txn_state;

Il nome dell'attività dell'ARN deve essere trovato in questa tabella nella Task_Name colonna.

DBA
AttivitàDescrizioneCompetenze richieste

Crea un'infrastruttura di base nella regione DR.

Crea i componenti di base necessari per la creazione e l'accesso ai cluster Amazon Aurora:

  • Virtual Private Cloud (VPC) (Cloud privato virtuale (VPC)

  • Sottoreti

  • Gruppo di sicurezza

  • Liste di controllo degli accessi alla rete

  • Subnet group (Gruppo di sottoreti)

  • DB parameter group (Gruppo di parametri database)

  • DB cluster parameter group (Gruppo di parametri del cluster database)

Assicuratevi che la configurazione di entrambi i gruppi di parametri corrisponda alla configurazione nella regione principale.

Amministratore AWS

Aggiungi la regione DR a entrambi i cluster Amazon Aurora.

Aggiungi una regione secondaria (la regione DR) ai cluster Amazon Aurora principali e reporter. Per ulteriori informazioni, consulta Aggiungere una regione AWS a un database globale Amazon Aurora.

Amministratore AWS
AttivitàDescrizioneCompetenze richieste

Interrompi l'attività AWS DMS.

L'attività AWS DMS nella regione primaria non funzionerà correttamente dopo il failover e deve essere interrotta per evitare errori.

Amministratore AWS

Esegui un failover gestito.

Eseguire un failover gestito del cluster di database principale nella regione DR. Per istruzioni, consulta Esecuzione di failover pianificati gestiti per i database globali di Amazon Aurora. Una volta completato il failover sul cluster di database principale, esegui la stessa attività sul cluster di database reporter.

Amministratore AWS, DBA

Carica i dati nel database principale.

Inserisci i dati di test nel nodo writer del database principale nel cluster di database DR. Questi dati verranno utilizzati per verificare che la replica funzioni correttamente.

DBA

Crea l'istanza di replica AWS DMS.

Per creare l'istanza di replica AWS DMS nella regione DR, consulta Creazione di un'istanza di replica.

Amministratore AWS, DBA

Crea gli endpoint di origine e destinazione di AWS DMS.

Per creare gli endpoint di origine e destinazione di AWS DMS nella regione DR, consulta Creazione di endpoint di origine e destinazione. L'origine deve puntare all'istanza writer del cluster di database principale. La destinazione deve puntare all'istanza writer del cluster di database reporter.

Amministratore AWS, DBA

Ottieni il checkpoint di replica.

Per ottenere il checkpoint di replica, utilizzate un client MySQL per interrogare la tabella dei metadati eseguendo quanto segue sul nodo writer nel cluster di database reporter nella regione DR.

select * from awsdms_control.awsdms_txn_state;

Nella tabella, trova il valore task_name che corrisponde all'ARN del task AWS DMS esistente nella regione primaria che hai ottenuto nella seconda epic.

DBA

Crea un'attività AWS DMS.

Utilizzando la console, crea un'attività AWS DMS nella regione DR. Nell'attività, specifica un metodo di migrazione di Replicate data changes only. Per ulteriori informazioni, vedere Creazione di un'attività. 

  1. Nelle impostazioni dell'attività, utilizza la procedura guidata per specificare quanto segue:

    • Modalità di avvio CDC per le transazioni di origine: abilita la modalità di avvio CDC personalizzata

    • Punto iniziale CDC personalizzato per le transazioni di origine: specifica un checkpoint di ripristino

  2. Nella casella di controllo Recovery, inserisci il valore del checkpoint di replica precedentemente ottenuto tramite la query del database sulla tabella. awsdms_txn_state 

  3. Nella sezione delle impostazioni delle attività, seleziona l'editor JSON e imposta il TaskRecoveryTableEnabledparametro su true.  

Imposta l'impostazione dell'attività di migrazione AWS DMS task Start su Automatically on create.

Amministratore AWS, DBA

Registra l'ARN dell'attività AWS DMS.

Usa l'ARN per ottenere il nome del task AWS DMS per un uso successivo. Per recuperare l'ARN del task AWS DMS, esegui il comando seguente.

aws dms describe-replication-tasks
Amministratore AWS, DBA

Convalida i dati replicati.

Interroga il cluster di database reporter nella regione DR per confermare che i dati di test caricati nel cluster di database principale siano stati replicati.

DBA
AttivitàDescrizioneCompetenze richieste

Interrompi l'attività AWS DMS.

L'attività AWS DMS nella regione DR non funzionerà correttamente dopo il failback e deve essere interrotta per evitare errori.

Amministratore AWS

Esegui un failback gestito.

Esegui il failback del cluster di database principale nella regione principale. Per istruzioni, consulta Esecuzione di failover pianificati gestiti per i database globali di Amazon Aurora. Una volta completato il failback sul cluster di database principale, esegui la stessa attività sul cluster di database reporter.

Amministratore AWS, DBA

Ottieni il checkpoint di replica.

Per ottenere il checkpoint di replica, utilizzate un client MySQL per interrogare la tabella dei metadati eseguendo quanto segue sul nodo writer nel cluster di database reporter nella regione DR.

select * from awsdms_control.awsdms_txn_state;

Nella tabella, trova il task_name valore che corrisponde all'ARN del task AWS DMS esistente nella regione DR che hai ottenuto nella quarta epopea.

DBA

Aggiorna gli endpoint di origine e destinazione di AWS DMS.

Dopo il failback dei cluster di database, controlla i cluster nella regione primaria per determinare quali nodi sono le istanze di scrittura. Verifica quindi che gli endpoint di origine e destinazione di AWS DMS esistenti nella regione primaria puntino alle istanze writer. In caso contrario, aggiorna gli endpoint con i nomi DNS (Domain Name System) dell'istanza di scrittura.

Amministratore AWS

Crea un'attività AWS DMS.

Utilizzando la console, crea un'attività AWS DMS nella regione principale. Nell'attività, specifica un metodo di migrazione di Replicate data changes only. Per ulteriori informazioni, vedere Creazione di un'attività. 

  1. Nelle impostazioni dell'attività, utilizza la procedura guidata e specifica quanto segue:

    • Modalità di avvio CDC per le transazioni di origine: abilita la modalità di avvio CDC personalizzata

    • Punto iniziale CDC personalizzato per le transazioni di origine: specifica un checkpoint di ripristino

  2. Nella casella di controllo Recovery, inserisci il valore del checkpoint di replica precedentemente ottenuto tramite la query del database sulla tabella.  awsdms_txn_state 

  3. Inoltre, nella sezione delle impostazioni delle attività, seleziona l'editor JSON e imposta il TaskRecoveryTableEnabledparametro su true.

  4. Infine, imposta l'impostazione dell'attività di migrazione AWS DMS task Start su Automatically on create.

Amministratore AWS, DBA

Registra l'attività AWS DMS Amazon Resource Name (ARN).

Usa l'ARN per ottenere il nome del task AWS DMS per un uso successivo. Per recuperare l'ARN del task AWS DMS, esegui il seguente comando:

aws dms describe-replication-tasks

Il nome dell'attività sarà necessario quando si esegue un altro failover gestito o durante uno scenario di DR.

Amministratore AWS, DBA

Eliminare le attività di AWS DMS.

Elimina l'attività AWS DMS originale (attualmente interrotta) nella regione principale e l'attività AWS DMS esistente (attualmente interrotta) nella regione secondaria.

Amministratore AWS

Risorse correlate

Informazioni aggiuntive

I database globali di Amazon Aurora vengono utilizzati in questo esempio per il DR perché forniscono un obiettivo del tempo di ripristino (RTO) efficace di 1 secondo e un obiettivo del punto di ripristino (RPO) inferiore a 1 minuto, entrambi inferiori rispetto alle soluzioni replicate tradizionali e ideali per scenari di DR.

I database globali di Amazon Aurora offrono molti altri vantaggi, tra cui:

  • Letture globali con latenza locale: i consumatori globali possono accedere alle informazioni in una regione locale, con latenza locale.

  • Cluster Amazon Aurora DB secondari scalabili: i cluster secondari possono essere scalati indipendentemente, aggiungendo fino a 16 repliche di sola lettura.

  • Replica rapida dai cluster Amazon Aurora DB primari a quelli secondari: la replica ha un impatto minimo sulle prestazioni del cluster primario. Si verifica a livello di storage, con latenze di replica tipiche tra regioni inferiori a 1 secondo.

Questo modello utilizza anche AWS DMS per la replica. I database Amazon Aurora offrono la possibilità di creare repliche di lettura, che possono semplificare il processo di replica e la configurazione del DR. Tuttavia, AWS DMS viene spesso utilizzato per la replica quando sono necessarie trasformazioni dei dati o quando il database di destinazione richiede indici aggiuntivi che il database di origine non dispone.