Funktionsweise - Amazon ElastiCache (RedisOSS)

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.

Funktionsweise

Hier finden Sie einen Überblick über die wichtigsten Komponenten einer ElastiCache (Redis OSS-) Bereitstellung.

Cache- und Caching-Engines

Ein Cache ist ein speicherinterner Datenspeicher, den Sie zum Speichern zwischengespeicherter Daten verwenden können. In der Regel speichert Ihre Anwendung häufig aufgerufene Daten in einem Cache, um die Antwortzeiten zu optimieren. ElastiCache (Redis OSS) bietet zwei Bereitstellungsoptionen: Serverlose und selbst entworfene Cluster. Siehe Auswählen aus den Bereitstellungsoptionen

Anmerkung

Amazon ElastiCache arbeitet sowohl mit den Redis OSS- als auch mit den Memcached-Engines. Verwenden Sie das Handbuch für die relevante Engine. Wenn Sie sich nicht sicher sind, welche Engine Sie verwenden möchten, beachten Sie Vergleich der selbst entworfenen Caches von Memcached und Redis OSS in diesem Handbuch.

Wie funktioniert ElastiCache (Redis OSS)

ElastiCache (Redis OSS) Serverlos

ElastiCache (Redis OSS) Serverless ermöglicht es Ihnen, einen Cache zu erstellen, ohne sich Gedanken über Kapazitätsplanung, Hardwaremanagement oder Clusterdesign machen zu müssen. Sie geben einfach einen Namen für Ihren Cache an und Sie erhalten einen einzelnen Endpunkt, den Sie in Ihrem Redis OSS-Client konfigurieren können, um mit dem Zugriff auf Ihren Cache zu beginnen.

Anmerkung

ElastiCache (Redis OSS) Serverless führt Redis OSS im Clustermodus aus und ist nur mit Redis OSS-Clients kompatibel, die sowohl TLS als auch das Redis OSS-Clusterprotokoll unterstützen.

Wichtigste Vorteile

  • Keine Kapazitätsplanung: ElastiCache Serverless macht die Kapazitätsplanung überflüssig. ElastiCache Serverless überwacht kontinuierlich die Speicher-, Rechen- und Netzwerkbandbreitennutzung Ihres Caches und skaliert sowohl vertikal als auch horizontal. Dadurch kann ein Cache-Knoten an Größe zunehmen und gleichzeitig ein Aufskalierungsvorgang initiiert werden, um sicherzustellen, dass der Cache jederzeit skaliert werden kann, um Ihre Anwendungsanforderungen zu erfüllen.

  • Pay-per-use: Bei ElastiCache Serverless zahlen Sie für die im Cache gespeicherten Daten und die Rechenleistung, die von Ihrem Workload genutzt wird. Siehe Preisdimensionen.

  • Hochverfügbarkeit: ElastiCache Serverless repliziert Ihre Daten automatisch über mehrere Availability Zones (AZ) hinweg, um eine hohe Verfügbarkeit zu gewährleisten. Es überwacht automatisch die zugrunde liegenden Cache-Knoten und ersetzt sie bei Ausfällen. Es bietet ein SLA mit einer Verfügbarkeit von 99,99 % für jeden Cache.

  • Automatische Software-Upgrades: ElastiCache Serverless aktualisiert Ihren Cache automatisch auf die neueste Minor- und Patch-Softwareversion, ohne dass die Verfügbarkeit Ihrer Anwendung beeinträchtigt wird. Wenn eine neue Redis OSS-Hauptversion verfügbar ist, ElastiCache erhalten Sie eine Benachrichtigung.

  • Sicherheit: Serverless verschlüsselt Daten während der Übertragung und im Ruhezustand. Sie können einen vom Service verwalteten Schlüssel oder einen eigenen kundenverwalteten Schlüssel verwenden, um Daten im Ruhezustand zu verschlüsseln.

Das folgende Diagramm zeigt, wie ElastiCache Serverless funktioniert.

Ein Diagramm des ElastiCache serverlosen Cache-Betriebs, von den Availability Zones zur Kunden-VPC und dann zur Service-VPC.

Wenn Sie einen neuen serverlosen Cache erstellen, ElastiCache wird ein Virtual Private Cloud (VPC) -Endpunkt in den Subnetzen Ihrer Wahl in Ihrer VPC erstellt. Ihre Anwendung kann über diese VPC-Endpunkte eine Verbindung mit dem Cache herstellen.

Mit ElastiCache Serverless erhalten Sie einen einzigen DNS-Endpunkt, mit dem Ihre Anwendung eine Verbindung herstellt. Wenn Sie eine neue Verbindung zum Endpunkt anfordern, verarbeitet ElastiCache Serverless alle Cache-Verbindungen über eine Proxyschicht. Die Proxy-Schicht trägt zu einer weniger komplexen Client-Konfiguration bei, da der Client die Cluster-Topologie nicht erneut ermitteln muss, wenn Änderungen am zugrunde liegenden Cluster vorgenommen werden. Die Proxy-Schicht besteht aus einer Reihe von Proxy-Knoten, die Verbindungen mithilfe eines Network Load Balancer verarbeiten. Wenn Ihre Anwendung eine neue Cache-Verbindung erstellt, wird die Anfrage vom Network Load Balancer an einen Proxy-Knoten gesendet. Führt Ihre Anwendung Cache-Befehle aus, dann führt der Proxy-Knoten, der mit Ihrer Anwendung verbunden ist, die Anfragen auf einem Cache-Knoten in Ihrem Cache aus. Die Proxy-Schicht abstrahiert die Cache-Cluster-Topologie und die Knoten von Ihrem Client. Dies ermöglicht ElastiCache einen intelligenten Lastenausgleich, die Skalierung und das Hinzufügen neuer Cache-Knoten, den Austausch von Cache-Knoten bei deren Ausfall und die Aktualisierung der Software auf den Cache-Knoten, ohne dass die Verfügbarkeit Ihrer Anwendung beeinträchtigt oder Verbindungen zurückgesetzt werden müssen.

Selbst entworfene Cluster ElastiCache

Sie können Ihre eigenen ElastiCache Cluster entwerfen, indem Sie eine Cache-Knotenfamilie, Größe und Anzahl der Knoten für Ihren Cluster auswählen. Durch das Entwerfen eines eigenen Clusters haben Sie eine genauere Kontrolle und können die Anzahl der Shards in Ihrem Cache und die Anzahl der Knoten (Primärknoten und Replikatknoten) in jedem Shard auswählen. Sie können wählen, ob Sie Redis OSS im Clustermodus betreiben möchten, indem Sie einen Cluster mit mehreren Shards erstellen, oder im Nicht-Cluster-Modus mit einem einzigen Shard.

Wichtigste Vorteile

  • Entwerfen Sie Ihren eigenen Cluster: Mit können Sie Ihren eigenen Cluster entwerfen und wählen ElastiCache, wo Sie Ihre Cache-Knoten platzieren möchten. Wenn Sie beispielsweise über eine Anwendung verfügen, bei der es um einen Kompromiss zwischen hoher Verfügbarkeit und niedriger Latenz geht, können Sie sich dafür entscheiden, Ihre Cache-Knoten in einer einzigen AZ bereitzustellen. Alternativ können Sie Ihren Cluster mit Knoten in mehreren AZs entwerfen, um eine hohe Verfügbarkeit zu erreichen.

  • Genauere Kontrolle: Wenn Sie einen eigenen Cluster entwerfen, haben Sie mehr Kontrolle über die Optimierung der Einstellungen in Ihrem Cache. Sie können beispielsweise Redis OSS-spezifische Parameter verwenden, um die Cache-Engine zu konfigurieren.

  • Vertikales und horizontales Skalieren: Sie können Ihren Cluster wahlweise manuell skalieren, indem Sie die Größe des Cache-Knotens bei Bedarf erhöhen oder verringern. Sie können auch horizontal skalieren, indem Sie neue Shards oder weitere Replikate zu Ihren Shards hinzufügen. Sie können auch die Auto-Scaling-Funktion verwenden, um die Skalierung auf der Grundlage eines Zeitplans oder die Skalierung auf der Grundlage von Metriken wie der CPU- und Speicherauslastung im Cache zu konfigurieren.

Das folgende Diagramm zeigt, wie ElastiCache selbst entworfene Cluster funktionieren.

Ein Diagramm des Betriebs ElastiCache selbst entworfener Cluster, von den Availability Zones über die Kunden-VPC bis hin zu den ElastiCache verwalteten Cache-Knoten.

Preisdimensionen

Sie können die Bereitstellung ElastiCache in zwei Bereitstellungsoptionen durchführen. Bei der Bereitstellung von ElastiCache Serverless zahlen Sie für die Nutzung der in GB-Stunden gespeicherten Daten und für die ElastiCache Datenverarbeitung in Processing Units (ECPU). Wenn Sie sich dafür entscheiden, Ihre eigenen Cluster ElastiCache (Redis OSS) zu entwerfen, zahlen Sie pro Stunde der Nutzung des Cache-Knotens. Weitere Informationen zu Preisen finden Sie hier.

Datenspeicher

Sie zahlen für in ElastiCache Serverless gespeicherte Daten, die in Gigabyte-Stunden (GB-Stunden) abgerechnet werden. ElastiCache Serverless überwacht kontinuierlich die in Ihrem Cache gespeicherten Daten, wobei mehrere Samplings pro Minute durchgeführt werden, und berechnet einen Stundendurchschnitt, um die Datenspeichernutzung des Caches in GB-Stunden zu ermitteln. Jeder ElastiCache serverlose Cache wird für mindestens 1 GB an gespeicherten Daten gemessen.

ElastiCache Verarbeitungseinheiten (eCPUs)

Sie zahlen für die Redis OSS-Anfragen, die Ihre Anwendung auf ElastiCache Serverless in ElastiCache Processing Units (eCPUs) ausführt, einer Einheit, die sowohl vCPU-Zeit als auch übertragene Daten beinhaltet.

  • Einfache Lese- und Schreibvorgänge erfordern 1 ECPU für jedes Kilobyte (KB) übertragener Daten. Beispielsweise verbraucht ein GET-Befehl, der bis zu 1 KB Daten überträgt, 1 ECPU. Eine SET-Anfrage, die 3,2 KB Daten überträgt, verbraucht 3,2 ECPUs.

  • Befehle, die zusätzliche vCPU-Zeit benötigen, verbrauchen proportional mehr ECPUs. Wenn Ihre Anwendung beispielsweise den Befehl Redis OSS HMGET verwendet und das Dreifache der vCPU-Zeit als ein einfacher SET/GET-Befehl verbraucht, verbraucht sie 3 eCPUs.

  • Befehle, die mehr vCPU-Zeit benötigen und mehr Daten übertragen, verbrauchen ECPUs, die auf der höheren der beiden Dimensionen basieren. Wenn Ihre Anwendung beispielsweise den Befehl HMGET verwendet, das Dreifache der vCPU-Zeit als ein einfacher SET/GET-Befehl benötigt und 3,2 KB Daten überträgt, verbraucht sie 3,2 ECPUs. Wenn sie dagegen nur 2 KB Daten überträgt, verbraucht sie 3 ECPUs.

ElastiCache Serverless gibt eine neue Metrik mit dem Namen aus, die Ihnen hilft, die von Ihrer Arbeitslast verbrauchten ElastiCacheProcessingUnits eCPUs zu verstehen.

Knotenstunden

Sie können Ihren eigenen Redis OSS-Cache-Cluster entwerfen, indem Sie die EC2-Knotenfamilie, Größe, Anzahl der Knoten und Platzierung in den Availability Zones auswählen. Wenn Sie Ihren Cluster selbst entwerfen, zahlen Sie pro Stunde für jeden Cache-Knoten.

ElastiCache (Redis OSS) Backups

Ein Backup ist eine point-in-time Kopie eines Redis OSS-Cache. ElastiCache ermöglicht es Ihnen, jederzeit eine Sicherungskopie Ihrer Daten zu erstellen oder automatische Backups einzurichten. Backups können zur Wiederherstellung eines bestehenden Caches oder zum Seeding eines neuen Caches verwendet werden. Backups umfassen alle Daten in einem Cache sowie zusätzlich einige Metadaten. Weitere Informationen finden Sie unter Snapshot und Wiederherstellung.