Como gerenciar replicações de instâncias

As instâncias do Google Cloud SQL podem ter vários tipos de instâncias replicadas para uma instância mestre. Réplicas de failover oferecem configuração de alta disponibilidade e replicação semissíncrona de dados em uma instância que pode ser acionada em caso de interrupção na zona. Instâncias replicadas de leitura oferecem replicação de dados com o objetivo de fazer um failover para criar uma nova instância mestre quase idêntica.

Nesta página, descrevemos como usar os pods do PowerShell para executar operações em instâncias de replicação que existem no seu projeto do console do Google Cloud. Por exemplo, operações como fallback para a réplica de failover ou interrupção da replicação em uma réplica de leitura. Use essas operações se uma instância ou zona do Cloud SQL tiver algum problema ou alguma interrupção. Entretanto, o gerenciamento das réplicas precisa ser feito com cuidado para não interromper os dados existentes ou futuros.

Para uma discussão mais aprofundada sobre replicação, consulte Opções de replicação e Requisitos e dicas para configurar a replicação. Consulte Como configurar instâncias do Cloud SQL para mais detalhes sobre como configurar uma instância de réplica de failover e uma réplica de leitura.

Como iniciar e interromper a replicação

Você pode iniciar ou interromper a replicação de dados nas instâncias de réplica de leitura de uma instância. O snippet a seguir inicia a replicação para a instância de réplica de leitura myreplica, para replicar todos os dados em uma instância do mestre e garantir o backup:

Start-GcSqlReplica "myreplica"

Caso os dados não precisem mais ser replicados, você poderá interromper da maneira a seguir:

Stop-GcSqlReplica "myreplica"

Promover uma instância de réplica de leitura

Se uma instância de réplica de leitura tiver todos os dados replicados necessários e você quiser transformá-la em uma instância autônoma (por exemplo, para diferenciar os dados ou realizar análises), use o cmdlet ConvertTo-GcSqlInstance:

ConvertTo-GcSqlInstance "myreplica"

Ativar um failover

Às vezes, erros acontecem e uma instância torna-se inutilizável. Ao usar as opções de configuração de alta disponibilidade (por meio do uso de instâncias de réplica de failover), você pode fazer failover para a instância de réplica de failover de uma instância mestre. Observe que esse processo ocorre automaticamente no caso de interrupção da zona de uma instância mestre.

O snippet de código a seguir ativa a réplica de failover myfailover, fazendo com que ela se torne a instância do mestre:

$instance = Get-GcSqlOperation -Instance "myfailover"
$settingVersion = $instance.Settings.SettingsVersion
Invoke-GcSqlInstanceFailover "myfailover" $settingVersion

Observe que esse fragmento inclui uma variável chamada settingVersion, que contém um número de versão. Esse número evita condições de corrida ao atualizar uma instância ou usar um failover, já que o número da versão da chamada precisa corresponder à versão atual da instância.