Diese Seite bietet einen Überblick über die Verschlüsselung während der Übertragung für Memorystore for Redis.
Eine Anleitung zum Verschlüsseln einer Verbindung mit der Verschlüsselung während der Übertragung finden Sie unter Verschlüsselung während der Übertragung aktivieren.
Memorystore for Redis unterstützt nur die TLS-Protokollversionen 1.2 oder höher.
Einführung
Memorystore for Redis unterstützt die Verschlüsselung des gesamten Redis-Traffics mit dem Transport Layer Security-Protokoll (TLS). Wenn die Verschlüsselung während der Übertragung aktiviert ist, kommunizieren Redis-Clients ausschließlich über eine sichere Portverbindung. Redis-Clients, die nicht für TLS konfiguriert sind, werden blockiert. Wenn Sie die Verschlüsselung während der Übertragung aktivieren, müssen Sie dafür sorgen, dass Ihr Redis-Client das TLS-Protokoll verwenden kann.
Voraussetzungen für die Verschlüsselung während der Übertragung
Für die Verwendung der Verschlüsselung während der Übertragung mit Memorystore for Redis benötigen Sie:
- Einen Redis-Client, der TLS oder eine TLS-Sidecar-Datei eines Drittanbieters unterstützt
- Eine Zertifizierungsstelle, die auf dem Clientcomputer installiert ist, der auf Ihre Redis-Instanz zugreift
Natives TLS wurde vor der Open-Source-Redis-Version 6.0 nicht unterstützt. Daher unterstützt nicht jede Redis-Clientbibliothek TLS. Wenn Sie einen Client verwenden, der TLS nicht unterstützt, empfehlen wir das Stunnel Plug-in eines Drittanbieters, mit dem TLS für Ihren Client aktiviert werden kann. Ein Beispiel für die Verbindung mit einer Redis-Instanz mit Stunnel finden Sie unter Sichere Verbindung zu einer Redis-Instanz über Stunnel und Telnet herstellen.
Zertifizierungsstelle
Eine Redis-Instanz, die während der Übertragung verwendet wird, hat eine oder mehrere eindeutige Zertifizierungsstellen (Certificate Authorities, CAs), die zur Überprüfung der Identität des Servers verwendet werden. Eine Zertifizierungsstelle ist ein String, den Sie herunterladen und auf dem Client installieren müssen, der auf Ihre Redis-Instanz zugreift. Eine Zertifizierungsstelle ist ab dem Datum der Erstellung zehn Jahre lang gültig. Zur Gewährleistung der Dienstkontinuität muss die neue Zertifizierungsstelle auf Clients der Redis-Instanz installiert werden, bevor die vorherige Zertifizierungsstelle abläuft.
Rotation der Zertifizierungsstelle
Nachdem Sie eine Instanz mit Verschlüsselung während der Übertragung erstellt haben, ist eine Zertifizierungsstelle 10 Jahre lang gültig. Außerdem generiert Memorystore for Redis fünf Jahre nach der Erstellung der Instanz eine neue Zertifizierungsstelle und stellt sie zur Verfügung.
Die alte Zertifizierungsstelle bleibt bis zum Ablaufdatum gültig. So haben Sie fünf Jahre Zeit, die neue Zertifizierungsstelle herunterzuladen und zu installieren auf Clients, die eine Verbindung zur Redis-Instanz herstellen. Nach Ablauf der alten Zertifizierungsstelle können Sie sie von Ihren Clients deinstallieren.
Rotation des Serverzertifikats
Die serverseitige Zertifikatsrotation erfolgt alle 180 Tage, was zu einem vorübergehenden Verbindungsabbruch von einigen Sekunden führt. Sie sollten eine Wiederholungslogik mit exponentiellem Backoff haben, um die Verbindung wiederherzustellen. Die Rotation von Zertifikaten führt bei Instanzen der Standardstufe nicht zu einem Failover.
Verbindungslimits für die Verschlüsselung während der Übertragung
Wenn Sie die Verschlüsselung während der Übertragung auf Ihrer Redis-Instanz aktivieren, wird die maximale Anzahl von Clientverbindungen begrenzt, die Ihre Instanz haben kann. Das Limit hängt von der Instanzgröße ab. Sie sollten die Größe Ihrer Redis-Instanz erhöhen, wenn Sie mehr Verbindungen benötigen, als von Ihrer aktuellen Kapazitätsstufe unterstützt werden
| Kapazitätsstufe | Maximale Anzahl von Verbindungen für Redis-Versionen 4.0, 5.0 und 6.x1 | Maximale Anzahl von Verbindungen für Redis-Version 7.0 und höher1 |
|---|---|---|
| M1 (1–4 GB) | 1000 | 65.000 |
| M2 (5–10 GB) | 2.500 | 65.000 |
| M3 (11–35 GB) | 15.000 | 65.000 |
| M4 (36–100 GB) | 30.000 | 65.000 |
| M5 (101+GB) | 65.000 | 65.000 |
1 Diese Verbindungslimits sind ungefähre Werte und hängen von der Rate und Komplexität der pro Verbindung gesendeten Redis-Befehle ab.
Verbindungen überwachen
Da Redis-Instanzen mit Verschlüsselung bei der Übertragung bestimmte Verbindungslimits haben, sollten Sie den Messwert redis.googleapis.com/clients/connected überwachen, um sicherzustellen, dass Sie das Verbindungslimit nicht überschreiten. Wenn das Limit überschritten wird, lehnt die Redis-Instanz neu versuchte Verbindungen ab. In diesem Fall empfehlen wir, Ihre Instanz auf die Größe zu skalieren, die der erforderlichen Anzahl von Verbindungen entspricht.
Wenn Sie den Verdacht haben, dass inaktive Verbindungen eine erhebliche Anzahl von Verbindungen ausmachen, können Sie diese Verbindungen proaktiv mit dem Konfigurationsparameter timeout beenden.
Auswirkungen der Verschlüsselung während der Übertragung auf die Leistung
Bei der Übertragung werden während der Übertragung Daten verschlüsselt und entschlüsselt, was mit dem Verarbeitungsaufwand verbunden ist. Daher kann die Aktivierung der Verschlüsselung während der Übertragung die Leistung beeinträchtigen. Außerdem werden bei der Verwendung der Verschlüsselung während der Übertragung für jede zusätzliche Verbindung Kosten für die Ressourcen berechnet. Wenn Sie die Latenz bei der Verwendung der Verschlüsselung während der Übertragung ermitteln möchten, vergleichen Sie die Anwendungsleistung mit einem Benchmarking der Anwendungsleistung sowohl mit einer Redis-Instanz, für die die Verschlüsselung während der Übertragung aktiviert ist, als auch mit einer Redis-Instanz, die die Verschlüsselung aufweist.
Richtlinien zur Leistungsverbesserung
- Verringern Sie die Anzahl der Clientverbindungen nach Möglichkeit. Richten Sie lang andauernde Verbindungen ein und verwenden Sie sie, anstatt kurzlebige Verbindungen zu erstellen.
- Vergrößern Sie Ihre Memorystore-Instanz. Es wird M4 oder höher empfohlen.
- Erhöhen Sie die CPU-Ressourcen des Memorystore-Clienthostcomputers. Clientmaschinen mit einer höheren CPU-Anzahl führen zu einer besseren Leistung. Bei Verwendung einer Compute Engine-VM empfehlen wir computing-optimierte Instanzen.
- Verringern Sie die Größe der Nutzlast, die mit dem Anwendungstraffic verknüpft ist, da größere Nutzlasten mehr Umläufe erfordern.
Auswirkungen der Verschlüsselung während der Übertragung auf die Arbeitsspeichernutzung
Wenn Sie die Verschlüsselung während der Übertragung aktivieren, wird ein Teil Ihres Redis-Instanzspeichers für das Feature reserviert. Wenn alles andere gleich ist, während die Verschlüsselung während der Übertragung aktiviert ist, ist der Wert für den Messwert für das Verhältnis der Systemspeichernutzung aufgrund des zusätzlichen von der Funktion verwendeten Overheads höher.
Leistungsverbesserungen in Redis-Version 7.0
Die Verwendung von Redis-Version 7.0 in Memorystore for Redis verbessert die Leistung der Verschlüsselung während der Übertragung. Wenn Sie diese Leistungsverbesserungen nutzen möchten, sollten Sie ein Upgrade Ihrer Instanz auf Redis-Version 7.0 durchführen. Bei Verwendung dieser Version werden Verbindungen, die Sie zum Rotieren von Serverzertifikaten oder zum Ausführen von Aktualisierungsvorgängen verwenden, von Memorystore for Redis nicht getrennt.
Nächste Schritte
- Anleitung zur Aktivierung der Verschlüsselung während der Übertragung.
- Lesen Sie die Übersicht über die AUTH-Funktion.
- Prüfen Sie die Berechtigungen, die Sie für die Verwaltung von Aufgaben zur Verschlüsselung während der Übertragung benötigen.
- Erfahren Sie, wie Sie eine Verbindung zu einer Redis-Instanz herstellen, für die die Verschlüsselung während der Übertragung aktiviert ist.