Para minimizar o risco para as cargas de trabalho de produção do AlloyDB for PostgreSQL, pode usar um cluster de preparação para testar novas funcionalidades, desempenho e funcionalidade antes de aplicar atualizações aos seus sistemas de produção. Um cluster de preparação é uma cópia do seu cluster de produção que adiciona uma camada de controlo ao processo de atualização de manutenção. A utilização de um cluster de preparação para testar atualizações de manutenção permite-lhe identificar e resolver potenciais problemas num ambiente de não produção. Esta abordagem reduz o risco de tempo de inatividade e degradação do desempenho nos seus sistemas de produção.
As atualizações de manutenção do AlloyDB são periódicas, muitas vezes mensais. As atualizações incluem novas funcionalidades, correções de erros, atualizações de compatibilidade da base de dados e correções relacionadas com a segurança. Embora os lançamentos do AlloyDB sejam compatíveis com versões futuras, recomendamos que teste os novos lançamentos num ambiente de preparação para garantir a estabilidade e a previsibilidade da base de dados para as aplicações críticas no cluster de produção.
Para usar um cluster de preparação, siga estes passos gerais:
- Configure um cluster de preparação.
- Configure uma janela de manutenção num cluster de produção.
- Faça a gestão das atualizações do cluster de preparação.
- Faça a gestão das atualizações do cluster de produção.
Esta abordagem de validação de preparação para a manutenção do AlloyDB garante que o seu ambiente de produção permanece estável, com bom desempenho e seguro, ao mesmo tempo que beneficia das funcionalidades e dos patches mais recentes do AlloyDB.
O diagrama seguinte mostra a relação entre o cluster de preparação e o cluster de produção, bem como o fluxo operacional do processo de atualização:
Para saber como funcionam as atualizações de manutenção com os clusters do AlloyDB, consulte a vista geral da manutenção. Para saber mais sobre a gestão dos períodos de manutenção, consulte o artigo Faça a gestão dos períodos de manutenção do cluster do AlloyDB para PostgreSQL.
Antes de começar
O Google Cloud projeto que usa tem de estar ativado para aceder ao AlloyDB.
Para configurar um cluster de preparação, tem de criar ou já ter um cluster de produção do AlloyDB existente. Para mais informações, consulte o artigo Crie um cluster e a respetiva instância principal.
Tem de ter uma das seguintes funções do IAM no Google Cloud projeto que está a usar:
roles/alloydb.admin
: a função de IAM predefinida de administrador do AlloyDBroles/owner
: a função de IAM básica de proprietárioroles/editor
: a função de IAM básica de editor
Se não tiver nenhuma destas funções, contacte o administrador da organização para pedir acesso.
Configure um cluster de preparação
A chave para uma estratégia de preparação primeiro bem-sucedida é garantir que o cluster de preparação é semelhante ao ambiente de produção e que recebe atualizações antes da produção. Configura uma estratégia de preparação primeiro quando não define um período de manutenção no cluster de preparação. O AlloyDB atualiza primeiro os clusters sem janelas de manutenção.
Crie um cluster de preparação a partir da cópia de segurança de produção
Implemente um cluster de preparação que reflita o seu ambiente de produção e certifique-se de que o cluster de preparação tem a mesma versão, configuração e dados do AlloyDB que o cluster de produção.
Para garantir que o cluster de preparação é idêntico ao ambiente de produção, use o comando restore
para clonar a base de dados de produção para o cluster de preparação e certificar-se de que existe semelhança de dados e correspondência de configuração. Também
recomendamos que separe os ambientes de teste e produção em projetos
diferentes.
Pode usar os dois métodos seguintes para criar uma cópia de segurança de produção:
- Crie um novo cluster de preparação fazendo um restauro completo de uma cópia de segurança de um cluster de produção existente. Este método não envolve a recuperação de uma base de dados. No entanto, consoante a programação da cópia de segurança, os dados podem ter até 24 horas. Para usar este método, consulte o artigo Restaurar um cluster a partir de uma cópia de segurança armazenada.
- Crie um novo cluster de preparação executando a recuperação num ponto específico no tempo (PITR) para um momento específico de uma cópia de segurança da base de dados de produção existente, incluindo para o momento mais recente. Com esta opção, recebe os dados mais recentes e o método é mais fácil. No entanto, consoante a hora da última cópia de segurança da PITR, pode demorar mais tempo a restaurar ou recuperar os dados até à hora especificada. Para usar este método, consulte Use a recuperação pontual (PITR).
Verifique se não está definida uma janela de manutenção no cluster de preparação
Não defina um período de manutenção para o cluster de teste. Por predefinição, os clusters do AlloyDB criados recentemente, mesmo os que restaurar a partir de uma cópia de segurança, não têm um período de manutenção definido. Este é o estado correto para o seu ambiente de preprodução. O AlloyDB atualiza os clusters que não têm períodos de manutenção agendados antes de atualizar os clusters com períodos de manutenção agendados.
Pode verificar se não existe um período de manutenção definido da seguinte forma:
Consola
Aceda à página Clusters.
Clique num cluster na coluna Nome do recurso. É apresentada a página Vista geral.
Na página Vista geral, na secção Manutenção, veja os detalhes da janela de manutenção do seu cluster.
Opcional: na página Estatísticas dos sistemas, pode ver os detalhes do estado da operação de manutenção, como a Linha cronológica de eventos.
Para ver a gestão da Unified Maintenance, introduza "Manutenção do Cloud Hub" na barra de pesquisa e selecione Manutenção. Nesta página, pode ver um resumo da manutenção, a manutenção controlada pela Google e os detalhes da manutenção planeada.
gcloud
Para usar a CLI gcloud, pode instalar e inicializar a CLI Google Cloud ou usar a Cloud Shell.
gcloud alloydb clusters describe STAGING_CLUSTER_ID \ --region=LOCATION_ID \ --project=PROJECT_ID
Procure o campo
maintenanceSchedule
no resultado. Se não estiver definida nenhuma janela de manutenção, este campo está ausente ou vazio. Se, por qualquer motivo, estiver definido um período de manutenção, limpe-o.gcloud alloydb clusters update STAGING_CLUSTER_ID \ --region=LOCATION_ID \ --clear-maintenance-window \ --project=PROJECT_ID
Configure um período de manutenção num cluster de produção
Para o cluster de produção, é importante agendar um período de manutenção. Isto dá-lhe controlo sobre quando ocorrem as atualizações e permite-lhe alinhá-las com os períodos de baixo tráfego da sua empresa.
Defina um período de manutenção no cluster de produção
Agende um período de manutenção para o cluster de produção. Escolha um dia e uma hora em que o seu sistema de produção tenha a carga mais baixa. O tempo total necessário para um único evento de manutenção pode variar.
O AlloyDB atrasa automaticamente as atualizações do cluster de produção durante, pelo menos, uma semana depois de atualizar o cluster de preparação. Se encontrar problemas após as atualizações do cluster de preparação, pode recusar as atualizações de manutenção de produção durante um máximo de 30 dias e trabalhar com o Google Cloud apoio técnico para resolver os problemas.
Defina um período de manutenção no cluster de produção da seguinte forma:
Consola
Aceda à página Clusters.
Clique num cluster na coluna Nome do recurso.
Na página Vista geral, na secção Manutenção, clique em Editar. É aberta uma janela de configuração.
Na secção Período de manutenção preferencial, selecione o dia da semana para este período de manutenção. A opção predefinida é "Qualquer janela".
Quando cria um cluster, o AlloyDB atribui-lhe este período de manutenção predefinido.
Se selecionar um dia para as atualizações de manutenção, selecione a hora do dia para o período de manutenção.
Clique em Atualizar para guardar as alterações.
gcloud
Para usar a CLI gcloud, pode instalar e inicializar a CLI Google Cloud ou usar a Cloud Shell.
Para obter os detalhes de configuração de um cluster do AlloyDB,
execute o seguinte comando usando o comando
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 preferencial para a manutenção, comoSUNDAY
.HOUR_OF_DAY
: a hora preferida para manutenção em UTC (0-23).O exemplo seguinte mostra como definir o período de manutenção para domingos às 02:00 UTC:
gcloud alloydb clusters update my-prod-cluster \ --region=us-central1 \ --maintenance-window-day=SUNDAY \ --maintenance-window-hour=2 \ --project=my-production-project
Valide o período de manutenção no cluster de produção
Para confirmar que o período de manutenção está definido 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 devolve o campo maintenanceSchedule
com o dia e a hora de manutenção especificados.
Aceite as notificações de manutenção
Recomendamos que ative a receção de notificações sobre eventos de manutenção agendados para o seu cluster de produção. As notificações ajudam a planear quando iniciar os testes.
Para ativar as notificações de manutenção, siga estes passos:
Aceda à página Clusters.
Clique num cluster na coluna Nome do recurso. É apresentada a página Vista geral.
Na página Vista geral, na secção Manutenção, clique em Mostrar detalhes para expandir a secção. Em seguida, clique em Editar na linha Notificações. É apresentada a página Comunicação.
Na página Comunicação, selecione o separador Comunicações de produtos.
Na linha do AlloyDB, na coluna Email, ative/desative o botão de notificação para Ativado.
Depois de configurar o período de manutenção para o cluster de produção, o AlloyDB atualiza-o, no mínimo, sete dias após a atualização do cluster de preparação. Quando opta por receber notificações, recebe uma notificação por email a informar que está agendada uma atualização de manutenção para o seu cluster de produção.
Atualizações de clusters de preparação
Use o ambiente de teste para validar a próxima atualização de produção.
Verifique o estado antes da atualização
Uma vez que o seu cluster de preparação não tem um período de manutenção, está entre os primeiros clusters a receber a atualização. No entanto, o AlloyDB não envia notificações para clusters que não estão configurados com o período de manutenção. Mesmo assim, pode monitorizar quando ocorrem atualizações de manutenção através do Explorador de registos na Google Cloud consola.
Na Google Cloud consola, aceda à página Explorador de registos:
Aceda ao Explorador de registos
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado com o subtítulo Registo.
Selecione Todos os recursos, escolha o cluster de preparação e clique em Aplicar.
Selecione Todos os nomes de registo, selecione maintenance_events e clique em Aplicar.
No painel Linha cronológica, selecione o intervalo de tempo em que o cluster de preparação recebe atualizações.
Realize a validação funcional após a atualização
Depois de o AlloyDB atualizar o cluster de preparação, faça testes funcionais para confirmar que as atualizações são seguras e adequadas para aplicação ao seu ambiente de produção.
Realize a validação do desempenho após a atualização
Valide o cluster de preparação após a conclusão da atualização de manutenção. Avalie os impactos no desempenho da sua base de dados após as atualizações do cluster de preparação. Realize testes funcionais e de desempenho abrangentes para se certificar de que as suas aplicações se comportam como esperado e que cumprem os SLAs de desempenho.
Para garantir a estabilidade e o funcionamento ideal, faça o seguinte:
- Compare as bases de referência pré-atualização com as principais métricas.
- Executar testes de carga para identificar regressões.
- Analise o desempenho das consultas.
- Monitorize a utilização de recursos.
Tome medidas com base nos resultados da validação
Reveja os resultados da validação e tome as seguintes medidas com base nos resultados:
- A validação é bem-sucedida: se os testes funcionais e de desempenho no cluster de preparação forem bem-sucedidos, significa que o ambiente de preparação está isento de erros e que pode permitir que a manutenção de produção prossiga conforme agendado na respetiva janela agendada. Prepare-se para a atualização de produção e informe os intervenientes relevantes.
- A validação falha: se os testes funcionais e de desempenho no cluster de preprodução falharem e encontrar erros funcionais, degradações de desempenho ou um comportamento inesperado no ambiente de preprodução após a atualização de manutenção, tem de recusar a manutenção de produção.
Recuse um evento de manutenção agendado
Para recusar um evento de manutenção agendado para o cluster de produção, tem de definir a data de início, a data de fim e a hora do dia em que o intervalo começa e termina.
As datas de início e de fim têm de estar no seguinte formato: YYYY-MM-DD
. A data de início, a data de fim e a hora estão todas no fuso horário UTC.
Para usar a CLI gcloud, pode instalar e inicializar a CLI Google Cloud ou usar a Cloud Shell.
Para adicionar um período de manutenção recusado a um cluster do AlloyDB, conclua os seguintes passos:
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 o seguinte:
CLUSTER_ID
: o cluster a configurar para o período sem manutenção.LOCATION_ID
: a Google Cloud região onde este 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
: a hora 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 entre00:00
e23:59
. Por exemplo,16:45
.
Documente todos os problemas, incluindo mensagens de erro, métricas de desempenho e passos para reproduzir os problemas.
Abra um registo de apoio técnico de alta prioridade com Google Cloud e faculte todos os problemas documentados. Google Cloud trabalha consigo para analisar e resolver os problemas.
Atualizações do cluster de produção
Se a validação de preparação for bem-sucedida e permitir que a manutenção de produção avance, as atualizações ocorrem durante o período de manutenção agendado.
Valide o período de manutenção
Para monitorizar eventos de manutenção futuros no seu cluster de produção, siga estes passos:
Consola
Aceda à página Clusters.
Clique num cluster na coluna Nome do recurso. É apresentada a página Vista geral.
Na página Vista geral, na secção Manutenção, veja os detalhes da janela de manutenção do seu cluster.
Opcional: na página Estatísticas dos sistemas, pode ver os detalhes do estado da operação de manutenção, como a Linha cronológica de eventos.
Para ver a gestão da Unified Maintenance, introduza "Manutenção do Cloud Hub" na barra de pesquisa e selecione Manutenção. Nesta página, pode ver um resumo da manutenção, a manutenção controlada pela Google e os detalhes da manutenção planeada.
gcloud
Para usar a CLI gcloud, pode instalar e inicializar a CLI Google Cloud ou usar a Cloud Shell.
Execute o seguinte comando com o comando
gcloud alloydb clusters describe
:
gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID
Se estiver planeado um evento de manutenção, o resultado inclui maintenanceSchedule
e um startTime
. Se optou por receber notificações, também recebe
notificações por email.
Monitorize a produção durante um período de manutenção
Embora Google Cloud automatize o processo de manutenção, recomendamos que monitorize o seu ambiente de produção para o seguinte durante o período de manutenção agendado:
- Estado de funcionamento da aplicação: monitorize os registos da aplicação e as verificações de funcionamento para detetar sinais de interrupção.
- Conetividade da base de dados: confirme se as suas aplicações conseguem voltar a ligar-se à base 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, ligações e atraso de replicação) e certificar-se de que regressam aos níveis esperados após a atualização.
Validação da atualização pós-manutenção
Após a conclusão da atualização de manutenção, valide o seu ambiente de produção para verificar a funcionalidade e os indicadores de desempenho críticos.
- Funcionalidade essencial da aplicação: execute um teste rápido das funcionalidades mais críticas da aplicação.
- Verificações básicas de desempenho: reveja os painéis de controlo para detetar picos na latência ou no consumo de recursos.