Sie können alle Daten, die zwischen Ihren Clientanwendungen und Memorystore for Redis Cluster übertragen werden, sicher verschlüsseln. Dies wird als Verschlüsselung während der Übertragung bezeichnet. Bei der Verschlüsselung während der Übertragung wird der gesamte Redis-Traffic mit dem Transport Layer Security-Protokoll (TLS) verschlüsselt. So wird sichergestellt, dass alle Daten, die zwischen Ihren Anwendungen und Memorystore for Redis Cluster übertragen werden, vertraulich bleiben und nicht manipuliert werden.
Wenn die Verschlüsselung während der Übertragung aktiviert ist, kommunizieren Redis-Clients ausschließlich über eine sichere Verbindung. Redis-Clients, die nicht für TLS konfiguriert sind, werden blockiert. Wenn Sie die Verschlüsselung während der Übertragung verwenden möchten, müssen Sie dafür sorgen, dass Ihr Redis-Client das TLS-Protokoll verwenden kann.
Im Folgenden finden Sie einige Anwendungsfälle für die Verschlüsselung während der Übertragung:
- Schutz sensibler Cache-Daten: Wenn Sie Memorystore for Redis Cluster verwenden, um wertvolle Informationen wie Sitzungstokens, personenbezogene Daten (PII) oder API-Schlüssel zu speichern, verhindert die Verschlüsselung während der Übertragung, dass Angreifer mit VPC-Zugriff auf Ihre Daten zugreifen.
- Einhaltung von Branchenstandards: Viele Sicherheitsframeworks, darunter HIPAA für das Gesundheitswesen und PCI DSS für Finanzdaten, schreiben vor, dass sensible Informationen sowohl im Ruhezustand als auch bei der Übertragung verschlüsselt werden müssen, um die gesetzlichen und branchenspezifischen Anforderungen zu erfüllen.
- Sichere Authentifizierung mit der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM): Wenn Sie die IAM-Authentifizierung verwenden, um den Zugriff auf Ihre Daten zu verwalten, ist für Memorystore for Redis Cluster TLS erforderlich, um die Offenlegung oder das Auslaufen von Authentifizierungstokens während der Übertragung zu verhindern.
- Verhinderung von Man-in-the-Middle-Angriffen: TLS authentifiziert den Server endpunkt mithilfe von Zertifizierungsstellen (Certificate Authorities, CAs). Zertifizierungsstellen schützen Ihre Anwendung vor Server-Spoofing und unbefugter Datenänderung, wenn die Daten zwischen Ihrer Anwendung und Memorystore for Redis Cluster übertragen werden.
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 Cluster benötigen Sie Folgendes:
Einen Redis-Client, der TLS oder eine TLS-Sidecar-Datei eines Drittanbieters unterstützt.
Auf dem Clientcomputer, der auf Ihren Cluster zugreift, installierte Zertifizierungsstellenzertifikate.
Das integrierte TLS wurde nur für Redis ab Version 6.0 unterstützt. Daher unterstützt nicht jede Redis-Clientbibliothek TLS. Wenn Sie einen Client verwenden, der TLS nicht unterstützt, empfehlen wir die Verwendung eines Drittanbieter-Plug-ins, das TLS für Ihren Client aktiviert. Ein Beispiel für das Herstellen einer Verbindung zu einem Cluster in Memorystore for Redis Cluster, für den die Verschlüsselung während der Übertragung aktiviert ist, finden Sie hier.
Zertifizierungsstellen (Certificate Authorities, CAs)
Ein Cluster, der die Verschlüsselung während der Übertragung verwendet, hat Zertifizierungsstellen (Certificate Authorities, CAs), die die Zertifikate der Maschinen im Cluster authentifizieren. In Memorystore for Redis Cluster können Sie einen Server-CA-Modus auswählen. Der CA-Modus bestimmt, welche CA-Hierarchie zum Ausstellen der digitalen Zertifikate für einen Cluster verwendet wird.
Memorystore for Redis Cluster bietet die folgenden CA-Modi:
- CA pro Instanz: Memorystore for Redis Cluster stellt für jeden Cluster eine eigene, eindeutige CA Infrastruktur bereit. Für den sicheren Zugriff auf einen Cluster müssen Sie Ihre Clients so konfigurieren, dass sie dieser CA-Hierarchie vertrauen. Dazu müssen Sie CA-Zertifikate auf jedem Client herunterladen und installieren, der auf den Cluster zugreift.
- Gemeinsame CA: eine verwaltete, regionalisierte CA-Infrastruktur. Für jede Region können Sie ein einzelnes CA-Zertifikatspaket herunterladen. Dieses Paket ist für alle Cluster in einer Region gültig, die Sie für die Verwendung der gemeinsamen CA konfigurieren. Durch die Verwendung einer gemeinsamen CA wird die Anzahl der Zertifikate reduziert, die Clients verwalten müssen.
- Vom Kunden verwaltete CA: Verwenden Sie Ihren eigenen CA-Pool, der in Certificate Authority Service gehostet wird. Wenn Ihre Clientanwendungen so konfiguriert sind, dass sie dieser CA vertrauen, können sie eine Verbindung zu einem Cluster herstellen, ohne dass Sie zusätzliche CA-Zertifikate herunterladen und installieren müssen. So haben Sie mehr Kontrolle und können die Compliance-Anforderungen erfüllen.
Rotation des Serverzertifikats
Memorystore for Redis Cluster führt wöchentlich eine serverseitige Zertifikatsrotation für Cluster durch, die die CA-Modi „Pro Instanz“, „Gemeinsame CA“ und „Vom Kunden verwaltete CA“ verwenden. Neue Serverzertifikate gelten nur für neue Verbindungen. Bestehende Verbindungen bleiben während dieser Rotation aktiv.
Zusätzlich zur wöchentlichen serverseitigen Zertifikatsrotation von Memorystore for Redis Cluster können Sie die Zertifikate im Modus „Vom Kunden verwaltete CA“ bei Bedarf rotieren.
Auswirkungen der Verschlüsselung während der Übertragung auf die Leistung
Die Funktion zur Verschlüsselung während der Übertragung verschlüsselt und entschlüsselt Daten, was mit einem Verarbeitungsaufwand verbunden ist. Daher kann die Aktivierung der Verschlüsselung während der Übertragung die Leistung Ihrer Clients 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 Leistung Ihrer Clients. Führen Sie dazu ein Benchmarking der Leistung eines Clusters durch, für den die Verschlüsselung während der Übertragung aktiviert ist, und eines Clusters, für den sie deaktiviert ist.
Richtlinien zur Leistungsverbesserung
Verwenden Sie die folgenden Richtlinien, um die Leistung eines Clusters zu verbessern:
Verringern Sie nach Möglichkeit die Anzahl der Clientverbindungen. Richten Sie lang andauernde Verbindungen ein und verwenden Sie sie, anstatt kurzlebige Verbindungen zu erstellen.
Erhöhen Sie die Größe des Clusters.
Erhöhen Sie die CPU-Ressourcen des Hostcomputers Ihres Clients. Clientmaschinen mit einer höheren CPU-Anzahl führen zu einer besseren Leistung. Wenn Sie eine Compute Engine-VM verwenden, empfehlen wir die Verwendung optimierter Cluster.
Verringern Sie die Größe der Nutzlast, die mit dem Traffic Ihres Clients verknüpft ist. Größere Nutzlasten erfordern mehr Umläufe.