Práticas recomendadas

Esta página fornece práticas recomendadas para obter o melhor desempenho, durabilidade e disponibilidade do Cloud SQL.

Se ocorrerem problemas com a sua instância do Cloud SQL, reveja o seguinte durante a resolução de problemas:

Configuração e administração de instâncias

Prática recomendada Mais informações
Leia e siga as diretrizes operacionais para garantir que as suas instâncias estão abrangidas pelo ANS do Cloud SQL.
Configure um período de manutenção para a sua instância principal para controlar quando podem ocorrer atualizações disruptivas. Consulte o artigo Período de manutenção.
Se eliminar e recriar instâncias regularmente, use uma data/hora no ID de instância para aumentar a probabilidade de os novos IDs de instância serem utilizáveis.
Não inicie uma operação administrativa antes de a operação anterior estar concluída.

As instâncias do Cloud SQL não aceitam novos pedidos de operação até concluírem a operação anterior. Se tentar iniciar uma nova operação prematuramente, o pedido de operação falha. Isto inclui reinícios de instâncias.

O estado da instância na Google Cloud consola não reflete se uma operação está em execução. A marca de verificação verde indica apenas que a instância está no estado RUNNABLE. Para ver se uma operação está em execução, aceda ao separador Operações e verifique o estado da operação mais recente.

Configure o armazenamento para acomodar a manutenção crítica da base de dados.

Se a definição da instância ativar aumentos automáticos de armazenamento estiver desativada ou o limite de aumento automático de armazenamento estiver ativado, certifique-se de que tem, pelo menos, 20% de espaço disponível para acomodar quaisquer operações de manutenção críticas da base de dados que o Cloud SQL possa realizar.

Para receber um alerta quando o espaço em disco disponível for inferior a 20%, crie uma política de alertas baseada em métricas para a métrica de utilização do disco com uma posição acima do limite e um valor de 0,8. Para mais informações, consulte o artigo Crie políticas de alerta baseadas em métricas.

Evite a utilização excessiva da CPU.

Pode ver a percentagem de CPU disponível que a sua instância está a usar na página de detalhes da instância na Google Cloud consola. Para mais informações, consulte Métricas. Também pode monitorizar a utilização da CPU e receber alertas num limite especificado através da criação de políticas de alerta de limite de métricas.

Para evitar a utilização excessiva, pode aumentar o número de CPUs da sua instância. A alteração dos CPUs requer o reinício de uma instância. Se a sua instância já tiver o número máximo de CPUs, tem de dividir a base de dados em várias instâncias.

Evite o esgotamento da memória.

Quando procurar sinais de esgotamento da memória, deve usar principalmente a métrica de utilização.

Também pode usar a métrica total_usage para observar a percentagem de memória disponível que a sua instância do Cloud SQL está a usar, incluindo a memória usada pelo contentor da base de dados e a memória alocada pela cache do sistema operativo.

Ao observar a diferença entre as duas métricas, pode identificar a quantidade de memória usada pelos processos em comparação com a quantidade usada pela cache do sistema operativo. Pode reutilizar a memória nesta cache.

Para prever problemas de falta de memória, verifique as métricas e interprete-as em conjunto. Se as métricas parecerem elevadas, a instância pode ter pouca memória. Isto pode dever-se a uma configuração personalizada, ao facto de a instância ser demasiado pequena para a carga de trabalho ou a uma combinação destes fatores.

Dimensione a sua instância do Cloud SQL para aumentar o tamanho da respetiva memória. A alteração do tamanho da memória da instância requer o reinício da instância. Se a sua instância já tiver o tamanho máximo de memória, tem de fragmentar a base de dados em várias instâncias. Para saber mais sobre como monitorizar ambas as métricas na Google Cloud consola, consulte o artigo Métricas.

Segurança

Prática recomendada Mais informações
Preferir IP privado A menos que seja necessário o acesso ao IP público, é preferível usar o IP privado. Isto ajuda a minimizar as ligações de rede não autorizadas à sua base de dados.
Evite 0.0.0.0/0 em redes autorizadas Evite incluir 0.0.0.0/0 em Redes autorizadas , uma vez que isto permite o acesso a partir da Internet global sem restrições.
Evite redes autorizadas excessivamente grandes Evite usar prefixos CIDR pequenos em Redes autorizadas , uma vez que isto permite o acesso a um número potencialmente excessivo de anfitriões. Recomendamos um prefixo CIDR não inferior a /16 e, de preferência, superior a /19.
Ative as políticas de palavras-passe Usar MySQL ou PostgreSQL Políticas de palavras-passe de instâncias, especifique políticas de palavras-passe adequadas para a sua instância de base de dados para evitar a configuração de palavras-passe fracas, defina o tempo de validade e configure o bloqueio de contas em tentativas de início de sessão falhadas. Isto é especialmente importante se estiver a configurar a sua instância para o IP público.

Arquitetura de dados

Prática recomendada Mais informações
Divida as instâncias grandes em instâncias mais pequenas, sempre que possível. Quando possível, usar muitas instâncias do Cloud SQL mais pequenas é melhor do que uma instância grande. A gestão de uma instância grande e monolítica apresenta desafios que não são colocados por um grupo de instâncias mais pequenas.

Implementação de aplicações

Prática recomendada Mais informações
Use boas práticas de gestão de ligações, como a pool de ligações e a retirada exponencial. A utilização destas técnicas melhora a utilização de recursos da sua aplicação e ajuda a manter-se dentro dos limites de ligação do Cloud SQL. Para mais informações e exemplos de código, consulte o artigo Gerir ligações à base de dados.
Teste a resposta da sua aplicação a atualizações de manutenção, que podem ocorrer em qualquer altura durante o período de manutenção. Experimente a manutenção self-service para simular uma atualização de manutenção. Durante a manutenção, a sua instância fica indisponível durante um breve período, e as ligações existentes são interrompidas. Os implementos de manutenção de testes dão-lhe uma melhor compreensão de como a sua aplicação processa a manutenção agendada e a rapidez com que o sistema consegue recuperar.
Teste a resposta da sua aplicação a comutações por falha, que podem ocorrer em qualquer altura. Pode iniciar manualmente uma comutação por falha através da Google Cloud consola, da CLI gcloud ou da API. Consulte a secção Iniciar comutação por falha.
Evite transações grandes. Mantenha as transações pequenas e curtas. Se for necessária uma atualização de base de dados grande, faça-a em várias transações mais pequenas em vez de numa transação grande.
Se estiver a usar o proxy Auth do Cloud SQL, certifique-se de que está a usar a versão mais atualizada. Consulte o artigo Manter o proxy Auth do Cloud SQL atualizado.

Importação e exportação de dados

Prática recomendada Mais informações
Acelere as importações para tamanhos de instâncias pequenos. Para instâncias pequenas, pode aumentar temporariamente a CPU e a RAM de uma instância para melhorar o desempenho quando importa grandes conjuntos de dados.
Se estiver a exportar dados para importação para o Cloud SQL, certifique-se de que usa o procedimento adequado. Consulte o artigo Exportar dados de um servidor de base de dados gerido externamente.

Cópia de segurança e recuperação

Prática recomendada Mais informações
Proteja os seus dados com a funcionalidade adequada do Cloud SQL.

As cópias de segurança e as exportações são formas de fornecer redundância e proteção de dados. Cada uma protege contra cenários diferentes e complementa-se numa estratégia de proteção de dados robusta.

As cópias de segurança são simples e oferecem uma forma de restaurar os dados na sua instância para o estado em que se encontravam no momento em que fez a cópia de segurança. No entanto, as cópias de segurança têm algumas limitações. Se eliminar a instância, as cópias de segurança também são eliminadas. Não pode fazer uma cópia de segurança de uma única base de dados ou tabela. Além disso, se a região onde a instância está localizada estiver indisponível, não pode restaurar a instância a partir dessa cópia de segurança, mesmo numa região disponível.

As exportações demoram mais tempo a criar, porque é criado um ficheiro externo no Cloud Storage que pode ser usado para recriar os seus dados. As exportações não são afetadas se eliminar a instância. Além disso, pode exportar apenas uma única base de dados ou até uma tabela, consoante o formato de exportação que escolher.

Proteja a sua instância e cópias de segurança contra eliminação acidental.

Uma instância do Cloud SQL que criar na Google Cloud consola ou através do Terraform ativa a prevenção de eliminação acidental por predefinição.

Use a funcionalidade de exportação no Cloud SQL para exportar os seus dados para proteção adicional. Use o Cloud Scheduler com a API REST para automatizar a gestão de exportações. Para cenários mais avançados, use o Cloud Scheduler com funções do Cloud Run para automatização.

O que se segue?

Para mais informações sobre as práticas gerais do motor de base de dados, consulte: