Panoramica del backup di Cassandra

La funzionalità di backup e ripristino ibrida di Apigee ti consente di creare backup dei dati ibridi e, in caso di scenari di emergenza, di ripristinare i dati negli snapshot di lavoro precedenti. La disponibilità e la conservazione dei backup si basano sull'infrastruttura di backup fornita da te.

Un'installazione tipica di Apigee hybrid è costituita dai seguenti componenti:

  • MART (servizio amministrativo)
  • Controller e Watcher (gestisci gli oggetti Kubernetes)
  • Istio (gestisce Ingress)
  • Runtime, Sync e UDCA (uno per ambiente)
  • Telemetria (monitoraggio e logging)
  • Gestore certificati (gestisce i certificati)
  • Datastore (database Cassandra e Redis)

Tutti i componenti, ad eccezione di Cassandra, sono stateless e non memorizzano dati. Il backup e il ripristino non sono necessari per questi componenti. Durante il recupero, è sufficiente reinstallare questi componenti utilizzando le sostituzioni esistenti.

Perché eseguire il backup di Cassandra?

I backup sono una misura di protezione importante contro gli scenari di disastro. Ogni backup funge da istantanea coerente dei dati Cassandra esistenti al momento della sua creazione. Oltre ai dati di Cassandra, questa istantanea include lo schema e i metadati all'interno del cluster Cassandra. In caso di emergenza, i backup ti consentono di ripristinare l'istanza ibrida a uno stato operativo precedente. A seconda delle dimensioni dell'istanza ibrida, un singolo set di backup può contenere uno o più file di backup.

Cosa devi sapere sui backup di Cassandra?

Cassandra è un database replicato configurato per avere almeno tre copie dei dati in ogni regione o data center. Cassandra utilizza la replica in streaming e le riparazioni di lettura per mantenere le repliche dei dati in ogni regione o data center in un determinato momento.

In ibrido, i backup di Cassandra non sono abilitati per impostazione predefinita. È buona prassi attivare i backup di Cassandra nel caso in cui i dati vengano persi a causa di un errore catastrofico. I backup di Cassandra sono destinati all'utilizzo in caso di ripristino di emergenza e non per il ripristino della perdita di dati causata dall'eliminazione accidentale.

I backup vengono creati in base alla pianificazione impostata nel file overrides.yaml. Una volta applicata una pianificazione dei backup al cluster ibrido, viene eseguito un job di backup di Kubernetes in base alla pianificazione. Il job attiva uno script di backup su ogni nodo Cassandra del cluster ibrido che raccoglie tutti i dati sul nodo, crea un file di archivio dei dati e invia l'archivio a Cloud Storage o a una directory su un server remoto.

Di cosa viene eseguito il backup?

Il backup pianificato ibrido è un backup completo dei dati di runtime persistenti archiviati in Cassandra di Apigee al momento del backup. Eventuali modifiche ai dati dopo il momento del backup non saranno disponibili nel backup. Il backup pianificato è costituito dalle seguenti entità:

  • Schema Cassandra, incluso lo schema utente (definizioni dello spazio chiavi Apigee).
  • Informazioni sui token di partizione Cassandra per nodo Cassandra in un cluster.
  • Uno snapshot dei dati di Cassandra.

Dove vengono archiviati i dati di backup?

La posizione dei dati di backup dipende dal metodo di backup. Apigee hybrid supporta i seguenti metodi per eseguire i backup:

  • Backup in Cloud Storage: il backup viene archiviato nei bucket Cloud Storage configurati nel tuo progetto Google Cloud.
  • Backup su un server remoto: il backup viene archiviato in una directory su un server remoto scelto da te.

Come vengono protetti i dati?

Se utilizzi Cloud Storage per il backup, i dati di backup vengono criptati per impostazione predefinita. In caso di backup non su Cloud Storage, i dati di backup vengono criptati durante il trasferimento al server remoto. Tuttavia, dopo il trasferimento, devi assicurarti che i dati di backup siano criptati nel server remoto.

Come eseguire i backup?

Devi pianificare i backup come job cron. Il cronjob legge la configurazione da un file overrides.yaml configurato da te. Apigee consiglia di creare una copia del file overrides.yaml in modo da poterlo riutilizzare durante il processo di recupero.

Le sezioni seguenti descrivono in dettaglio come pianificare i backup in Cloud Storage e su un server remoto.