Verschlüsselung während der Übertragung

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:

  1. Einen Redis-Client, der TLS oder eine TLS-Sidecar-Datei eines Drittanbieters unterstützt
  2. 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 die 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 Näherungswerte 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 bei 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 die Redis-Version 7.0 durchführen.

Nächste Schritte