Sie können alle Daten, die zwischen Ihren Clientanwendungen und Memorystore for Redis-Clustern übertragen werden, sicher verschlüsseln. Das ist die Verschlüsselung während der Übertragung. Durch die Verschlüsselung während der Übertragung wird der gesamte Redis-Traffic über das 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 und unverändert bleiben.
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üssen Sie dafür sorgen, dass Ihr Redis-Client das TLS-Protokoll verwenden kann.
Für Cluster, die die Verschlüsselung während der Übertragung verwenden, sind Zertifizierungsstellen (Certificate Authorities, CAs) erforderlich. Sie verwenden die CAs, um die Zertifikate der Maschinen in Ihren Clustern zu authentifizieren.
Ein CA-Modus, den Sie verwenden können, ist eine CA pro Instanz. Bei Memorystore for Redis Cluster wird für jeden Cluster eine eigene, eindeutige CA-Infrastruktur bereitgestellt. Um sicher auf einen Cluster zuzugreifen, müssen Sie Ihre Clientanwendung so konfigurieren, dass sie dieser CA-Hierarchie vertraut. Dazu müssen Sie CA-Zertifikate auf jedem Client herunterladen und installieren, der auf den Cluster zugreift.
Cluster erstellen, der eine CA pro Instanz verwendet
Console
Folgen Sie der Anleitung unter Instanzen erstellen.
gcloud
Verwenden Sie den Befehl gcloud redis clusters create, um einen Cluster zu erstellen, der eine CA pro Instanz verwendet.
gcloud redis clusters create CLUSTER_ID \ --region=REGION_ID \ --network=NETWORK \ --replica-count=REPLICA_COUNT \ --node-type=NODE_TYPE \ --shard-count=SHARD_COUNT \ --transit-encryption-mode=server-authentication \ --server-ca-mode=google-managed-per-instance-ca
Ersetzen Sie die folgenden Werte:
CLUSTER_ID: Die ID des Clusters, den Sie erstellen. Die Cluster-ID muss zwischen 1 und 63 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern oder Bindestriche enthalten. Er muss mit einem Kleinbuchstaben beginnen und mit einem Kleinbuchstaben oder einer Ziffer enden.
REGION_ID: die Region, in der sich der Cluster befinden soll.
NETWORK: Das Netzwerk, das Sie zum Erstellen des Clusters verwenden. Er muss dieses Format haben:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. Die von Ihnen verwendete Netzwerk-ID muss mit der Netzwerk-ID übereinstimmen, die in der Richtlinie für Dienstverbindungen verwendet wird. Andernfalls können Sie den Cluster nicht erstellen.REPLICA_COUNT: die Anzahl der Replikate (pro Shard). Zulässige Werte sind
0–5.NODE_TYPE: der Knotentyp. Zulässige Werte:
redis-shared-core-nanoredis-standard-smallredis-highmem-mediumredis-highmem-xlarge
SHARD_COUNT: die Anzahl der Shards im Cluster. Die Anzahl der Shards bestimmt die Gesamtarbeitsspeicherkapazität zum Speichern von Clusterdaten. Weitere Informationen zu Clusterspezifikationen finden Sie unter Cluster- und Knotenspezifikation.
Der Parameter server-ca-mode stellt den CA-Modus für den Cluster dar. Bei einer CA pro Instanz ist google-managed-per-instance-ca der Wert für den Parameter. Wenn Sie diesen Parameter nicht verwenden, ist der Standard-CA-Modus „pro Instanz“.
Beispiel:
gcloud redis clusters create my-cluster \ --region=us-central1 \ --network=projects/my-network-project/global/networks/default \ --replica-count=1 \ --node-type=redis-highmem-medium \ --shard-count=3 \ --transit-encryption-mode=server-authentication \ --server-ca-mode=google-managed-per-instance-ca
CAs herunterladen
Wenn Sie die Verschlüsselung während der Übertragung für einen Cluster aktivieren, werden bei Verwendung des Befehls get-cluster-certificate-authority die Zertifikate der Zertifizierungsstellen angezeigt.
gcloud redis clusters get-cluster-certificate-authority CLUSTER_ID
Ersetzen Sie CLUSTER_ID durch die ID des Clusters.
Der Antworttext enthält Zertifikate für alle anwendbaren Zertifizierungsstellen.
CA-Zertifikate auf dem Client installieren
Sie müssen die CA-Zertifikate auf dem Client installieren, der eine Verbindung zum Cluster herstellt. Die Installation des CA-Zertifikats kann je nach Clienttyp variieren.
So installieren Sie ein CA-Zertifikat auf einer Compute Engine-Linux-VM:
Stellen Sie eine SSH-Verbindung zu einem Compute Engine-Linux-Client her.
Verwenden Sie im Client den folgenden Befehl, um eine
server_ca.pem-Datei zu erstellen:sudo vim /tmp/server_ca.pem
Laden Sie die Zertifizierungsstellen herunter und fügen Sie sie in die Datei
server_ca.pemein.Sie müssen den Text der Zertifizierungsstellen richtig formatieren. Die Datei
server_ca.pemsieht möglicherweise so aus:-----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1 MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H 8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0 3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh 1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3 84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7 xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn 662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g lEtWs4V/YBhKA56CW6ASZS8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkYjg4 ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdhMzM4NmIwZmU4MTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE4MjEzMTI3WhcNMzAwOTE2 MjEzMjI3WjCBhTEtMCsGA1UELhMkYjg4ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdh MzM4NmIwZmU4MTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEO4Zs/So5DA6wtftkAElD 8BVREob4gby2mGBYAtd3JJQKFC+zIqCf2DhrWihrCeXhsdsZqJUF16E3MsCCWS2T UWt6T37zObU2fzKmb7X+TSw1tunIUcIXwWzoMhqdGrIvfI9guMbF+KssQIjDMs9M G/hY6cY1NB5THOxXqcxzYrwSKB1EE160EDz4RgKAYQhw7AyVOBBAbWqA5pTEDuUy qpsz+NFpKYTwaeTpzil0xIl0JJS3DOd4G7ZnMG2wFT2j3wt+P0SkAPuOWgmX82iO gGmKoaCh3KcICie/rZRTfsRPjMm+yswRQRDeLB5eoMmH+gbUInVZU0qOJ/7gOYEb AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AF4xlEbwLUK5VjoKlJBtKXLYrYcW+AbQLhZQFP8exE8bOW7p39h+5J0nl3ItPxu6 97BCt1P5TFisba8pBxaExiDsYmjKQrhtizMkzl5h9hGksOgoLlAqaaxfA97+Q9Tq 5gaYChESur/159Z3jiM47obKoZmHfgSgr//7tjII7yZxUGhOjIVffv/fEa4aixqM 0yH1V1s8hWHZeui2VFrHmTxY20IH9ktyedjSUgnFXzsEH6sbR18p0wBZqyrrtURs DaUIeoOHfHgEJM8k/wphSJI0V6pMC6nax2JhexLTRiUsiGTLRDe3VtsdWqS2DLa9 9DmrfdF0eFrfWw3VRNLwwXg= -----END CERTIFICATE-----
Ihre Datei sollte, wie im vorherigen Beispiel zu sehen, den folgenden Richtlinien entsprechen:
Kopieren Sie die gesamte Zertifizierungsstelle, einschließlich der Zeilen
-----BEGIN CERTIFICATE-----,
und-----END CERTIFICATE-----.Der Text der Zertifizierungsstellen muss vollständig linksbündig sein. Prüfen Sie, ob vor den Zertifizierungsstellenzeilen Leerzeichen stehen.
Fügen Sie jede Zertifizierungsstelle in einer neuen Zeile hinzu. Prüfen Sie, ob zwischen den CAs leere Zeilen vorhanden sind.
Client für die Verschlüsselung während der Übertragung konfigurieren
Der Client, mit dem Sie eine Verbindung zum Cluster herstellen, muss entweder TLS unterstützen oder eine Sidecar-Datei eines Drittanbieters verwenden, um TLS zu aktivieren.
Wenn Ihr Client TLS unterstützt, konfigurieren Sie ihn so, dass er auf die IP-Adresse des Clusters, Port 6379 und die Datei mit der Zertifizierungsstelle verweist. Hier finden Sie ein Beispiel für das Herstellen einer Verbindung zu einem Cluster, für den die Verschlüsselung während der Übertragung aktiviert ist.
CA-Rotation verwalten
Wir empfehlen, alle herunterladbaren CA-Zertifikate auf den Clients zu installieren, die auf den Cluster zugreifen.
Wenn Sie die neuesten CA-Zertifikate regelmäßig installieren, haben Sie die erforderlichen Zertifikate, wenn Memorystore for Redis Cluster die CAs rotiert. Während dieser Rotation sind sowohl die vorhandenen als auch die neuen CAs aktiv.
Codebeispiel für die Verbindung zu einem Cluster, der die Verschlüsselung während der Übertragung verwendet
Ein Codebeispiel zum Einrichten einer Clientbibliothek für die Verbindung zu einem Cluster, der die Verschlüsselung bei der Übertragung verwendet, finden Sie unter Codebeispiel für Clientbibliothek für die Verschlüsselung bei der Übertragung.