Ripristino in più regioni

Questa pagina descrive come ripristinare Cassandra in più regioni.

In un deployment multi-regione, Apigee Hybrid viene implementato in più località geografiche in diversi data center. È importante notare che, se nel tuo deployment sono presenti più organizzazioni Apigee, la procedura di ripristino ripristina i dati per tutte le organizzazioni. In una configurazione multi-organizzazione, il ripristino di un'organizzazione specifica non è supportato.

Ripristino di cassandra

In un deployment multiregione, esistono due possibili modi per recuperare una regione con errori. Questo argomento descrive i seguenti approcci:

Recupera le regioni non riuscite

Per recuperare le regioni non riuscite da una regione funzionante:

  1. Reindirizza il traffico API dalle regioni interessate alla regione funzionante. Pianifica la capacità in modo da supportare il traffico deviato dalle regioni in cui si sono verificati errori.
  2. Esegui la dismissione della regione interessata. Per ogni regione interessata, segui i passaggi descritti in Dismissione di un'area geografica ibrida. Attendi il completamento del ritiro prima di passare al passaggio successivo.
  3. Ripristina la regione interessata. Per il ripristino, crea una nuova regione come descritto in Deployment in più regioni su GKE, GKE On-Prem e AKS.

Ripristino da un backup

Il backup di Cassandra può trovarsi su Cloud Storage o su un server remoto in base alla configurazione. Per ripristinare Cassandra da un backup, svolgi i seguenti passaggi:

  1. Elimina il deployment di Apigee hybrid da tutte le regioni:
    apigeectl delete -f overrides.yaml
  2. Ripristina la regione desiderata da un backup. Per ulteriori informazioni, consulta Ripristinare una regione da un backup.

  3. Rimuovi i riferimenti alle regioni eliminate e aggiungi i riferimenti alle regioni ripristinate nei metadati KeySpaces.
  4. Ottieni il nome della regione utilizzando l'opzione nodetool status.
    kubectl exec -n apigee -it apigee-cassandra-default-0 -- bash
          nodetool  -u APIGEE_JMX_USER -pw APIGEE_JMX_PASSWORD status |grep -i Datacenter

    dove:

    • APIGEE_JMX_USER è il nome utente dell'utente delle operazioni JMX di Cassandra. Utilizzato per autenticarsi e comunicare con l'interfaccia JMX di Cassandra. Consulta cassandra:auth:jmx:username.
    • APIGEE_JMX_PASSWORD è la password per l'utente delle operazioni JMX di Cassandra. Consulta cassandra:auth:jmx:password.
  5. Aggiorna la replica di KeySpaces.
    1. Crea un contenitore client e connettiti al cluster Cassandra tramite l'interfaccia CQL.
    2. Recupera l'elenco degli spazi chiavi utente dall'interfaccia CQL:
      cqlsh CASSANDRA_SEED_HOST -u APIGEE_DDL_USER -p APIGEE_DDL_PASSWORD
            --ssl -e "select keyspace_name from system_schema.keyspaces;"|grep -v system

      dove:

      • CASSANDRA_SEED_HOST è l'host seed multiregione Cassandra. Per la maggior parte delle installazioni con più regioni, utilizza l'indirizzo IP di un host nella prima regione. Consulta Configurare Apigee hybrid per più regioni e cassandra:externalSeedHost.
      • APIGEE_DDL_USER e APIGEE_DDL_PASSWORD sono il nome utente e la password dell'amministratore per l'utente Cassandra Data Definition Language (DDL). I valori predefiniti sono "ddl_user" e "iloveapis123".

        Consulta cassandra.auth.ddl.password nel riferimento per le proprietà di configurazione e Opzioni della riga di comando nella documentazione di cqlsh di Apache Cassandra.

    3. Per ogni spazio chiavi, esegui il seguente comando dall'interfaccia CQL per aggiornare le impostazioni di replica:
      ALTER KEYSPACE KEYSPACE_NAME WITH replication = {'class': 'NetworkTopologyStrategy', 'REGION_NAME':3};

      dove:

      • KEYSPACE_NAME è il nome dello spazio chiavi elencato nell'output del passaggio precedente.
      • REGION_NAME è il nome della regione ottenuto nel passaggio 4.