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.
Einleitung
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 die Verwendung des Drittanbieter-Plug-ins von Stunnel, das TLS für Ihren Client aktiviert. 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
Eine Zertifizierungsstelle ist ab der Instanzerstellung zehn Jahre lang gültig. Darüber hinaus wird fünf Jahre nach der Instanzerstellung eine neue Zertifizierungsstelle zur Verfügung gestellt.
Die alte Zertifizierungsstelle bleibt bis zu ihrem Ablaufdatum gültig. Das bedeutet, Sie haben ein fünfjähriges Fenster, in dem Sie die neue Zertifizierungsstelle für Clients, die eine Verbindung zur Redis-Instanz herstellen, herunterladen und installieren können. Nachdem die alte Zertifizierungsstelle abgelaufen ist, können Sie sie von den Clients deinstallieren.
Eine Anleitung zum Rotieren der Zertifizierungsstelle finden Sie unter Zertifizierungsstellenrotation verwalten.
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ähr und hängen von der Rate und Komplexität der Redis-Befehle ab, die pro Verbindung gesendet werden.
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 Speichernutzung
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
Wenn Sie Redis Version 7.0 in Memorystore for Redis verwenden, wird die Leistung der Verschlüsselung während der Übertragung verbessert. Wenn Sie diese Leistungsverbesserungen nutzen möchten, aktualisieren Sie Ihre Instanz auf Redis Version 7.0.
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.