Esta página apresenta uma visão geral da configuração de alta disponibilidade (HA) para instâncias do Cloud SQL. Para configurar uma nova instância para HA ou habilitar a HA em uma instância existente, consulte Habilitando e desabilitando a alta disponibilidade em uma instância .
Visão geral da configuração de HA
O objetivo de uma configuração de alta disponibilidade é reduzir o tempo de inatividade quando uma zona ou instância fica indisponível. Isso pode ocorrer durante uma interrupção zonal ou quando há um problema de hardware. Com a alta disponibilidade, seus dados continuam disponíveis para os aplicativos clientes.
A configuração de alta disponibilidade fornece redundância de dados. Uma instância do Cloud SQL configurada para alta disponibilidade também é chamada de instância regional e tem uma zona primária e uma secundária dentro da região configurada * . Em uma instância regional, a configuração é composta por uma instância primária e uma instância em espera . Por meio da replicação síncrona para o disco persistente de cada zona, todas as gravações feitas na instância primária são replicadas para discos em ambas as zonas antes que uma transação seja relatada como confirmada. Em caso de falha de uma instância ou zona, a instância em espera se torna a nova instância primária. Os usuários são então redirecionados para a nova instância primária. Esse processo é chamado de failover .
Após um failover, a instância que recebeu o failover continua sendo a instância primária, mesmo após a instância original voltar a ficar online. Após a zona ou instância que sofreu uma interrupção ficar disponível novamente, a instância primária original é destruída e recriada. Em seguida, ela se torna a nova instância em espera. Se ocorrer um failover no futuro, a nova instância primária executará o failover para a instância original na zona original.
Se precisar manter a instância primária na zona que sofreu a interrupção, você pode executar um failback . Um failback executa as mesmas etapas do failover, mas na direção oposta, para redirecionar o tráfego de volta para a instância original. Para executar um failback, use o procedimento descrito em Iniciando o failover .
O suporte regional a discos persistentes para configuração de alta disponibilidade do Cloud SQL com pelo menos uma CPU dedicada tem cobertura total do Contrato de Nível de Serviço (SLA) . Uma instância configurada com alta disponibilidade custa o dobro de uma instância autônoma. Esse preço inclui CPU, RAM e armazenamento. Para mais informações, consulte a página de preços .
* Para obter mais informações sobre considerações específicas da região, consulte Geografia e regiões .
Ler réplicas
Se a disponibilidade for um fator a ser considerado para suas réplicas de leitura, você pode habilitar a alta disponibilidade nelas. Ao promover uma réplica para instância primária, ela já estará configurada como uma instância de alta disponibilidade.
Durante uma interrupção zonal, o tráfego é interrompido para ler réplicas nessa zona. Após a zona ficar disponível novamente, todas as réplicas de leitura nela contidas retomam a replicação a partir da instância primária. Se as réplicas de leitura não estiverem localizadas em uma zona que esteja passando por uma interrupção, elas se conectarão à instância em espera quando ela se tornar a instância primária.
Como prática recomendada, considere colocar algumas de suas réplicas de leitura em uma zona diferente das instâncias primária e de espera. Por exemplo, se você tiver uma instância primária na zona A e uma instância de espera na zona B, coloque uma réplica de leitura na zona C para aumentar sua confiabilidade. Essa prática garante que as réplicas de leitura continuem operando mesmo se a zona da instância primária ficar inativa. Você também deve adicionar lógica de negócios no aplicativo cliente para enviar leituras para a instância primária quando as réplicas de leitura estiverem indisponíveis.
Visão geral do failover
Se uma instância configurada com HA parar de responder, o Cloud SQL alternará automaticamente para o fornecimento de dados da instância em espera. Para verificar se ocorreu um failover, verifique o histórico de failover do log de operações .
Saiba mais sobre como criar consultas no Logs Explorer . Se precisar de informações mais detalhadas sobre uma operação, como o usuário que a executou, habilite o registro de auditoria .
Clique nas guias para ver como o failover afeta sua instância.
Normal
Failover
Pós-Failover
Failback
Processo
Ocorre o seguinte processo:
A instância ou zona primária falha.
A cada segundo, o sistema de heartbeat detecta se a instância primária está íntegra. Se vários heartbeats não forem detectados, o failover é iniciado.
A instância em espera agora fornece dados na reconexão.
Por meio de um endereço IP estático compartilhado com a instância primária, a instância em espera agora fornece dados da zona secundária.
Requisitos
Para que o Cloud SQL permita um failover, a configuração deve atender aos seguintes requisitos:
- A instância primária deve estar em estado operacional normal (não parada, em manutenção ou executando uma operação de instância de longa duração do Cloud SQL, como uma operação de backup).
- A zona secundária e a instância em espera devem estar em bom estado. Quando a instância em espera não responde, as operações de failover são bloqueadas. Após o Cloud SQL reparar a instância em espera e a zona secundária estiver disponível, o Cloud SQL permite o failover.
Backup e restauração
Backups automatizados são altamente recomendados para alta disponibilidade.
Aplicações e instâncias
Não há diferença entre trabalhar com instâncias HA e não HA, portanto, seu aplicativo não precisa ser configurado de nenhuma maneira específica. Quando ocorre um failover, todas as conexões existentes com a instância primária e as réplicas de leitura são fechadas, e levará aproximadamente 60 segundos para que as conexões com a instância primária sejam restabelecidas. Seu aplicativo se reconecta usando a mesma string de conexão ou endereço IP, portanto, você não precisa atualizá-lo após o failover.
Para ver exatamente como seus aplicativos são afetados pelo failover, inicie o failover manualmente .
Tempo de inatividade para manutenção
Eventos de manutenção afetam instâncias primárias configuradas com HA da mesma forma que outras instâncias. É possível que as instâncias primárias fiquem inativas por um breve período. Para obter mais informações sobre como a manutenção afeta instâncias de HA, consulte Como funciona a manutenção . Para minimizar o impacto no seu serviço, altere as configurações de manutenção para controlar quando ocorre o tempo de inatividade.
O que vem a seguir
- Habilitando e desabilitando alta disponibilidade em uma instância .
- Iniciar failover .
- Saiba mais sobre como gerenciar suas conexões de banco de dados .
- Saiba mais sobre regiões e zonas no Cloud SQL.