Informazioni sulla crittografia dei dati in transito

Questa pagina fornisce una panoramica della crittografia in transito per Memorystore for Redis.

Per istruzioni su come criptare una connessione con la crittografia dei dati in transito, vedi Attivare la crittografia dei dati in transito.

Memorystore for Redis supporta solo le versioni del protocollo TLS 1.2 o successive.

Introduzione

Memorystore for Redis supporta la crittografia di tutto il traffico Redis utilizzando il protocollo Transport Layer Security (TLS). Se la crittografia in transito è abilitata, i client Redis comunicano esclusivamente attraverso una connessione su porte sicure. I client Redis che non sono configurati per TLS verranno bloccati. Se scegli di attivare la crittografia in transito, è tua responsabilità assicurarti che il client Redis sia in grado di utilizzare il protocollo TLS.

Prerequisiti per la crittografia dei dati in transito

Per utilizzare la crittografia in transito con Memorystore for Redis, devi:

  1. Un client Redis che supporta TLS o un sidecar TLS di terze parti
  2. Una Certificate Authority installata sulla macchina client che accede all'istanza Redis

TLS nativo non era supportato prima della versione 6.0 di Redis open source. Di conseguenza, non tutte le librerie client Redis supportano TLS. Se utilizzi un client che non supporta TLS, ti consigliamo di utilizzare il plug-in di terze parti Stunnel che attiva TLS per il tuo client. Consulta la sezione Connessione sicura a un'istanza Redis utilizzando Stunnel e telnet per un esempio di come connettersi a un'istanza Redis con Stunnel.

Autorità di certificazione

Un'istanza Redis che utilizza la crittografia in transito ha una o più autorità di certificazione (CA) uniche utilizzate per verificare l'identità del server. Una CA è una stringa che devi scaricare e installare sul client che accede alla tua istanza Redis. Un certificato è valido per dieci anni dalla data di creazione. Per garantire la continuità del servizio, la nuova CA deve essere installata sui client dell'istanza Redis prima della scadenza della CA precedente.

Rotazione dell'autorità di certificazione

Una CA è valida per 10 anni dalla creazione dell'istanza. Inoltre, una nuova CA diventa disponibile cinque anni dopo la creazione dell'istanza.

La vecchia CA è valida fino alla sua data di scadenza. In questo modo hai cinque anni di tempo per scaricare e installare la nuova CA sui client che si connettono all'istanza Redis. Una volta scaduta la vecchia CA, puoi disinstallarla dai client.

Per istruzioni sulla rotazione dell'autorità di certificazione, vedi Gestire la rotazione dell'autorità di certificazione.

Rotazione del certificato del server

La rotazione dei certificati lato server avviene ogni 180 giorni, causando un'interruzione temporanea della connessione di alcuni secondi. Per ristabilire la connessione, devi implementare una logica di ripetizione con backoff esponenziale. La rotazione dei certificati non causa un failover per le istanze di livello Standard.

Limiti di connessione per la crittografia in transito

L'abilitazione della crittografia in transito sull'istanza Redis introduce alcuni limiti per il numero massimo di connessioni client consentito per l'istanza. Il limite dipende dalle dimensioni dell'istanza. Ti consigliamo di aumentare le dimensioni dell'istanza Redis se hai bisogno di più connessioni di quelle supportate dal livello di capacità attuale.

Livello di capacità Numero massimo di connessioni per le versioni Redis 4.0, 5.0 e 6.x1 Numero massimo di connessioni per Redis versione 7.0 e successive1
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 Questi limiti di connessione sono approssimativi e dipendono dalla velocità e dalla complessità dei comandi Redis inviati per connessione.

Monitoraggio delle connessioni

Poiché le istanze Redis con crittografia in transito hanno limiti di connessione specifici, devi monitorare la metrica redis.googleapis.com/clients/connected per assicurarti di non superare il limite di connessione. Se il limite viene superato, l'istanza Redis rifiuta i nuovi tentativi di connessione. In questo caso, ti consigliamo di aumentare le dimensioni dell'istanza in modo da ospitare il numero di connessioni richiesto. Se sospetti che le connessioni inattive costituiscano un numero significativo delle tue connessioni, puoi terminarle in modo proattivo con il parametro di configurazione timeout.

Impatto sulle prestazioni dell'abilitazione della crittografia in transito

La funzionalità di crittografia in transito cripta e decripta i dati, il che comporta un sovraccarico di elaborazione. Di conseguenza, l'attivazione della crittografia in transito può ridurre le prestazioni. Inoltre, quando utilizzi la crittografia in transito, ogni connessione aggiuntiva comporta un costo delle risorse associato. Per determinare la latenza associata all'utilizzo della crittografia in transito, confronta le prestazioni dell'applicazione eseguendo il benchmarking delle prestazioni dell'applicazione con un'istanza Redis in cui è abilitata la crittografia in transito e con un'istanza Redis in cui è disabilitata.

Linee guida per migliorare il rendimento

  • Se possibile, riduci il numero di connessioni client. Stabilisci e riutilizza connessioni a lunga esecuzione anziché creare connessioni di breve durata on demand.
  • Aumenta le dimensioni dell'istanza Memorystore (è consigliata M4 o una versione successiva).
  • Aumenta le risorse CPU della macchina host client Memorystore. Le macchine client con un numero maggiore di CPU offrono prestazioni migliori. Se utilizzi una VM Compute Engine, ti consigliamo le istanze ottimizzate per il calcolo.
  • Ridurre le dimensioni del payload associate al traffico dell'applicazione perché i payload più grandi richiedono più round trip.

Impatto della crittografia in transito sull'utilizzo della memoria

L'abilitazione della crittografia dei dati in transito riserva una parte della memoria dell'istanza Redis per la funzionalità. A parità di altre condizioni, con la crittografia in transito attivata, il valore della metrica Rapporto di utilizzo della memoria di sistema è più alto a causa della memoria di overhead aggiuntiva utilizzata dalla funzionalità.

Miglioramenti delle prestazioni di Redis versione 7.0

L'utilizzo di Redis versione 7.0 su Memorystore for Redis migliora le prestazioni della crittografia in transito. Per sfruttare questi miglioramenti delle prestazioni, valuta la possibilità di eseguire l'upgrade dell'istanza per utilizzare Redis versione 7.0. Utilizzando questa versione, Memorystore for Redis non interrompe le connessioni che utilizzi per ruotare i certificati server o eseguire operazioni di aggiornamento.

Passaggi successivi