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)