Informazioni sulla crittografia dei dati in transito

Questa pagina offre una panoramica della crittografia dei dati in transito per Memorystore for Redis.

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

Memorystore for Redis supporta solo il protocollo TLS 1.2 o versioni 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 abilitare la crittografia dei dati in transito, è tua responsabilità assicurarti che il client Redis sia in grado di utilizzare il protocollo TLS.

Prerequisiti della crittografia in transito

Per utilizzare la crittografia dei dati in transito con Memorystore for Redis, sono necessari:

  1. Un client Redis che supporti TLS o un file collaterale TLS di terze parti
  2. Un'autorità di certificazione installata sul computer client che accede all'istanza Redis

Il protocollo TLS nativo non era supportato prima della versione open source Redis 6.0. Di conseguenza, non tutte le librerie client Redis supportano TLS. Se utilizzi un client che non supporta TLS, ti consigliamo di usare il plug-in di terze parti Stunnel che abilita TLS per il tuo client. Consulta Connessione in modo sicuro a un'istanza Redis con 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 dei dati in transito ha una o più autorità di certificazione (CA) univoche utilizzate per verificare l'identità del server. Una CA è una stringa che devi scaricare e installare sul client che accede all'istanza Redis. Una CA è valida 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 al momento della creazione dell'istanza. Inoltre, una nuova CA diventa disponibile cinque anni dopo la creazione dell'istanza.

La CA precedente è valida fino alla data di scadenza. Questo ti offre un periodo di cinque anni in cui scaricare e installare la nuova CA sui client che si connettono all'istanza Redis. Dopo la scadenza della CA precedente, puoi disinstallarla dai client.

Per istruzioni sulla rotazione dell'autorità di certificazione, consulta Gestione della rotazione dell'autorità di certificazione.

Rotazione del certificato del server

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

Limiti di connessione per la crittografia dei dati in transito

L'abilitazione della crittografia dei dati in transito nella tua istanza Redis introduce dei limiti per il numero massimo di connessioni client che l'istanza può avere. Il limite dipende dalle dimensioni dell'istanza. Dovresti considerare di aumentare le dimensioni della tua istanza Redis se hai bisogno di più connessioni rispetto a quelle supportate dal tuo 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 (oltre 101 GB) 65.000 65.000

1 Questi limiti di connessione sono approssimativi e dipendono dalla frequenza e dalla complessità dei comandi Redis inviati per ogni connessione.

Monitoraggio delle connessioni

Poiché le istanze Redis con crittografia dei dati in transito hanno limiti di connessione specifici, devi monitorare la metrica redis.googleapis.com/clients/connected per assicurarti di non superare il limite di connessioni. Se il limite viene superato, l'istanza Redis rifiuta le nuove connessioni tentate. In questo caso, ti consigliamo di scalare l'istanza alle dimensioni che supportano il numero richiesto di connessioni. Se sospetti che le connessioni inattive rappresentino un numero significativo di connessioni, puoi terminare proattivamente queste connessioni con il parametro di configurazione timeout.

Impatto sulle prestazioni dell'abilitazione della crittografia dei dati in transito

La funzionalità di crittografia dei dati in transito cripta e decripta i dati, comportando un overhead di elaborazione. Di conseguenza, l'abilitazione della crittografia dei dati in transito può ridurre le prestazioni. Inoltre, quando si utilizza la crittografia dei dati in transito, ogni connessione aggiuntiva viene associata al costo delle risorse. Per determinare la latenza associata all'utilizzo della crittografia dei dati in transito, confronta le prestazioni dell'applicazione tramite il benchmarking delle prestazioni dell'applicazione sia con un'istanza Redis per cui è abilitata la crittografia dei dati in transito sia 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 on demand di breve durata.
  • Aumenta la dimensione dell'istanza Memorystore (opzione consigliata M4 o superiore).
  • Aumenta le risorse della CPU della macchina host del client Memorystore. Le macchine client con un numero di CPU più elevato offrono prestazioni migliori. Se utilizzi una VM di Compute Engine, ti consigliamo di utilizzare istanze ottimizzate per il calcolo.
  • Riduci le dimensioni del payload associate al traffico delle applicazioni perché carichi di lavoro più grandi richiedono più round trip.

Impatto della crittografia dei dati in transito sull'utilizzo della memoria

L'abilitazione della crittografia dei dati in transito riserva parte della memoria dell'istanza Redis per la funzionalità. A parità di altri fattori, con la crittografia dei dati in transito abilitata, il valore della metrica Rapporto di utilizzo della memoria di sistema è più elevato a causa della memoria 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 dei dati in transito. Per sfruttare questi miglioramenti delle prestazioni, valuta la possibilità di eseguire l'upgrade dell'istanza per utilizzare Redis versione 7.0.

Passaggi successivi