Nesta página, fornecemos uma visão geral da restauração do Cassandra na Apigee híbrida.
Por que usar a restauração?
É possível usar backups para restaurar a infraestrutura da Apigee desde o início, em caso de
falhas catastróficas, como perda de dados irrecuperável na sua instância híbrida da Apigee de um desastre.
A restauração retira os dados do local de backup e os restaura em um novo cluster do
Cassandra com o mesmo número de nós. Nenhum cluster de dados é retirado do cluster antigo do Cassandra.
O objetivo do processo de restauração é trazer uma instalação da Apigee híbrida de volta ao
estado anteriormente operacional usando dados de backup de um snapshot.
O uso de backups para restauração não é recomendado nos seguintes cenários:
Falhas no nó do Cassandra.
Exclusão acidental de dados como apps, developers e api_credentials.
Uma ou mais regiões caindo em uma implantação multirregional.
As implantações e a arquitetura operacional do Apigee Cassandra cuidam da redundância e da tolerância a falhas para uma única região.
Na maioria dos casos, a implementação de produção híbrida multirregional recomendada significa que uma falha de região pode ser recuperada
de outra região ativa usando procedimentos de desativação e expansão de região
em vez de restaurar um backup. de dados.
Antes de começar a implementar uma restauração de um backup do Cassandra, esteja ciente do seguinte:
Inatividade: haverá inatividade durante a restauração.
Perda de dados: haverá perda de dados entre o último backup válido e o momento em que a
restauração é concluída.
Tempo de restauração: o tempo de restauração depende do tamanho dos dados e do cluster.
Dados da cereja: não é possível selecionar apenas dados específicos para restaurar. A restauração restaura todo o backup selecionado.
Restaurações multirregionais
Se você instalou a Apigee híbrida em várias regiões, verifique o arquivo de modificação
da região que está sendo restaurada para garantir que cassandra:hostNetwork esteja definido
como false antes de executar a restauração. Para mais informações, consulte Como restaurar em várias regiões.
Pré-requisitos
Verifique se todos os pré-requisitos a seguir foram atendidos. Investigue qualquer falha de pré-requisito antes de prosseguir com a restauração.
Verifique se todos os pods do Cassandra estão funcionando com o comando a seguir.
kubectl get pods -n APIGEE_NAMESPACE -l app=apigee-cassandra
As saídas terão a aparência do exemplo a seguir:
NAME READY STATUS RESTARTS AGE
apigee-cassandra-default-0 1/1 Running 0 14m
apigee-cassandra-default-1 1/1 Running 0 13m
apigee-cassandra-default-2 1/1 Running 0 11m
exampleuser@example hybrid-files %
Verifique se o statefulset do Cassandra mostra que todos os pods estão em execução com o comando a seguir.
kubectl get sts -n APIGEE_NAMESPACE -l app=apigee-cassandra
As saídas terão a aparência do exemplo a seguir:
NAME READY AGE
apigee-cassandra-default 3/3 15m
Verifique se o recurso ApigeeDatastore está no estado running com o comando a seguir.
kubectl get apigeeds -n APIGEE_NAMESPACE
As saídas terão a aparência do exemplo a seguir:
NAME STATE AGE
default running 16m
Verifique se todos os PVCs do Cassandra estão com status Bound usando o comando a seguir.
kubectl get pvc -n APIGEE_NAMESPACE -l app=apigee-cassandra
As saídas terão a aparência do exemplo a seguir:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
cassandra-data-apigee-cassandra-default-0 Bound pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO standard-rwo 17m
cassandra-data-apigee-cassandra-default-1 Bound pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO standard-rwo 15m
cassandra-data-apigee-cassandra-default-2 Bound pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO standard-rwo 13m
Verifique se todos os PVs do Cassandra estão com status Bound usando o comando a seguir.
Verifique se o recurso controlador da Apigee está no status "Em execução" com o comando a seguir.
kubectl get pods -n APIGEE_NAMESPACE -l app=apigee-controller
As saídas terão a aparência do exemplo a seguir:
NAME READY STATUS RESTARTS AGE
apigee-controller-manager-856d9bb7cb-cfvd7 2/2 Running 0 20m
Como restaurar?
As etapas de restauração do Cassandra vão ser um pouco diferentes se a Apigee híbrida
for implantada em uma ou várias regiões. Para ver as etapas de restauração detalhadas,
consulte a seguinte documentação:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-21 UTC."],[],[],null,["# Cassandra restore overview\n\nThis page provides an overview of restoring Cassandra in Apigee hybrid.\n\nWhy use restore?\n----------------\n\nYou can use [backups](/apigee/docs/hybrid/v1.15/cassandra-backup-overview) to restore Apigee infrastructure from the ground up in the event of\ncatastrophic failures, such as irrecoverable data loss in your Apigee hybrid instance from a disaster.\nRestoration takes your data from the backup location and restores the data into a new Cassandra\ncluster with the same number of nodes. No cluster data is taken from the old Cassandra cluster.\nThe goal of the restoration process is to bring an Apigee hybrid installation back to a\npreviously operational state using backup data from a snapshot.\n\nThe use of backups to restore is not recommended for the following scenarios:\n\n- Cassandra node failures.\n- Accidental deletion of data like `apps`, `developers`, and `api_credentials`.\n- One or more regions going down in a multi-region hybrid deployment.\n\nApigee Cassandra deployments and operational architecture take care of redundancy and fault tolerance for a single region.\nIn most cases, the recommended multi-region production implementation of hybrid means that a region failure can be recovered from\nanother live region using [region decommissioning and expansion procedures]()\ninstead of restoring from a backup.\n\nBefore you begin implementing a restore from a Cassandra backup, be aware of the following:\n\n- **Downtime:** There will be downtime for the duration of the restoration.\n- **Data loss:** There will be data loss between the last valid backup and the time the restoration is complete.\n- **Restoration time:** Restoration time depends on the size of the data and cluster.\n- **Cherry-picking data:** You cannot select only specific data to restore. Restoration restores the entire backup you select.\n\n| **Note:** When restoring an Apigee hybrid installation from backup, ensure that the backup file is created from the same hybrid version as the installation. For example, if you have a backup file created from Apigee hybrid 1.5.x, use it to restore only an Apigee hybrid 1.5.x installation. If there is a version mismatch between the backup file and the hybrid installation, the restoration might not work and Apigee does not support any issues that arise because of such restoration.\n\nMulti-region restores\n---------------------\n\nIf you installed Apigee hybrid into multiple regions, you must check the overrides file\nfor the region you are restoring to make sure the `cassandra:hostNetwork` is set\nto `false` before you perform the restoration. For more information, see\n[Restoring in multiple regions](./restore-cassandra-multi-region).\n\nPrerequisites\n-------------\n\n\nCheck all the following prerequisites are successful. Investigate any prerequisite failures before\nproceeding with restoration.\n\n1. Verify all Cassandra pods are up and running with the following command. \n\n ```\n kubectl get pods -n APIGEE_NAMESPACE -l app=apigee-cassandra\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME READY STATUS RESTARTS AGE\n apigee-cassandra-default-0 1/1 Running 0 14m\n apigee-cassandra-default-1 1/1 Running 0 13m\n apigee-cassandra-default-2 1/1 Running 0 11m\n exampleuser@example hybrid-files %\n \n ```\n2. Verify the Cassandra statefulset shows all pods are running with the following command. \n\n ```\n kubectl get sts -n APIGEE_NAMESPACE -l app=apigee-cassandra\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME READY AGE\n apigee-cassandra-default 3/3 15m\n \n ```\n3. Verify the ApigeeDatastore resource is in a *running* state with the following command. \n\n ```\n kubectl get apigeeds -n APIGEE_NAMESPACE\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME STATE AGE\n default running 16m\n \n ```\n4. Verify all Cassandra PVCs are in *Bound* status with the following command. \n\n ```\n kubectl get pvc -n APIGEE_NAMESPACE -l app=apigee-cassandra\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE\n cassandra-data-apigee-cassandra-default-0 Bound pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO standard-rwo 17m\n cassandra-data-apigee-cassandra-default-1 Bound pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO standard-rwo 15m\n cassandra-data-apigee-cassandra-default-2 Bound pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO standard-rwo 13m\n \n ```\n5. Verify all Cassandra PVs are in Bound status with the following command. \n\n ```\n kubectl get pv -n APIGEE_NAMESPACE\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE\n pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-0 standard-rwo 17m\n pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-1 standard-rwo 16m\n pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-2 standard-rwo 14m\n \n ```\n6. Verify the Apigee Controller resource is in Running status with the following command. \n\n ```\n kubectl get pods -n APIGEE_NAMESPACE -l app=apigee-controller\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME READY STATUS RESTARTS AGE\n apigee-controller-manager-856d9bb7cb-cfvd7 2/2 Running 0 20m\n \n ```\n\nHow to restore?\n---------------\n\nCassandra's restoration steps differ slightly depending on whether your Apigee hybrid is\ndeployed in a single region or multiple regions. For the detailed restoration steps,\nsee the following documentation:\n\n- [Restoring in a single region](/apigee/docs/hybrid/v1.15/restore-cassandra-single-region)\n- [Restoring in a multi-region](/apigee/docs/hybrid/v1.15/restore-cassandra-multi-region)\n\n| **Note:** Apigee hybrid version 1.14.0 and newer supports [Enhanced per-environment proxy limits](/apigee/docs/hybrid/v1.15/enhanced-proxy-limits). However conversion of existing Hybrid orgs to use enhanced per-environment proxy limits is not supported. Therefore, a backup of an organization that was created without enhanced per-environment proxy limits enabled cannot be restored to an organization created with the feature enabled."]]