Sie können alle Daten, die zwischen Ihren Clientanwendungen und Memorystore for Valkey ü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 Valkey-Traffic über das TLS-Protokoll (Transport Layer Security) 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 die Verschlüsselung während der Übertragung verwenden, haben Zertifizierungsstellen. Mit den Zertifizierungsstellen authentifizieren Sie die Zertifikate der Maschinen in Ihren Instanzen.
Ein Zertifizierungsstellenmodus, den Sie verwenden können, ist eine Zertifizierungsstelle pro Instanz. Memorystore for Valkey stellt für jede Instanz eine eigene, eindeutige Zertifizierungsstelleninfrastruktur bereit. Um sicher auf eine Instanz zuzugreifen, müssen Sie Ihre Clientanwendung so konfigurieren, dass sie dieser Zertifizierungsstellenhierarchie vertraut. Dazu müssen Sie Zertifizierungsstellenzertifikate auf jedem Client herunterladen und installieren, der auf die Instanz zugreift.
Instanz mit einer Zertifizierungsstelle pro Instanz erstellen
Console
Folgen Sie der Anleitung unter Instanzen erstellen.
gcloud
Verwenden Sie den gcloud memorystore instances create-Befehl, um eine Instanz mit einer Zertifizierungsstelle pro Instanz zu erstellen.
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 zwischen 1 und 63 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern oder Bindestriche enthalten. Sie 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. Zulässige Werte:
shared-core-nanostandard-smallhighmem-mediumhighmem-xlarge
SHARD_COUNT: die Anzahl der Shards in der Instanz. Die Anzahl der Shards bestimmt die Gesamtarbeitsspeicherkapazität zum Speichern von Instanzdaten. Weitere Informationen zu den 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, wird standardmäßigVALKEY_9_0verwendet.MODE: bestimmt, ob der Clustermodus aktiviert oder deaktiviert ist. Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Clustermodus aktiviert. Weitere Informationen finden Sie unter Clustermodus aktivieren und deaktivieren.
Der Parameter server-ca-mode stellt den Zertifizierungsstellenmodus für die Instanz dar. Bei einer Zertifizierungsstelle pro Instanz ist google-managed-per-instance-ca der Wert für den Parameter. Wenn Sie diesen Parameter nicht verwenden, ist der Standardmodus für die Zertifizierungsstelle „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
Zertifizierungsstellen herunterladen
Wenn Sie die Verschlüsselung während der Übertragung für eine Instanz aktivieren, werden bei Verwendung des
get-certificate-authority
Befehls die Zertifikate der Zertifizierungsstellen angezeigt.
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.
Zertifizierungsstellenzertifikate auf dem Client installieren
Sie müssen die Zertifizierungsstellenzertifikate auf dem Client installieren, der eine Verbindung zur Instanz herstellt. Je nach Clienttyp kann die Installation des Zertifizierungsstellenzertifikats variieren.
So installieren Sie ein Zertifizierungsstellenzertifikat auf einer Compute Engine-Linux-VM:
Stellen Sie eine SSH-Verbindung zu einem Compute Engine-Linux-Client her.
Erstellen Sie im Client mit dem folgenden Befehl eine Datei
server_ca.pem:sudo vim /tmp/server_ca.pem
Laden Sie die Zertifizierungsstellen herunter und fügen Sie sie in die
server_ca.pemDatei ein.Sie müssen den Text der Zertifizierungsstellen korrekt formatieren. Die Datei
server_ca.pemkann so aussehen:-----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-----
Folgen Sie diesen Richtlinien, um den Text in der Datei korrekt 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. Vor keiner Zeile der Zertifizierungsstellen dürfen Leerzeichen stehen.
Fügen Sie jede Zertifizierungsstelle in einer neuen Zeile hinzu. Zwischen den Zertifizierungsstellen dürfen keine Leerzeilen sein.
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 von einem Drittanbieter 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. Beispiele für das Herstellen einer Verbindung zu einer Instanz mit aktiviertem oder deaktiviertem Clustermodus in Memorystore for Valkey, für die die Verschlüsselung während der Übertragung aktiviert ist, finden Sie unter Verbindung zu einer Instanz mit aktiviertem Clustermodus herstellen und Verbindung zu einer Instanz mit deaktiviertem Clustermodus herstellen.
Zertifizierungsstellenrotation verwalten
Wir empfehlen, alle herunterladbaren Zertifizierungsstellenzertifikate auf den Clients zu installieren, die auf die Instanz zugreifen.
Wenn Sie die neuesten Zertifizierungsstellenzertifikate 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 Zertifizierungsstellen 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 zu einer Instanz, die die Verschlüsselung während der Übertragung verwendet, finden Sie unter Codebeispiel für die IAM-Authentifizierung und die Verschlüsselung während der Übertragung.