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.
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 os valores Lag Bytes
no painel de
monitoramento. Quando há uma interrupção
regional na região da
instância principal, Lag Bytes
é informado para a instância principal.
Em seguida, conecte-se à instância de réplica com um cliente do PostgreSQL seguindo as
instruções na página de status de replicação. Consulte a guia Cliente do psql. Consulte as instruções referentes às
métricas pg_catalog.pg_last_wal_receive_lsn()
e
pg_catalog.pg_last_wal_replay_lsn()
. 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)