Questa pagina fornisce una panoramica della crittografia in transito per Memorystore for Redis.
Per istruzioni su come criptare una connessione con la crittografia in transito, consulta Abilitare la crittografia 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 TLS (Transport Layer Security). 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 in transito, è tua responsabilità assicurarti che il client Redis sia in grado di utilizzare il protocollo TLS.
Prerequisiti per la crittografia in transito
Per utilizzare la crittografia in transito con Memorystore for Redis, devi disporre di:
- Un client Redis che supporta TLS o un sidecar TLS di terze parti
- Un'autorità di certificazione 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 abilita TLS per il client. Per un esempio di come connetterti a un'istanza Redis con Stunnel, consulta Connettersi in modo sicuro a un'istanza Redis utilizzando Stunnel e telnet.
Autorità di certificazione
Un'istanza Redis che utilizza la crittografia 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
Dopo aver creato un'istanza con la crittografia in transito, una CA è valida per 10 anni. Inoltre, cinque anni dopo la creazione dell'istanza, Memorystore for Redis genera una nuova CA e la rende disponibile.
La vecchia CA rimane valida fino alla data di scadenza, offrendoti un periodo di cinque anni 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.
Rotazione del certificato del server
La rotazione dei certificati lato server avviene ogni 180 giorni, causando un calo transitorio della connessione di pochi secondi. Dovresti avere una logica di ripetizione con backoff esponenziale per ristabilire la connessione. La rotazione dei certificati non causa un failover per le istanze del livello Standard.
Limiti di connessione per la crittografia in transito
L'abilitazione della crittografia in transito sull'istanza Redis introduce limiti al numero massimo di connessioni client che l'istanza può avere. Il limite dipende dalle dimensioni dell'istanza. Se hai bisogno di più connessioni di quelle supportate dal livello di capacità attuale, valuta la possibilità di aumentare le dimensioni dell'istanza Redis.
| 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 frequenza e dalla complessità dei comandi Redis inviati per connessione.
Monitoraggio delle connessioni
Poiché le istanze Redis con la crittografia in transito hanno limiti di connessione specifici,
devi monitorare la
redis.googleapis.com/clients/connected metrica per assicurarti di non superare
il limite di connessione. Se il limite viene superato, l'istanza Redis rifiuta le nuove connessioni tentate. In questo caso, ti consigliamo di eseguire lo scale up
dell'istanza alle dimensioni che soddisfano 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 timeout parametro di configurazione.
Impatto sulle prestazioni dell'abilitazione della crittografia in transito
La funzionalità di crittografia in transito cripta e decripta i dati, il che comporta un overhead di elaborazione. Di conseguenza, l'abilitazione della crittografia in transito può ridurre le prestazioni. Inoltre, quando si utilizza 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 con la crittografia in transito abilitata e un'istanza Redis con la crittografia in transito disabilitata.
Linee guida per migliorare le prestazioni
- Se possibile, riduci il numero di connessioni client. Stabilisci e riutilizza le connessioni a lunga esecuzione anziché creare connessioni di breve durata on demand.
- Aumenta le dimensioni dell'istanza Memorystore (è consigliabile M4 o superiore).
- Aumenta le risorse CPU della macchina host client Memorystore. Le macchine client con un numero di CPU più elevato offrono prestazioni migliori. Se utilizzi una VM Compute Engine, ti consigliamo le istanze ottimizzate per il calcolo.
- Riduci le dimensioni del payload associate al traffico dell'applicazione, perché i payload più grandi richiedono più round trip.
Impatto della crittografia in transito sulla memoria utilizzata
L'abilitazione della crittografia in transito riserva una parte della memoria dell'istanza Redis per la funzionalità. A parità di altre condizioni, con la crittografia in transito abilitata, 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 del server o eseguire operazioni di aggiornamento.
Passaggi successivi
- Visualizza le istruzioni per abilitare la crittografia in transito.
- Leggi la panoramica della funzionalità AUTH.
- Visualizza le autorizzazioni necessarie per eseguire le attività di gestione della crittografia in transito.
- Scopri come connetterti a un'istanza Redis con la crittografia in transito abilitata.