Acerca da encriptação em trânsito

Esta página apresenta uma vista geral da encriptação em trânsito para o Memorystore for Redis.

Para obter instruções sobre como encriptar uma ligação com a encriptação em trânsito, consulte o artigo Ativar a encriptação em trânsito.

O Memorystore for Redis só suporta as versões 1.2 ou superiores do protocolo TLS.

Introdução

O Memorystore for Redis suporta a encriptação de todo o tráfego do Redis através do protocolo Transport Layer Security (TLS). Quando a encriptação em trânsito está ativada, os clientes Redis comunicam exclusivamente através de uma ligação de porta segura. Os clientes Redis que não estejam configurados para TLS vão ser bloqueados. Se optar por ativar a encriptação em trânsito, é responsável por garantir que o seu cliente Redis é capaz de usar o protocolo TLS.

Pré-requisitos da encriptação em trânsito

Para usar a encriptação em trânsito com o Memorystore for Redis, precisa do seguinte:

  1. Um cliente Redis que suporte TLS ou um sidecar TLS de terceiros
  2. Uma autoridade de certificação instalada na máquina cliente que acede à sua instância do Redis

O TLS nativo não era suportado antes da versão 6.0 do Redis de código aberto. Como resultado, nem todas as bibliotecas cliente do Redis suportam TLS. Se estiver a usar um cliente que não suporta TLS, recomendamos que use o plug-in de terceiros Stunnel que ativa o TLS para o seu cliente. Consulte o artigo Estabeleça ligação a uma instância do Redis de forma segura através do Stunnel e do telnet para ver um exemplo de como estabelecer ligação a uma instância do Redis com o Stunnel.

Autoridade de certificação

Uma instância do Redis que usa a encriptação em trânsito tem uma ou mais autoridades de certificação (CA) exclusivas que são usadas para validar a identidade do servidor. Uma AC é uma string que tem de transferir e instalar no cliente que acede à sua instância do Redis. Uma CA é válida durante dez anos a partir da data de criação. Para garantir a continuidade do serviço, a nova CA tem de ser instalada nos clientes da instância do Redis antes da expiração da CA anterior.

Rotação da autoridade de certificação

Uma CA é válida durante 10 anos após a criação da instância. Além disso, uma nova CA fica disponível cinco anos após a criação da instância.

A AC antiga é válida até à respetiva data de validade. Isto dá-lhe um período de cinco anos para transferir e instalar a nova AC nos clientes que se ligam à instância de Redis. Depois de a AC antiga expirar, pode desinstalá-la dos clientes.

Para ver instruções sobre como rodar a AC, consulte o artigo Gerir a rotação da Autoridade de certificação.

Rotação de certificados do servidor

A rotação de certificados do lado do servidor ocorre a cada 180 dias, o que provoca uma queda de ligação temporária de alguns segundos. Deve ter uma lógica de repetição com retirada exponencial implementada para restabelecer a ligação. A rotação de certificados não provoca uma comutação por falha para instâncias do nível padrão.

Limites de ligação para a encriptação em trânsito

A ativação da encriptação em trânsito na sua instância do Redis introduz limites no número máximo de ligações de clientes que a instância pode ter. O limite depende do tamanho da sua instância. Deve ponderar aumentar o tamanho da sua instância do Redis se precisar de mais ligações do que as suportadas pelo seu nível de capacidade atual.

Nível de capacidade Número máximo de ligações para as versões 4.0, 5.0 e 6.x do Redis1 Número máximo de ligações para a versão 7.0 e posterior do Redis1
M1 (1-4GB) 1000 65 000
M2 (5-10GB) 2500 65 000
M3 (11-35GB) 15 000 65 000
M4 (36-100GB) 30 000 65 000
M5 (101+GB) 65 000 65 000

1 Estes limites de ligação são aproximados e dependem da taxa e da complexidade dos comandos Redis enviados por ligação.

Monitorizar ligações

Uma vez que as instâncias do Redis com encriptação em trânsito têm limites de ligação específicos, deve monitorizar a métrica redis.googleapis.com/clients/connected para se certificar de que não excede o limite de ligação. Se o limite for ultrapassado, a instância do Redis rejeita as ligações tentadas recentemente. Nesta circunstância, recomendamos que aumente a escala da sua instância para o tamanho que acomoda o número necessário de ligações. Se suspeitar que as ligações inativas representam um número significativo das suas ligações, pode terminar proativamente estas ligações com o parâmetro de configuração timeout.

Impacto no desempenho da ativação da encriptação em trânsito

A funcionalidade de encriptação em trânsito encripta e desencripta os dados, o que implica custos de processamento adicionais. Como resultado, a ativação da encriptação em trânsito pode reduzir o desempenho. Além disso, quando usa a encriptação em trânsito, cada ligação adicional tem um custo de recurso associado. Para determinar a latência associada à utilização da encriptação em trânsito, compare o desempenho da aplicação comparando o desempenho da aplicação com uma instância do Redis que tenha a encriptação em trânsito ativada e uma instância do Redis que a tenha desativada.

Diretrizes para melhorar o desempenho

  • Diminua o número de ligações de clientes sempre que possível. Estabeleça e reutilize ligações de longa duração em vez de criar ligações de curta duração a pedido.
  • Aumente o tamanho da instância do Memorystore (recomenda-se M4 ou superior).
  • Aumente os recursos da CPU da máquina anfitriã do cliente do Memorystore. As máquinas cliente com um número mais elevado de CPUs geram um melhor desempenho. Se usar uma VM do Compute Engine, recomendamos instâncias otimizadas para computação.
  • Diminua o tamanho da carga útil associado ao tráfego da aplicação, uma vez que as cargas úteis maiores requerem mais viagens de ida e volta.

Impacto da encriptação em trânsito na utilização de memória

A ativação da encriptação em trânsito reserva parte da memória da instância do Redis para a funcionalidade. Se tudo o resto for igual, com a encriptação em trânsito ativada, o valor da métrica de rácio de utilização da memória do sistema é mais elevado devido à memória de sobrecarga adicional usada pela funcionalidade.

Melhorias no desempenho do Redis versão 7.0

A utilização da versão 7.0 do Redis no Memorystore for Redis melhora o desempenho da encriptação em trânsito. Para tirar partido destas melhorias de desempenho, considere atualizar a sua instância para usar a versão 7.0 do Redis. Ao usar esta versão, o Memorystore for Redis não elimina as ligações que usa para rodar certificados de servidor ou realizar operações de atualização.

O que se segue?