Sie können alle Daten, die zwischen Ihren Clientanwendungen und Memorystore for Valkey ü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 Valkey-Traffic über das Transport Layer Security-Protokoll (TLS) verschlüsselt. So bleiben alle Daten, die zwischen Ihren Anwendungen und Memorystore for Valkey übertragen werden, vertraulich und unverändert.
Wenn die Verschlüsselung während der Übertragung aktiviert ist, kommunizieren Valkey-Clients ausschließlich über eine sichere Verbindung. Valkey-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 Valkey-Client das TLS-Protokoll verwenden kann.
Instanzen, die während der Übertragung verwendet werden, haben Zertifizierungsstellen (Certificate Authorities, CAs). Sie verwenden die Zertifizierungsstellen, um die Zertifikate der Maschinen in Ihren Instanzen zu authentifizieren.
Ein CA-Modus, den Sie verwenden können, ist eine CA pro Instanz. Memorystore for Valkey stellt für jede Instanz eine eigene, eindeutige CA-Infrastruktur bereit. Um sicher auf eine Instanz 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 die Instanz zugreift.
Instanz mit einer CA pro Instanz erstellen
Console
Folgen Sie der Anleitung unter Instanzen erstellen.
gcloud
Verwenden Sie den Befehl gcloud memorystore instances create, um eine Instanz zu erstellen, die eine instanzbezogene CA verwendet.
gcloud memorystore instances create INSTANCE_ID \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_ID/global/networks/NETWORK_ID", "projectId": "PROJECT_ID"}}]}]' \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--engine-version=ENGINE_VERSION \
--mode=MODE \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca
Ersetzen Sie die folgenden Werte:
INSTANCE_ID: Die ID der Instanz, die Sie erstellen. Die Instanz-ID muss 1 bis 63 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern oder Bindestriche enthalten. Es muss mit einem Kleinbuchstaben beginnen und mit einem Kleinbuchstaben oder einer Ziffer enden.
REGION_ID: die Region, in der sich die Instanz befinden soll.
PROJECT_ID: die ID des Projekts, in dem Sie die Instanz erstellen möchten.
NETWORK_ID: die ID des Netzwerks, das Sie zum Erstellen der Instanz verwenden möchten.
REPLICA_COUNT: die Anzahl der Replikate (pro Shard). Zulässige Werte sind
0–5.NODE_TYPE: der Knotentyp für die Instanz.
SHARD_COUNT: die Anzahl der Shards in der Instanz. Die Anzahl der Shards bestimmt die Gesamtspeicherkapazität für das Speichern von Instanzdaten. Weitere Informationen zu Instanzspezifikationen finden Sie unter Instanz- und Knotenspezifikation.
ENGINE_VERSION: die Version der Instanz. Zulässige Werte für diesen Parameter sind
VALKEY_7_2,VALKEY_8_0undVALKEY_9_0. Wenn Sie keinen Wert angeben, wirdVALKEY_9_0als Standardwert verwendet.MODE: Gibt an, ob der Clustermodus für die Instanz aktiviert oder deaktiviert ist. Wird dieses Feld ausgelassen, wird für die Instanz standardmäßig der Clustermodus aktiviert. Weitere Informationen finden Sie unter Clustermodus aktivieren und deaktivieren.
Der Parameter server-ca-mode stellt den CA-Modus für die Instanz 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 memorystore instances create my-instance \
--location=us-central1 \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/my-project/global/networks/my-network", "projectId": "my-project"}}]}] \
--replica-count=1 \
--node-type=highmem-medium \
--shard-count=3 \
--engine-version=VALKEY_9_0 \
--mode=CLUSTER \
--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 eine Instanz aktivieren, werden die Zertifikate der Zertifizierungsstellen angezeigt, wenn Sie den Befehl get-certificate-authority verwenden.
gcloud memorystore instances get-certificate-authority INSTANCE_ID
Ersetzen Sie INSTANCE_ID durch die ID der Instanz.
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 zur Instanz herstellt. Je nach Clienttyp kann die Installation des CA-Zertifikats 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-----
Beachten Sie die folgenden Richtlinien, um den Text in der Datei richtig zu formatieren:
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 Zeilen der Zertifizierungsstellen Leerzeichen stehen.
Fügen Sie jede Zertifizierungsstelle in einer neuen Zeile hinzu. Prüfen Sie, ob zwischen den Zertifizierungsstellen leere Zeilen vorhanden sind.
Client für die Verschlüsselung während der Übertragung konfigurieren
Der Client, mit dem Sie eine Verbindung zur Instanz 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 der Instanz, Port 6379 und die Datei mit der Zertifizierungsstelle verweist. Hier finden Sie Beispiele für das Herstellen einer Verbindung zu einer Instanz mit aktiviertem Clustermodus oder deaktiviertem Clustermodus in Memorystore for Valkey, für die 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 die Instanz zugreifen.
Wenn Sie die neuesten CA-Zertifikate regelmäßig installieren, haben Sie die erforderlichen Zertifikate, wenn Memorystore for Valkey die Zertifizierungsstellen rotiert. Während dieser Rotation sind sowohl die vorhandenen als auch die neuen CAs aktiv.
Codebeispiel für die Verbindung zu einer Instanz, die die Verschlüsselung während der Übertragung verwendet
Ein Codebeispiel zum Einrichten einer Clientbibliothek für die Verbindung mit einer Instanz, die die Verschlüsselung während der Übertragung verwendet, finden Sie unter Codebeispiel für IAM-Authentifizierung und Verschlüsselung während der Übertragung.