Para minimizar o risco nas cargas de trabalho de produção do AlloyDB para PostgreSQL, use um cluster de preparação para testar novos recursos, desempenho e funcionalidades antes de aplicar atualizações aos sistemas de produção. Um cluster de pré-produção é uma cópia do seu cluster de produção que adiciona uma camada de controle ao processo de atualização de manutenção. Usar um cluster de teste para testar atualizações de manutenção permite identificar e resolver possíveis problemas em um ambiente de não produção. Essa abordagem reduz o risco de inatividade e degradação de performance nos seus sistemas de produção.
As atualizações de manutenção do AlloyDB são periódicas, geralmente mensais. As atualizações incluem novos recursos, correções de bugs, upgrades de compatibilidade de banco de dados e correções relacionadas à segurança. Embora os lançamentos do AlloyDB sejam compatíveis com versões futuras, recomendamos que você teste as novas versões em um ambiente de preparo para garantir a estabilidade e a previsibilidade do banco de dados para os aplicativos críticos no cluster de produção.
Para usar um cluster de teste, siga estas etapas gerais:
- Configure um cluster de teste.
- Configure uma janela de manutenção em um cluster de produção.
- Gerenciar atualizações do cluster de teste.
- Gerenciar atualizações de clusters de produção.
Essa abordagem de validação de staging para manutenção do AlloyDB garante que seu ambiente de produção permaneça estável, com boa performance e seguro enquanto se beneficia dos recursos e patches mais recentes do AlloyDB.
O diagrama a seguir mostra a relação entre o cluster de staging e o de produção, além do fluxo operacional do processo de atualização:
Para saber mais sobre como as atualizações de manutenção funcionam com clusters do AlloyDB, consulte Visão geral da manutenção. Para saber mais sobre como gerenciar janelas de manutenção, consulte Gerenciar janelas de manutenção do cluster do AlloyDB para PostgreSQL.
Antes de começar
O projeto do Google Cloud que você usa precisa estar ativado para acessar o AlloyDB.
Para configurar um cluster de staging, crie ou tenha um cluster de produção do AlloyDB. Para mais informações, consulte Criar um cluster e a instância principal dele.
Você precisa ter um dos seguintes papéis do IAM no Google Cloud projeto que está usando:
roles/alloydb.admin
: o papel predefinido do IAM de Admin do AlloyDBroles/owner
: o papel básico do IAM de proprietárioroles/editor
: o papel básico do IAM de Editor
Se você não tiver nenhum desses papéis, entre em contato com o administrador da organização para solicitar o acesso.
Configurar um cluster de teste
A chave para uma estratégia de preparação bem-sucedida é garantir que o cluster de preparação seja semelhante ao ambiente de produção e que receba atualizações antes da produção. Você configura uma estratégia de teste primeiro quando não define uma janela de manutenção no cluster de teste. O AlloyDB primeiro atualiza os clusters sem janelas de manutenção.
Criar um cluster de teste com o backup de produção
Implante um cluster de teste que espelhe seu ambiente de produção e verifique se ele tem a mesma versão, configuração e dados do AlloyDB que o cluster de produção.
Para garantir que o cluster de teste seja idêntico ao ambiente de produção, use o comando restore
para clonar o banco de dados de produção no cluster de teste e garantir a similaridade de dados e a correspondência de configuração. Também recomendamos separar os ambientes de teste e produção em projetos diferentes.
Você pode usar os dois métodos a seguir para criar um backup de produção:
- Crie um novo cluster de staging fazendo uma restauração completa de um backup de cluster de produção. Esse método não envolve a recuperação de um banco de dados. No entanto, dependendo da programação de backup, os dados podem ter até 24 horas. Para usar esse método, consulte Restaurar um cluster de um backup armazenado.
- Crie um novo cluster de staging executando a recuperação pontual (PITR) para um momento específico de um backup de banco de dados de produção existente, incluindo o momento mais recente. Com essa opção, você recebe os dados mais recentes, e o método é mais fácil. No entanto, dependendo do último horário de backup da PITR, pode levar mais tempo para restaurar ou recuperar os dados até o momento especificado. Para usar esse método, consulte Usar a recuperação pontual (PITR).
Verifique se uma janela de manutenção não está definida no cluster de staging
Não defina uma janela de manutenção para o cluster de teste. Por padrão, os clusters do AlloyDB recém-criados, mesmo aqueles restaurados de um backup, não têm uma janela de manutenção definida. Esse é o estado correto para seu ambiente de teste. O AlloyDB atualiza os clusters que não têm janelas de manutenção programadas antes de atualizar os clusters com janelas de manutenção programadas.
Para verificar se não há uma janela de manutenção definida, faça o seguinte:
Console
Acesse a página Clusters.
Clique em um cluster na coluna Nome do Recurso. A página Visão geral será aberta.
Na página Visão geral, na seção Manutenção, confira os detalhes da janela de manutenção do cluster.
Opcional: na página Insights do sistema, é possível conferir os detalhes do status da operação de manutenção, como a Linha do tempo de eventos.
Para acessar o gerenciamento de Manutenção unificada, digite "Manutenção do Cloud Hub" na barra de pesquisa e selecione Manutenção. Nesta página, você pode conferir um resumo da manutenção, a manutenção controlada pelo Google e detalhes da manutenção planejada.
gcloud
Para usar a gcloud CLI, você pode instalar e inicializar a CLI do Google Cloud ou usar o Cloud Shell.
gcloud alloydb clusters describe STAGING_CLUSTER_ID \ --region=LOCATION_ID \ --project=PROJECT_ID
Procure o campo
maintenanceSchedule
na saída. Se nenhuma janela de manutenção for definida, esse campo vai estar ausente ou vazio. Se, por qualquer motivo, uma janela de manutenção estiver definida, limpe-a.gcloud alloydb clusters update STAGING_CLUSTER_ID \ --region=LOCATION_ID \ --clear-maintenance-window \ --project=PROJECT_ID
Configurar uma janela de manutenção em um cluster de produção
Para o cluster de produção, é importante programar uma janela de manutenção. Assim, você controla quando as atualizações ocorrem e pode alinhá-las aos períodos de baixo tráfego da sua empresa.
Definir uma janela de manutenção no cluster de produção
Programe uma janela de manutenção para o cluster de produção. Escolha um dia e uma hora em que seu sistema de produção tenha a menor carga. O tempo total necessário para um único evento de manutenção pode variar.
O AlloyDB atrasa automaticamente as atualizações no cluster de produção por pelo menos uma semana depois de atualizar o cluster de preparo. Se você encontrar problemas após as atualizações do cluster de teste, poderá negar as atualizações de manutenção de produção por até 30 dias e trabalhar com o Google Cloud suporte para resolver os problemas.
Defina uma janela de manutenção no cluster de produção da seguinte maneira:
Console
Acesse a página Clusters.
Clique em um cluster na coluna Nome do Recurso.
Na página Visão geral, na seção Manutenção, clique em Editar. Uma janela de configuração é aberta.
Na seção Janela de manutenção preferencial, selecione o dia da semana para essa janela. A opção padrão é "Qualquer janela".
Quando você cria um cluster, o AlloyDB atribui essa janela de manutenção padrão a ele.
Se você selecionar um dia para as atualizações de manutenção, escolha a hora do dia para a janela de manutenção.
Clique em Atualizar para salvar as mudanças.
gcloud
Para usar a gcloud CLI, você pode instalar e inicializar a CLI do Google Cloud ou usar o Cloud Shell.
Para recuperar os detalhes da configuração de um cluster do AlloyDB,
execute o seguinte comando usando o
gcloud alloydb clusters update
.
gcloud alloydb clusters update PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--maintenance-window-day=DAY_OF_WEEK \
--maintenance-window-hour=HOUR_OF_DAY \
--project=PROJECT_ID
Faça as seguintes substituições:
PRODUCTION_CLUSTER_ID
: o ID do cluster de produção.LOCATION_ID
: a Google Cloud região.DAY_OF_WEEK
: o dia preferido para a manutenção, comoSUNDAY
.HOUR_OF_DAY
: a hora preferida para manutenção em UTC (0-23).O exemplo a seguir mostra como definir a janela de manutenção para domingos às 2h UTC:
gcloud alloydb clusters update my-prod-cluster \ --region=us-central1 \ --maintenance-window-day=SUNDAY \ --maintenance-window-hour=2 \ --project=my-production-project
Verificar a janela de manutenção no cluster de produção
Para confirmar se a janela de manutenção está definida para o cluster de produção,
execute o comando
gcloud alloydb clusters describe
:
gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID
A saída retorna o campo maintenanceSchedule
com o dia e a hora de manutenção especificados.
Ativar as notificações de manutenção
Recomendamos que você ative o recebimento de notificações sobre eventos de manutenção programada para seu cluster de produção. As notificações ajudam você a planejar quando começar os testes.
Para ativar as notificações de manutenção, siga estas etapas:
Acesse a página Clusters.
Clique em um cluster na coluna Nome do Recurso. A página Visão geral será aberta.
Na página Visão geral, na seção Manutenção, clique em Mostrar detalhes para expandir a seção. Em seguida, clique em Editar na linha Notificações. A página Comunicação será aberta.
Na página Comunicação, selecione a guia Comunicações de produtos.
Na linha do AlloyDB, na coluna E-mail, ative o botão de notificação para Ativado.
Depois de configurar a janela de manutenção para seu cluster de produção, o AlloyDB a atualiza no mínimo sete dias após a atualização do cluster de staging. Ao escolher receber notificações, você recebe um e-mail informando que uma atualização de manutenção está programada para seu cluster de produção.
Atualizações do cluster de preparo
Use o ambiente de preparo para validar a próxima atualização de produção.
Verificar o status antes da atualização
Como o cluster de staging não tem uma janela de manutenção, ele está entre os primeiros a receber a atualização. No entanto, o AlloyDB não envia notificações para clusters que não estão configurados com a janela de manutenção. Mesmo assim, é possível monitorar quando as atualizações de manutenção ocorrem usando o Explorador de registros no console Google Cloud .
No console do Google Cloud , acesse a página Análise de registros:
Acesse o Explorador de registros
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Geração de registros.
Selecione Todos os recursos, escolha seu cluster de staging e clique em Aplicar.
Selecione Todos os lognames, maintenance_events e clique em Aplicar.
No painel Linha do tempo, selecione o período em que seu cluster de preparação vai receber atualizações.
Realizar a verificação funcional pós-atualização
Depois que o AlloyDB atualizar o cluster de staging, faça testes funcionais para confirmar se as atualizações são seguras e adequadas para aplicar ao ambiente de produção.
Realizar a verificação de performance pós-atualização
Verifique o cluster de staging após a conclusão da atualização de manutenção. Avalie os impactos de desempenho no banco de dados após as atualizações do cluster de staging. Faça testes funcionais e de desempenho abrangentes para garantir que os aplicativos se comportem como esperado e atendam aos SLAs de desempenho.
Para garantir a estabilidade e o funcionamento ideal, faça o seguinte:
- Compare os valores de referência antes da atualização com as principais métricas.
- Execute testes de carga para identificar regressões.
- Analisar o desempenho das consultas.
- Monitore a utilização de recursos.
Realizar ações com base nos resultados da verificação
Analise os resultados da verificação e realize as seguintes ações com base neles:
- A verificação é bem-sucedida:se os testes funcionais e de desempenho no cluster de preparo forem bem-sucedidos, isso significa que o ambiente de preparo não tem erros e que você pode deixar a manutenção de produção prosseguir conforme programado na janela programada. Prepare-se para a atualização de produção e informe as partes interessadas relevantes.
- Falha na verificação:se os testes funcionais e de desempenho no cluster de teste falharem e você encontrar erros funcionais, degradações de desempenho ou comportamento inesperado no ambiente de teste após a atualização de manutenção, negue a manutenção de produção.
Negar um evento de manutenção programado
Para negar um evento de manutenção programada no cluster de produção, defina a data de início, a data de término e a hora em que o intervalo começa e termina.
As datas de início e término precisam estar no seguinte formato: YYYY-MM-DD
. A data de início, a data de término e a hora estão no fuso horário UTC.
Para usar a gcloud CLI, você pode instalar e inicializar a CLI do Google Cloud ou usar o Cloud Shell.
Para adicionar um período de manutenção negada a um cluster do AlloyDB, siga estas etapas:
Execute o comando
gcloud alloydb clusters update
com as flagsdeny-maintenance-period-start-date
,deny-maintenance-period-end-date
edeny-maintenance-period-time
:gcloud alloydb clusters update CLUSTER_ID \ --region LOCATION_ID \ --deny-maintenance-period-start-date START_DATE \ --deny-maintenance-period-end-date END_DATE \ --deny-maintenance-period-time TIME
Substitua:
CLUSTER_ID
: o cluster a ser configurado para o período sem manutenção.LOCATION_ID
: a região Google Cloud em que o cluster está localizado, por exemplo,us-central1
.START_DATE
: a data de início do período sem manutenção no formatoYYYY-MM-DD
UTC.END_DATE
: o fim do período sem manutenção no formatoYYYY-MM-DD
UTC.TIME
: o horário do período sem manutenção no formatoHH:MM
UTC. As horas são representadas no formato de 24 horas, em que os valores variam de00:00
a23:59
. Por exemplo,16:45
.
Documente todos os problemas, incluindo mensagens de erro, métricas de performance e etapas para reproduzir os problemas.
Abra um caso de suporte de alta prioridade com o Google Cloud e forneça todos os problemas documentados.O Google Cloud trabalha com você para analisar e resolver os problemas.
Atualizações do cluster Production
Se a verificação de pré-produção for bem-sucedida e você permitir que a manutenção de produção continue, as atualizações vão ocorrer durante a janela de manutenção programada.
Verificar a janela de manutenção
Para monitorar os próximos eventos de manutenção no cluster de produção, siga estas etapas:
Console
Acesse a página Clusters.
Clique em um cluster na coluna Nome do Recurso. A página Visão geral será aberta.
Na página Visão geral, na seção Manutenção, confira os detalhes da janela de manutenção do cluster.
Opcional: na página Insights do sistema, é possível conferir os detalhes do status da operação de manutenção, como a Linha do tempo de eventos.
Para acessar o gerenciamento de Manutenção unificada, digite "Manutenção do Cloud Hub" na barra de pesquisa e selecione Manutenção. Nesta página, você pode conferir um resumo da manutenção, a manutenção controlada pelo Google e detalhes da manutenção planejada.
gcloud
Para usar a gcloud CLI, você pode instalar e inicializar a CLI do Google Cloud ou usar o Cloud Shell.
Execute o seguinte usando
gcloud alloydb clusters describe
:
gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID
Se um evento de manutenção estiver planejado, a saída vai incluir maintenanceSchedule
e um startTime
. Se você escolheu receber notificações, também vai receber notificações por e-mail.
Monitorar a produção durante uma janela de manutenção
Embora o Google Cloud automatize o processo de manutenção, recomendamos que você monitore seu ambiente de produção durante a janela de manutenção programada para o seguinte:
- Integridade do aplicativo:monitore os registros e as verificações de integridade do aplicativo para detectar sinais de interrupção.
- Conectividade do banco de dados:confirme se os aplicativos podem se reconectar ao banco de dados após a interrupção.
- Métricas do AlloyDB:use o Google Cloud Monitoring para observar as métricas do AlloyDB (CPU, memória, conexões e atraso de replicação) e garantir que elas retornem aos níveis esperados após a atualização.
Verificação de atualização pós-manutenção
Depois que a atualização de manutenção for concluída, verifique se o ambiente de produção tem funcionalidade e indicadores de desempenho críticos.
- Funcionalidade principal do aplicativo:execute um teste rápido dos recursos mais importantes do aplicativo.
- Verificações básicas de performance:analise os painéis em busca de picos de latência ou consumo de recursos.