REL09-BP04 Ripristino periodico dei dati per verificare l'integrità e i processi di backup: - Pilastro dell'affidabilità

REL09-BP04 Ripristino periodico dei dati per verificare l'integrità e i processi di backup:

Verifica che l'implementazione del processo di backup soddisfi gli obiettivi del tempo di ripristino (RTO) e gli obiettivi del punto di ripristino (RPO) eseguendo un test del ripristino.

Risultato desiderato: i dati dei backup vengono ripristinati periodicamente utilizzando meccanismi ben definiti per verificare che il ripristino sia possibile entro l'obiettivo del tempo di ripristino (RTO) stabilito per il carico di lavoro. Verifica che il ripristino da un backup porti a una risorsa che contiene i dati originali senza che questi siano danneggiati o inaccessibili e con una perdita di dati entro l'obiettivo del punto di ripristino (RPO).

Anti-pattern comuni:

  • Ripristino di un backup, ma senza eseguire query sui dati o recuperarli per verificare di poter usare il ripristino.

  • Presupporre l'esistenza di un backup.

  • Presupporre che il backup di un sistema sia pienamente operativo e che i dati possano essere recuperati da esso.

  • Presupporre che il tempo di ripristino o di recupero dei dati da un backup rientri nell'RTO del carico di lavoro.

  • Presupporre che i dati contenuti nel backup rientrino nell'RPO del carico di lavoro.

  • Ripristino in base alle esigenze, senza usare un runbook o seguire una procedura automatica prestabilita.

Vantaggi dell'adozione di questa best practice: il test del ripristino dei backup verifica che i dati possano essere ripristinati quando necessario senza preoccuparsi che possano essere mancanti o danneggiati, che il ripristino e il recupero siano possibili entro l'RTO per il carico di lavoro e che qualsiasi perdita di dati rientri nell'RPO per il carico di lavoro.

Livello di rischio associato se questa best practice non fosse adottata: medio

Guida all'implementazione

La verifica delle capacità di backup e ripristino aumenta la fiducia nella capacità di eseguire queste azioni durante un'interruzione. Ripristina periodicamente i backup in una nuova posizione ed esegui test per verificare l'integrità dei dati. Alcuni test comuni che devono essere eseguiti sono la verifica che tutti i dati siano disponibili, non siano danneggiati e siano accessibili e che un'eventuale perdita di dati rientri nell'RPO per il carico di lavoro. Questi test possono anche aiutare a verificare se i meccanismi di ripristino sono sufficientemente veloci per soddisfare l'RTO del carico di lavoro.

Con AWS, puoi creare un ambiente di test e ripristinare i backup per valutare le funzionalità RTO e RPO ed eseguire test sul contenuto e l'integrità dei dati.

Inoltre, Amazon RDS e Amazon DynamoDB consentono il ripristino point-in-time (PITR) Utilizzando il backup continuo, puoi ripristinare il set di dati allo stato in cui si trovava in una data e un'ora specificate.

Se tutti i dati sono disponibili, non sono danneggiati, sono accessibili e qualsiasi perdita di dati rientra nell'RPO del carico di lavoro. Questi test possono anche aiutare a verificare se i meccanismi di ripristino sono sufficientemente veloci per soddisfare l'RTO del carico di lavoro.

AWS Elastic Disaster Recovery offre snapshot di ripristino point-in-time (RPIT) continui di volumi Amazon EBS. Con la replica dei server di origine, gli stati point-in-time vengono registrati nel corso del tempo in base alla policy configurata. Elastic Disaster Recovery verifica l'integrità di questi snapshot avviando istanze per scopi di test ed esercitazione senza reindirizzare il traffico.

Passaggi dell'implementazione

  1. Identifica le origini dati di cui stai eseguendo il backup e dove sono archiviati i backup. Per le linee guida di implementazione, consulta REL09-BP01 Identificazione e backup di tutti i dati che richiedono un backup o riproduzione dei dati dalle origini.

  2. Definisci criteri per la convalida dei dati per ciascuna origine dati. Tipi di dati differenti avranno proprietà diverse che potrebbero richiedere meccanismi di convalida diversi. Considera il modo in cui potrebbero essere convalidati questi dati prima di poterli utilizzare in produzione. Alcuni modi comuni per convalidare i dati sono l'uso delle loro proprietà dei dati e del backup, come il tipo di dati, il formato, la somma di controllo, la dimensione o la combinazione di questi elementi con una logica di convalida personalizzata. Ad esempio, può trattarsi di un confronto dei valori di checksum tra la risorsa ripristinata e l'origine dati al momento della creazione del backup.

  3. Definisci l'RTO e l'RPO per il ripristino dei dati in base alla relativa criticità. Per le linee guida di implementazione, consulta REL13-BP01 Definizione degli obiettivi di ripristino in caso di downtime e perdita di dati.

  4. Valuta la capacità di ripristino. Rivedi la strategia di backup e ripristino per capire se è in grado di soddisfare RTO e RPO e modifica la strategia se necessario. AWS Resilience Hub ti consente di valutare il tuo carico di lavoro. La valutazione esamina la configurazione dell'applicazione rispetto alle policy sulla resilienza e indica se gli obiettivi RTO e RPO possono essere raggiunti.

  5. Esegui un ripristino di test utilizzando i processi attualmente in uso in produzione per il ripristino dei dati. Questi processi dipendono dal modo in cui è stato eseguito il backup dell'origine dati iniziale, dal formato e dalla posizione di archiviazione del backup stesso o dalla riproduzione dei dati da altre fonti. Ad esempio, in caso di utilizzo di un servizio gestito, come AWS Backup, potrebbe essere semplice ripristinare il backup in una nuova risorsa. In caso di utilizzo di AWS Elastic Disaster Recovery, è possibile avviare un'esercitazione di ripristino.

  6. Convalida il ripristino dei dati dalla risorsa ripristinata in base ai criteri stabiliti in precedenza per la convalida dei dati. I dati ripristinati e recuperati contengono il record o la voce più recente al momento del backup? Questi dati rientrano nell'RPO per il carico di lavoro?

  7. Misura il tempo necessario per il recupero e ripristino, quindi confrontalo con l'RTO stabilito. Questo tempo deve rientrare nell'RTO per il carico di lavoro? Ad esempio, confronta i timestamp dell'inizio del processo di ripristino e del completamento della convalida del ripristino per calcolare la durata del processo. Tutte le chiamate API AWS hanno una datazione temporale e queste informazioni sono disponibili in AWS CloudTrail. Sebbene queste informazioni possano fornire dettagli sull'inizio del processo di ripristino, la logica di convalida dovrebbe registrare il timestamp finale del completamento della convalida. Se utilizzi un processo automatizzato, puoi sfruttare servizi come Amazon DynamoDB per archiviare queste informazioni. Inoltre, molti servizi AWS offrono una cronologia degli eventi che fornisce informazioni con data e ora in cui si sono verificate determinate azioni. All'interno di AWS Backup, le azioni di backup e di ripristino sono denominate processi. Questi contengono informazioni sulla data e l'ora come parte dei metadati che possono essere utilizzati per misurare il tempo necessario per il ripristino e il recupero.

  8. Comunica alle parti interessate se la convalida dei dati non riesce o se il tempo necessario per il ripristino e il recupero supera l'RTO stabilito per il carico di lavoro. Nell'implementare l'automazione a tale scopo, come in questo lab, è possibile utilizzare servizi come Amazon Simple Notification Service (Amazon SNS) per inviare notifiche push come e-mail o SMS alle parti interessate. I messaggi in questione possono essere pubblicati anche su applicazioni di messaggistica come Amazon Chime, Slack o Microsoft Teams o utilizzati per creare attività come OpsItems mediante AWS Systems Manager OpsCenter.

  9. Automatizza questo processo per eseguirlo periodicamente. Ad esempio, per automatizzare i processi di ripristino e recupero si possono utilizzare servizi come AWS Lambda o una State Machine in AWS Step Functions, mentre Amazon EventBridge può essere utilizzato per richiamare periodicamente questo flusso di lavoro di automazione, come mostrato nel diagramma di architettura sottostante. Per ulteriori informazioni, consulta Automate data recovery validation with AWS Backup. Inoltre, questo Well-Architected lab fornisce un'esperienza pratica su come realizzare l'automazione di alcuni dei passaggi qui descritti.

Diagramma che mostra un processo di backup e ripristino automatizzato

Figura 9. Processo di backup e ripristino automatico

Livello di impegno per il piano di implementazione: da moderato a elevato, in base alla complessità dei criteri di convalida.

Risorse

Documenti correlati: