Promover réplicas para migração regional ou recuperação de desastres

Nesta página, descrevemos como usar e promover réplicas de leitura entre regiões (réplicas criadas em uma região diferente da principal) para migração regional ou recuperação de desastres.

Visão geral

Há dois cenários comuns para a promoção de réplicas entre regiões:

  • Migração regional: execute uma migração planejada de um banco de dados para uma região diferente.
  • Recuperação de desastres: faça o failover de um banco de dados para outra região caso a região principal fique indisponível.

Ambos os casos de uso envolvem a configuração da replicação entre regiões e a promoção da réplica. A principal diferença entre eles é se a promoção da réplica é planejada (no caso da migração regional) ou não (o failover para a região da réplica é necessário para continuar as operações porque o principal ficou indisponível).

Migração regional

Use uma réplica entre regiões para migrar o banco de dados para outra região com tempo de inatividade mínimo. A ideia geral é criar uma réplica em outra região, aguardar até que a replicação chegue, promovê-la e direcionar os clientes para a instância recém-promovida.

As etapas envolvidas na promoção são as mesmas para promover uma réplica na região. Siga estas instruções para garantir que a instância recém-promovida tenha todas as transações que foram confirmadas na instância primária original. Depois de promover a réplica e verificar se a instância recém-promovida está funcionando, atualize todos os clientes de banco de dados para conectar à nova instância.

Recuperação de desastres (DR)

As réplicas entre regiões podem ser usadas como parte de um procedimento de recuperação de desastres. É possível promover uma réplica entre regiões para failover para outra região se a região da instância principal ficar indisponível por um longo período.

Para mais informações sobre recuperação de desastres, consulte Sobre a recuperação de desastres no Cloud SQL.

Recuperação de desastres (DR) avançada

Se você estiver usando o Cloud SQL Enterprise Plus, poderá designar uma réplica de leitura entre regiões como uma réplica de recuperação de desastres (réplica de DR) para recuperação avançada de desastres (DR). Com a DR avançada, você executa um failover de réplica para substituir a instância principal pela réplica de DR designada. A antiga instância principal se torna uma réplica da réplica de DR promovida. Só é possível executar o failover da réplica para a réplica de DR designada. Ainda é possível promover outras réplicas de leitura sem failover.

Para retornar a implantação ao estado original após o failover da réplica sem perda de dados, execute uma alternância. Como a instância principal antiga é uma réplica da nova, é possível alternar os papéis novamente para restaurar a instância principal antiga.

Para mais informações, consulte Recuperação avançada de desastres (DR). A DR avançada está em Prévia.

Verificar os critérios de failover

Como a replicação é assíncrona, quando ocorre uma interrupção regional e há uma tentativa de failover, algumas transações recentes que foram confirmadas na primária podem ser perdidas (não replicadas para a réplica). Sempre que uma instância primária se tornar indisponível, as etapas a seguir mostrarão (1) como determinar a quantidade de dados, se houver, que pode ter sido perdida no failover entre regiões e (2) como garantir que a réplica promovida reflita o maior número possível de gravações recentes.

Primeiro, verifique o valor de Replication Lag da instância de réplica no painel de monitoramento, que indica até que ponto, em segundos, a réplica está atrasada na instância primária. O valor dessa métrica no momento imediatamente antes da primário ficar indisponível indica o período em que as transações confirmadas com a principal podem ter sido perdidas. Por exemplo, se Replication Lag tiver cinco segundos, a réplica poderá estar sem gravações na primária dos cinco segundos antes da indisponibilidade da primária. A quantidade real de dados perdidos pode ser menor que isso, porque Replication Lag também inclui transações que foram recebidas pela réplica, mas que ainda não foram aplicadas.

Em seguida, conecte-se à instância de réplica com um cliente MySQL seguindo as instruções na página de status de replicação. Consulte a guia Cliente MySQL. Veja as instruções referentes às métricas Master_Log_File, Read_Master_Log_Pos, Relay_Master_Log_File e Exec_Master_Log_Pos. Verifique se a réplica processou todas as transações recebidas da principal. Isso garante que, quando promovida, a réplica reflete todas as transações recebidas antes da indisponibilidade da primária.

Promover uma réplica de leitura

Após determinar que os critérios de alternância foram atendidos, é possível promover uma das réplicas para uma instância independente gravável. Pense no seguinte cenário:

  • A região A (us-central1) tem uma instância principal de alta disponibilidade (db-a-0)
  • A região B (us-west1) tem uma réplica entre regiões de alta disponibilidade (db-b-1) de db-a-0
  • A região C (us-east1) tem uma réplica entre regiões (db-c-1) de db-a-0

É possível optar por promover db-b-1 na Região B para se tornar uma instância independente gravável.

Consulte Como promover uma réplica para mais instruções.

Verifique se o tipo de máquina é apropriado

Verifique se o tipo de máquina da instância recém-promovida é apropriado para a carga de trabalho monitorando métricas na instância, como o uso de CPU e memória. Se a instância promovida for menor que a instância primária anterior, redimensione-a para que corresponda à antiga primária para que ela possa processar a mesma quantidade de carga.

Ativar a alta disponibilidade para a instância promovida

Para uma configuração de recuperação de desastres, recomendamos que você configure a réplica que pretende promover como uma réplica de alta disponibilidade. Como alternativa, configure a instância recém-promovida como alta disponibilidade. Se você optar por não configurar a réplica de leitura com alta disponibilidade, também poderá configurar a instância com alta disponibilidade se e quando promovê-la.

Quando promovidas, as réplicas de leitura são configuradas automaticamente com backups. Configurar uma réplica de leitura para alta disponibilidade é feito da mesma maneira que em uma instância principal. Para mais informações, consulte Como configurar a instância para alta disponibilidade.

Recriar réplicas extras

Se você promover uma réplica para se tornar uma instância principal, precisará recriar outras réplicas da antiga instância principal. Por exemplo, considere a configuração mencionada anteriormente e repetida aqui:

  • A região A (us-central1) tem uma instância principal de alta disponibilidade (db-a-0)
  • A região B (us-west1) tem uma réplica entre regiões (db-b-1) de db-a-0
  • A região C (us-east1) tem uma réplica entre regiões (db-c-1) de db-a-0

Se a instância principal (db-a-0) ficar indisponível, será possível promover a réplica na região B para se tornar a principal. Para ter outras réplicas nas regiões A e C, exclua as instâncias antigas (a antiga instância principal na região A e a réplica na C) e crie novas réplicas de leitura a partir da nova instância principal na região B.

A configuração resultante seria:

  • A região A (us-central1) agora tem uma réplica entre regiões (db-a-1)
  • A região B (us-west1) agora tem a instância principal (db-b-1).
  • A região C (us-east1) agora tem uma nova réplica entre regiões (db-c-2)