ElastiCache Verschlüsselung bei der Übertragung () TLS - Amazon ElastiCache

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

ElastiCache Verschlüsselung bei der Übertragung () TLS

Um Ihre Daten zu schützen, EC2 bieten Amazon ElastiCache und Amazon Mechanismen zum Schutz vor unbefugtem Zugriff auf Ihre Daten auf dem Server. Durch die Bereitstellung von Verschlüsselungsfunktionen während der Übertragung ElastiCache erhalten Sie ein Tool, mit dem Sie Ihre Daten schützen können, wenn sie von einem Ort zum anderen übertragen werden.

In allen OSS serverlosen Caches von Valkey oder Redis ist die Verschlüsselung bei der Übertragung aktiviert. Bei selbst entworfenen Clustern können Sie die Verschlüsselung während der Übertragung für eine Replikationsgruppe aktivieren, indem Sie den Parameter auf true (CLI:--transit-encryption-enabled) setzenTransitEncryptionEnabled, wenn Sie die Replikationsgruppe erstellen. Sie können dies unabhängig davon tun, ob Sie die Replikationsgruppe mit dem AWS Management Console, dem oder dem AWS CLI erstellen. ElastiCache API

Für alle Serverless-Caches ist die Verschlüsselung während der Übertragung aktiviert. Bei selbst entworfenen Clustern können Sie die Verschlüsselung während der Übertragung auf einem Cache-Cluster aktivieren, indem Sie den Parameter TransitEncryptionEnabled auf true (CLI:--transit-encryption-enabled) setzen, wenn Sie den Cache-Cluster mithilfe der Operation CreateCacheCluster (CLI:create-cache-cluster) erstellen.

Übersicht über die Verschlüsselung während der Übertragung

Die ElastiCache Amazon-Verschlüsselung bei der Übertragung ist eine Funktion, mit der Sie die Sicherheit Ihrer Daten an den anfälligsten Stellen erhöhen können — wenn sie von einem Ort zum anderen übertragen werden. Da für die Verschlüsselung und Entschlüsselung der Daten an den Endpunkten eine gewisse Verarbeitung erforderlich ist, kann die Aktivierung der Verschlüsselung während der Übertragung einige Performance-Einbußen zufolge haben. Sie sollten Benchmark-Tests Ihrer Daten mit und ohne Verschlüsselung während der Übertragung durchführen, um die Performance-Einbußen bei Ihren Anwendungsfällen zu bestimmen.

ElastiCache Die Verschlüsselung bei der Übertragung implementiert die folgenden Funktionen:

  • Verschlüsselte Clientverbindungen — Client-Verbindungen zu Cache-Knoten sind TLS verschlüsselt.

  • Verschlüsselte Serververbindungen – Daten, die zwischen Knoten in einem Cluster übertragen werden, sind verschlüsselt.

  • Serverauthentifizierung – Clients können die Verbindung zum richtigen Server authentifizieren.

  • Client-Authentifizierung — Mithilfe der Valkey- und OSS AUTH Redis-Funktion kann der Server die Clients authentifizieren.

Verschlüsselungsbedingungen bei der Übertragung (Valkey und Redis) OSS

Bei der Planung Ihrer selbst entworfenen Cluster-Implementierung sollten Sie die folgenden Einschränkungen für die Verschlüsselung während der ElastiCache Übertragung durch Amazon berücksichtigen:

  • Die Verschlüsselung während der Übertragung wird für Replikationsgruppen unterstützt, auf denen Valkey 7.2 und höher sowie die OSS Redis-Versionen 3.2.6, 4.0.10 und höher ausgeführt werden.

  • Das Ändern der Verschlüsselungseinstellung bei der Übertragung für einen vorhandenen Cluster wird für Replikationsgruppen unterstützt, auf denen Valkey 7.2 und höher sowie Redis Version 7 und höher ausgeführt wird. OSS

  • Die Verschlüsselung während der Übertragung wird nur für Replikationsgruppen unterstützt, die in einem Amazon VPC ausgeführt werden.

  • Die Verschlüsselung während der Übertragung wird für Replikationsgruppen, auf denen die folgenden Knotentypen ausgeführt werden, nicht unterstützt: M1, M2.

    Weitere Informationen finden Sie unter Unterstützte Knotentypen.

  • Verschlüsselung während der Übertragung wird durch die Festlegung des TransitEncryptionEnabled-Parameters auf true ausdrücklich aktiviert.

  • Stellen Sie sicher, dass Ihr Caching-Client TLS Konnektivität unterstützt und dass Sie sie in der Client-Konfiguration aktiviert haben.

  • Die Verwendung der alten Versionen TLS 1.0 und TLS 1.1 ist in allen AWS Regionen für ElastiCache Version 6 und höher veraltet. ElastiCache wird TLS 1.0 und 1.1 bis zum 8. Mai 2025 weiterhin unterstützen. Kunden müssen ihre Client-Software vor diesem Datum aktualisieren.

Verschlüsselungsbedingungen bei der Übertragung (Memcached)

Bei der Planung Ihrer selbst entworfenen Cluster-Implementierung sollten Sie die folgenden Einschränkungen für die Verschlüsselung während der ElastiCache Übertragung durch Amazon berücksichtigen:

  • Verschlüsselung während der Übertragung wird auf Clustern mit der Memcached-Version 1.6.12 und höher unterstützt.

  • Die Verschlüsselung bei der Übertragung unterstützt die Versionen 1.2 und 1.3 von Transport Layer Security (TLS).

  • Die Verschlüsselung während der Übertragung wird nur für Cluster unterstützt, die in einem Amazon VPC ausgeführt werden.

  • Die Verschlüsselung während der Übertragung wird für Replikationsgruppen, auf denen die folgenden Knotentypen ausgeführt werden, nicht unterstützt: M1, M2, M3, R3, T2.

    Weitere Informationen finden Sie unter Unterstützte Knotentypen.

  • Verschlüsselung während der Übertragung wird durch die Festlegung des TransitEncryptionEnabled-Parameters auf true ausdrücklich aktiviert.

  • Sie können die Verschlüsselung während der Übertragung nur für einen Cluster aktivieren, wenn Sie den Cluster erstellen. Sie können die Verschlüsselung während der Übertragung nicht aktivieren und deaktivieren, indem Sie einen Cluster ändern.

  • Stellen Sie sicher, dass Ihr Caching-Client TLS Konnektivität unterstützt und dass Sie sie in der Client-Konfiguration aktiviert haben.

Bewährte Methoden für die Verschlüsselung während der Übertragung

  • Aufgrund der für die Verschlüsselung und Entschlüsselung der Daten an den Endpunkten erforderliche Verarbeitung, kann die Implementierung der Verschlüsselung während der Übertragung eine Verringerung der Performance zufolge haben. Führen Sie einen Benchmark-Test der Verschlüsselung während der Übertragung im Vergleich zu keiner Verschlüsselung Ihrer eigenen Daten durch, um deren Auswirkungen auf die Performance Ihrer Implementierung zu ermitteln.

  • Da das Erstellen neuer Verbindungen teuer sein kann, können Sie die Auswirkungen der Verschlüsselung bei der Übertragung auf die Leistung verringern, indem Sie Ihre Verbindungen beibehalten. TLS

Weitere Valkey- und Redis-Optionen OSS

Weitere Informationen zu den für Valkey und Redis verfügbaren Optionen finden Sie unter den OSS folgenden Links.

Aktivierung der Verschlüsselung bei der Übertragung für Memcached

Treffen Sie zum Aktivieren der Verschlüsselung während der Übertragung beim Erstellen eines Memcached-Clusters mit der AWS -Managementkonsole die folgende Auswahl:

  • Wählen Sie Memcached als Ihre Engine.

  • Wählen Sie die Engine-Version 1.6.12 und höher.

  • Wählen Sie unter Encryption in transit (Verschlüsselung während der Übertragung) Enable (Aktivieren) aus.

Informationen zum step-by-step Vorgang finden Sie unter. Einen Cluster für Valkey oder Redis erstellen OSS

Mit Openssl (Memcached) wird eine Verbindung zu Knoten hergestellt, für die Verschlüsselung während der Übertragung aktiviert ist

Um auf Daten von ElastiCache (Memcached-) Knoten zuzugreifen, für die Verschlüsselung bei der Übertragung aktiviert ist, müssen Sie Clients verwenden, die mit Secure Socket Layer () arbeiten. SSL Sie können Openssl s_client auch auf Amazon Linux und Amazon Linux 2 verwenden.

Verwenden Sie Openssl s_client, um sich mit einem Memcached-Cluster zu verbinden, der mit Verschlüsselung während der Übertragung auf Amazon Linux 2 oder Amazon Linux aktiviert ist, wie folgt:

/usr/bin/openssl s_client -connect memcached-node-endpoint:memcached-port

Einen TLS Memcached-Client mit Java erstellen

Um einen Client im TLS Modus zu erstellen, gehen Sie wie folgt vor, um den Client mit dem entsprechenden zu initialisieren: SSLContext

import java.security.KeyStore; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; import net.spy.memcached.AddrUtil; import net.spy.memcached.ConnectionFactoryBuilder; import net.spy.memcached.MemcachedClient; public class TLSDemo { public static void main(String[] args) throws Exception { ConnectionFactoryBuilder connectionFactoryBuilder = new ConnectionFactoryBuilder(); // Build SSLContext TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init((KeyStore) null); SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, tmf.getTrustManagers(), null); // Create the client in TLS mode connectionFactoryBuilder.setSSLContext(sslContext); MemcachedClient client = new MemcachedClient(connectionFactoryBuilder.build(), AddrUtil.getAddresses("mycluster.fnjyzo.cfg.use1.cache.amazonaws.com:11211")); // Store a data item for an hour. client.set("theKey", 3600, "This is the data value"); } }

Einen TLS Memcached-Client erstellen mit PHP

Um einen Client im TLS Modus zu erstellen, gehen Sie wie folgt vor, um den Client mit dem entsprechenden zu initialisieren: SSLContext

<?php /** * Sample PHP code to show how to create a TLS Memcached client. In this example we * will use the Amazon ElastiCache Auto Descovery feature, but TLS can also be * used with a Static mode client. * See Using the ElastiCache Cluster Client for PHP (https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/AutoDiscovery.Using.ModifyApp.PHP.html) for more information * about Auto Discovery and persistent-id. */ /* Configuration endpoint to use to initialize memcached client. * this is only an example */ $server_endpoint = "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com"; /* Port for connecting to the cluster. * This is only an example */ $server_port = 11211; /* Initialize a persistent Memcached client and configure it with the Dynamic client mode */ $tls_client = new Memcached('persistent-id'); $tls_client->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE); /* Add the memcached's cluster server/s */ $tls_client->addServer($server_endpoint, $server_port); /* Configure the client to use TLS */ if(!$tls_client->setOption(Memcached::OPT_USE_TLS, 1)) { echo $tls_client->getLastErrorMessage(), "\n"; exit(1); } /* Set your TLS context configurations values. * See MemcachedTLSContextConfig in memcached-api.php for all configurations */ $tls_config = new MemcachedTLSContextConfig(); $tls_config->hostname = '*.mycluster.fnjyzo.use1.cache.amazonaws.com'; $tls_config->skip_cert_verify = false; $tls_config->skip_hostname_verify = false; /* Use the created TLS context configuration object to create OpenSSL's SSL_CTX and set it to your client. * Note: These TLS context configurations will be applied to all the servers connected to this client. */ $tls_client->createAndSetTLSContext((array)$tls_config); /* test the TLS connection with set-get scenario: */ /* store the data for 60 seconds in the cluster. * The client will decide which cache host will store this item. */ if($tls_client->set('key', 'value', 60)) { print "Successfully stored key\n"; } else { echo "Failed to set key: ", $tls_client->getLastErrorMessage(), "\n"; exit(1); } /* retrieve the key */ if ($tls_client->get('key') === 'value') { print "Successfully retrieved key\n"; } else { echo "Failed to get key: ", $tls_client->getLastErrorMessage(), "\n"; exit(1); }

Weitere Informationen zur Verwendung des PHP Clients finden Sie unterInstallieren des ElastiCache-Cluster-Clients-für-PHP.