Descripción general de la encriptación TLS

En esta página, se proporciona una descripción general de la seguridad de la capa de transporte (TLS) para Memorystore para Redis.

Para obtener instrucciones sobre cómo crear una instancia de Redis con TLS, consulta Crea una instancia de Redis con TLS.

Introducción

Memorystore para Redis admite la encriptación de tráfico de cliente a servidor mediante la seguridad de la capa de transporte (TLS). La habilitación de TLS protege los datos en tránsito de tu instancia de Redis entre el cliente y la instancia de Memorystore mediante el protocolo TLS. Cuando esta encriptación opcional está habilitada, los clientes de Redis se comunican exclusivamente a través de una conexión de puerto segura que se encripta mediante TLS. Se bloquearán los clientes de Redis que no estén configurados para TLS. Si eliges habilitar TLS, eres responsable de garantizar que tu cliente de Redis sea capaz de usar el protocolo TLS.

Requisitos previos de TLS

Si quieres usar TLS con Memorystore para Redis, necesitas lo siguiente:

  1. Un cliente de Redis que admita TLS o un archivo adicional de TLS de terceros
  2. Una autoridad certificada instalada en la máquina cliente que accede a tu instancia de Redis

La TLS nativa no era compatible antes de la versión 6.0 de código abierto de Redis. Como resultado, no todas las bibliotecas cliente de Redis admiten TLS. Si usas un cliente que no admite TLS, te recomendamos usar el complemento de terceros Stunnel que habilita TLS para tu cliente. Consulta Conéctate a una instancia de Redis de forma segura mediante Stunnel y Telnet para ver un ejemplo de cómo conectarte a una instancia de Redis con Stunnel.

Autoridad certificada

Las instancias de Redis que usan TLS tienen una o más autoridades certificadas (CA) únicas que se usan para verificar la identidad del servidor. Una CA es una string que debes descargar y, luego, instalar en el cliente que accede a tu instancia de Redis. Una CA es válida durante diez años a partir de su fecha de creación. Para garantizar la continuidad del servicio, se debe instalar la CA nueva en los clientes de la instancia de Redis antes de que venza la CA anterior.

Rotación de la autoridad certificada

Una CA es válida durante 10 años luego de la creación de la instancia. Además, una CA nueva está disponible cinco años después de la creación de la instancia.

La antigua CA es válida hasta su fecha de vencimiento. Esto te brinda un período de cinco años en el que puedes descargar y, luego, instalar la CA nueva en los clientes que se conectan a la instancia de Redis. Una vez que venza la CA anterior, puedes desinstalarla de los clientes.

Para obtener instrucciones sobre cómo rotar la CA, consulta Administra la rotación de las autoridades certificadas.

Rotación del certificado del servidor

La rotación del certificado del servidor se produce cada 90 días y provoca una desconexión transitoria de unos segundos. Para restablecer la conexión, debes tener una lógica de reintento con retirada exponencial. La rotación de certificados no genera una conmutación por error para las instancias de nivel Estándar.

Límites de conexión para TLS

La habilitación de TLS en tu instancia de Redis presenta límites para la cantidad máxima de conexiones de cliente que puede tener la instancia. El límite depende del tamaño de la instancia. Considera aumentar el tamaño de tu instancia de Redis si necesitas más conexiones de las que admite tu nivel de capacidad actual.

Nivel de capacidad Máximo de conexiones
M1 (1-4 GB) 1,000
M2 (5-10 GB) 2,500
M3 (11-35 GB) 15,000
M4 (36-100 GB) 30,000
M5 (más de 101 GB) 65,000

Supervisa conexiones

Debido a que las instancias de Redis con TLS habilitada tienen límites de conexión específicos, debes supervisar la métrica redis.googleapis.com/clients/connected para asegurarte de no exceder el límite de conexión. Si se excede el límite, la instancia de Redis rechaza las conexiones nuevas. En esta circunstancia, es posible escalar verticalmente la instancia al tamaño que se ajuste a la cantidad requerida de conexiones.

Consecuencias que habilitar TLS tiene en el rendimiento

La función de TLS encripta y desencripta datos, lo que conlleva una sobrecarga de procesamiento. En consecuencia, habilitar TLS puede reducir el rendimiento. Además, cuando usas TLS, cada conexión adicional incluye un costo de recurso asociado. Para determinar la latencia asociada con el uso de TLS, compara el rendimiento de la aplicación realizando una comparativa del rendimiento de la aplicación con una instancia de Redis que tiene habilitada TLS y una instancia de Redis que no la tiene habilitada.

Lineamientos para mejorar el rendimiento

  • Disminuye la cantidad de conexiones de clientes siempre que sea posible. Establece y reutiliza conexiones de larga duración en lugar de crear conexiones de corta duración según demanda.
  • Aumenta el tamaño de tu instancia de Memorystore (se recomienda M4 o más).
  • Aumenta los recursos de CPU de la máquina anfitrión del cliente de Memorystore. Las máquinas cliente con un mayor recuento de CPU ofrecen un mejor rendimiento. Si usas una VM de Compute Engine, recomendamos las instancias optimizadas para procesamiento.
  • Disminuye el tamaño de la carga útil asociado con el tráfico de la aplicación porque las cargas útiles más grandes requieren más recorridos de ida y vuelta.

Impacto de TLS en el uso de memoria

La habilitación de TLS reserva parte de la memoria de tu instancia de Redis para la función. En el resto del proceso, con TLS habilitada, el valor para la métrica de proporción de uso de memoria del sistema es mayor debido a la memoria de sobrecarga adicional que usa TLS.

¿Qué sigue?