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 da 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 Trusted 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 alertas 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 Trusted Cloud consola. Para mais informações, consulte Métricas. Também pode monitorizar a utilização da CPU e receber alertas a um 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 ambas as métricas e interprete-as em conjunto. Se as métricas forem 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 a monitorização de ambas as métricas na Trusted 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 nas 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 partir de 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 políticas de palavras-passe de instâncias do MySQL ou PostgreSQL , especificar políticas de palavras-passe adequadas para a instância da base de dados para evitar a configuração de palavras-passe fracas, definir o tempo de validade e configurar 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 um 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 Trusted 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 no 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 Trusted 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: