Amazon ElastiCache ist ein Web-Service, mit dem ein In-Memory-Cache auf einfache Weise bereitgestellt, betrieben und skaliert werden kann. Amazon ElastiCache verbessert die Leistung von Web-Anwendungen, da Sie Informationen aus einem schnellen, verwalteten In-Memory-Cache-System abrufen können und sich nicht nur auf langsamere Datenbanken auf Datenträgern verlassen müssen. Der Service kann die Verwaltung, die Überwachung und den Betrieb von In-Memory-Cache-Umgebungen vereinfachen und auslagern, sodass sich Ihre technischen Abteilungen voll auf die Anwendungsentwicklung konzentrieren können. Mit Amazon ElastiCache können Sie nicht nur den Ladevorgang und die Antwort auf Benutzeraktionen und -fragen beschleunigen, sondern auch die Kosten reduzieren, die mit der Skalierung von Web-Anwendungen in Verbindung stehen.
Amazon ElastiCache automatisiert alle gängigen Verwaltungsaufgaben, die in einer verteilten Cache-Umgebung anfallen. Mit Amazon ElastiCache können Sie Ihrer Anwendungsarchitektur in nur wenigen Minuten eine Caching-Schicht hinzufügen. Einige wenige Klicks in der AWS Management Console genügen. Sobald ein Cache-Cluster bereitgestellt ist, erkennt und ersetzt Amazon ElastiCache automatisch fehlerhafte Cache-Knoten. In diesem ausfallsicheren System besteht ein geringeres Risiko von Datenbanküberlastungen, die zu langsameren Ladezeiten für Websites und Anwendungen führen. Durch die Integration mit Amazon CloudWatch bietet Amazon ElastiCache einen besseren Einblick in wichtige Leistungsmetriken Ihrer Cache-Knoten. Amazon ElastiCache ist mit dem Protokoll von Memcached kompatibel, einem weitverbreiteten Cache-System zum Speichern von Objekten im Arbeitsspeicher. Auf diese Weise können Sie Code, Anwendungen und gängige Tools, die Sie in den vorhandenen Memcached-Umgebungen nutzen, reibungslos auch mit dem Service nutzen. Wie bei allen Amazon Web Services fallen keine Vorabkosten an, und Sie zahlen nur für die Ressourcen, die Sie tatsächlich nutzen.
Das In-Memory-Caching von Amazon ElastiCache kann Latenz und Durchsatz für viele Anwendungen mit leseintensiven Arbeitslasten (z. B. soziale Netzwerke, Gaming, gemeinsame Mediennutzung und Frageportale) oder mit rechenintensiven Arbeitslasten (z. B. Empfehlungs-Engines) maßgeblich verbessern. Das In-Memory-Caching verbessert die Anwendungsleistung, da wichtige Daten im Arbeitsspeicher abgelegt und mit geringer Latenz abgerufen werden können. Beispielsweise können die Ergebnisse von E/A-intensiven Datenbankabfragen oder die Ergebnisse von rechenintensiven Berechnungen im Cache zwischengespeichert werden.
Ein Cache-Knoten ist der kleinste Baublock in einer Amazon ElastiCache-Bereitstellung, ein RAM-Bereich fester Größe, der sicher ins Netzwerk eingebunden ist. Jeder Cache-Knoten führt eine Instance der Memcached-Software aus und hat einen eigenen DNS-Namen und Port. Es werden mehrere Arten von Cache-Knoten unterstützt, jeweils mit unterschiedlicher Menge an zugehörigem Speicher.
In einem Cache-Cluster sind Cache-Knoten zusammengestellt, die jeweils eine Instance des Memcached-Service ausführen. Die meisten Ihrer Vorgänge werden auf der Ebene des Cache-Clusters ausgeführt. Alle Cache-Knoten in einem Cache-Cluster gehören demselben Knotentyp an und haben dieselben Einstellungen für Parameter und Sicherheitsgruppen.
Wenn Sie sich noch nicht bei Amazon ElastiCache angemeldet haben, klicken Sie in der Detailseite von Amazon ElastiCache auf die Schaltfläche ''Jetzt anmelden'', und führen Sie den Anmeldeprozess aus. Hierfür ist ein Amazon-Web-Services-Konto erforderlich. Wenn Sie noch kein Konto haben, werden Sie bei der Anmeldung bei Amazon ElastiCache aufgefordert, ein Konto zu erstellen. Lesen Sie nach der Anmeldung bei ElastiCache die Dokumentation zu Amazon ElastiCache durch, die das Handbuch Erste Schritte enthält.
Wenn Sie sich mit Amazon ElastiCache vertraut gemacht haben, können Sie in wenigen Minuten ein Cache-Cluster starten. Verwenden Sie die AWS Management Console oder die Amazon ElastiCache-APIs.
Sobald Ihr Cluster verfügbar ist, können Sie die Endpunkte der Cache-Knoten über die folgenden Schritte auf der AWS Management Console abrufen.
Alternativ können Sie die Liste der Endpunkte mit der DescribeCacheClusters-API abrufen.
Konfigurieren Sie dann die von Ihren bevorzugten Memcached-Clients verwendete Konfigurationsdatei für Memcached mit dieser Endpunktliste, und fügen Sie in der bevorzugten Programmiersprache Daten in Ihre ElastiCache-Knoten ein, oder entfernen Sie Daten aus dem Knoten. Um für Ihre Cache-Knoten Netzwerkanfragen zu ermöglichen, müssen Sie den Zugriff autorisieren. Eine detaillierte Beschreibung der ersten Schritte finden Sie im Handbuch ''Erste Schritte''.
Die Protokolle von Amazon ElastiCache und Memcached sind kompatibel. Daher können Sie Standardvorgänge von Memcached wie get, set, incr und decr auf die gleiche Weise verwenden, wie in den vorhandenen Memcached-Bereitstellungen. Amazon ElastiCache unterstützt Text und binäre Protokolle. Darüber hinaus unterstützt es die meisten Standardstatistikergebnisse, die über CloudWatch auch als Diagramme angezeigt werden können. Daher können Sie auf Amazon ElastiCache umsteigen, ohne Ihre Anwendungen neu kompilieren oder neu verknüpfen zu müssen. Die verwendeten Bibliotheken werden weiterhin funktionieren. Um die Cache-Server zu konfigurieren, auf die Ihre Anwendung zugreift, müssen Sie lediglich die Konfigurationsdatei Ihrer Anwendung für Memcached aktualisieren und die von uns bereitgestellten Endpunkte der Server (Cache-Knoten) aufnehmen. Eine Liste der Endpunkte erhalten Sie, indem Sie in der AWS Management Console die Option "Copy Node Endpoints" (Knotenendpunkte kopieren) wählen oder die DescribeCacheClusters-API verwenden. Wie bei jeder Migration werden umfangreiche Tests der neuen Amazon ElastiCache-Bereitstellung empfohlen, bevor Sie endgültig von der aktuellen Lösung wechseln.
Beachten Sie, dass Amazon ElastiCache im Moment nur den Zugriff aus dem Amazon EC2-Netzwerk unterstützt. Um also diesen Service verwenden zu können, müssen sich Ihre Anwendungs-Server in Amazon EC2 befinden.
Mit den DNS-Einträgen ermöglicht Amazon ElastiCache Clientanwendungen die Suche nach Cache-Servern (Cache-Knoten). Der DNS-Name für einen Cache-Knoten bleibt konstant, die IP-Adresse kann sich jedoch im Laufe der Zeit ändern, beispielsweise, wenn Cache-Knoten nach einem Ausfall automatisch ersetzt werden. Empfehlungen zur Vorgehensweise beim Ausfall von Cache-Knoten finden Sie in den Häufig gestellten Fragen.
Im Aktualisierungsfenster von Amazon ElastiCache können Sie steuern, wann das angeforderte oder erforderliche Software-Patching stattfindet. Wenn ein "Wartungsereignis" für eine bestimmte Woche angesetzt ist, wird es innerhalb des von Ihnen festgelegten, 60-minütigen Wartungsfensters begonnen und abgeschlossen.
Wenn eine Software-Aktualisierung eingeplant ist, kann es zu einem temporären Ausfall Ihrer Cache-Knoten kommen. Weitere Informationen hierzu finden Sie unter Versions-Management für die Cache Engine. Das Patching kann auf Anforderung von Benutzern (beispielsweise ein Upgrade der Cache-Software) oder im Bedarfsfall (beispielsweise bei erkannten Sicherheitslücken im System oder in der Caching-Software) ausgeführt werden. Software-Patching wird in unregelmäßigen Abständen (in der Regel einmal alle paar Monate) ausgeführt und dauert meist nur einen Bruchteil Ihres Aktualisierungsfensters. Falls Sie bei der Erstellung Ihres Cache-Clusters kein bevorzugtes wöchentliches Aktualisierungsfenster festlegen, wird ein Standardwert von 60 Minuten zugewiesen. Den Zeitpunkt der Aktualisierungen können Sie in der DB Instance in der AWS Management Console oder mit der ModifyCacheCluster-API anpassen. Sie haben die Möglichkeit, für die einzelnen Cache-Cluster unterschiedliche bevorzugte Aktualisierungsfenster anzugeben.Sie zahlen nur für das, was Sie auch tatsächlich nutzen. Dabei fallen keine Mindestgebühren an. Die Gebühren werden pro verbrauchter Cache-Knotenstunde der einzelnen Knotentypen berechnet. Angefangene Knotenstunden werden als volle Stunden in Rechnung gestellt. Es entstehen keine Kosten durch den Datentransfer zwischen Amazon EC2 und Amazon ElastiCache innerhalb der gleichen Availability Zone. Bei Datenübertragungen zwischen Amazon EC2 Instances und einem Amazon ElastiCache-Knoten aus verschiedenen Availability Zones derselben Region werden die Standardgebühren für regionalen Datenverkehr erhobenen. Es wird jedoch nur die Datenübertragung in die und aus der Amazon EC2 Instance berechnet. Es werden keine Amazon ElastiCache-Datenübertragungsgebühren für ein- oder ausgehenden Datenverkehr der Amazon ElastiCache Node selber erhoben. Weitere Informationen finden Sie auf der Seite Preise.
Die Fakturierung für einen Cache-Knoten beginnt, sobald der Cache-Knoten verfügbar ist. Sie läuft so lange weiter, bis der Cache-Knoten beendet wird. Dies kann auch beim Löschen sein.
Nutzungsstunden für Knoten werden immer fakturiert, wenn Ihre Cache-Knoten im Status "Verfügbar" ausgeführt werden. Wenn für Ihren Cache-Knoten keine weiteren Gebühren entstehen sollen, müssen Sie ihn beenden, damit keine weiteren Knotenstunden berechnet werden.
Falls nicht anders bezeichnet, gelten unsere Preise zuzüglich allfälliger Steuern und Abgaben, darunter MwSt. und Umsatzsteuer.
Mit Reserved Cache Nodes können Sie gegen eine einmalige Vorauszahlung eine ein- oder dreijährige Reservierung zur Ausführung Ihres Cache-Knoten in einer bestimmten Region tätigen und erhalten einen erheblichen Rabatt auf die laufenden stündlichen Nutzungsgebühren. Es gibt drei Reserved Cache-Knotentypen (Reserved Cache-Knoten für geringe, mittlere und hohe Auslastung), die Ihnen die Möglichkeit bieten, den Betrag für die Vorabzahlung und die Gebühren pro Stunde gegeneinander abzuwägen.
Funktionell sind Reserved Cache Nodes und On-Demand Cache Nodes absolut identisch. Der einzige Unterschied besteht in der Abrechnung Ihrer Cache-Knoten. Bei Reserved Cache Nodes tätigen Sie eine einmalige Vorauszahlung und sichern sich damit für die Dauer des Nutzungszeitraums eine niedrigere stündliche Nutzungsgebühr (verglichen mit On-Demand Cache Nodes).
Sie können die Option "Purchase Reserved Cache Nodes" in der AWS Management Console verwenden. Alternativ können Sie mit den API-Tools die verfügbaren Reservierungen zum Kauf mit der API-Methode "DescribeReservedCacheNodesOfferings" auflisten und dann eine Cache-Knoten-Reservierung kaufen, indem Sie die Methode "PurchaseReservedCacheNodesOffering" aufrufen.
Das Erstellen eines Reserved Cache Node unterscheidet sich nicht vom Starten eines On-Demand Cache Node. Sie geben lediglich die Cache-Knoten-Klasse und -Region an, für die Sie die Reservierung vornehmen möchten. Nach erfolgtem Erwerb der Reservierung erhalten Sie von Amazon ElastiCache den entsprechenden reduzierten Stundentarif für den neuen Cache-Knoten.
Preisänderungen für Reserved Cache Nodes werden aktiviert, sobald Ihre Anfrage während der Zahlungsautorisierung eingegangen ist. Sie können den Status Ihrer Reservierung auf der Seite zu den AWS-Kontoaktivitäten oder über den API-Befehl "DescribeReservedCacheNodes" verfolgen. Falls die einmalige Zahlung nicht erfolgreich bis zur nächsten Abrechnungsperiode autorisiert werden kann, wird der rabattierte Preis nicht übernommen.
Nach Ablauf Ihres Reservierungszeitraums gilt für Ihren Reserved Cache Node wieder der entsprechende On-Demand-Stundentarif Ihrer Cache-Knoten-Klasse und -Region.
Amazon ElastiCache unterstützt Cache-Knoten der folgenden Speichertypen:
Für jeden der oben genannten Knoten-Typen ist angegeben, wie viel Speicher für Memcached zur Verfügung steht, nachdem der Overhead durch die Amazon ElastiCache-Systemsoftware berücksichtigt wurde. Die Gesamtkapazität an Arbeitsspeicher in einem Cache-Cluster ist ein ganzzahliges Vielfaches des für den ausgewählten Cache-Knotentyp verfügbaren Speichers. Beispielsweise stellt ein Cache-Cluster, das aus zehn Cache-Knoten von jeweils 6 GB besteht, 60 GB Gesamtspeicher bereit.
Es gibt zwar keine präzise Antwort auf diese Frage, mit Amazon ElastiCache müssen Sie sich jedoch keine Gedanken darum machen, ob die Zahl der Cache-Knoten wirklich hundertprozent korrekt ist, da Sie Knoten zu einem späteren Zeitpunkt auf einfache Weise hinzufügen oder entfernen können.
Berücksichtigen Sie bei der Wahl Ihrer Ausgangskonfiguration die folgenden beiden sich wechselseitig bedingenden Aspekte:
Die erforderliche Speicherkapazität hängt von der Größe Ihres Datensets und den Zugriffsmustern Ihrer Anwendung ab. Sobald Sie grob wissen, wie viel Gesamtspeicher benötigt wird, teilen Sie, den Speicher in ausreichend Cache-Knoten ein, sodass Ihre Anwendung den Verlust von ein, zwei Cache-Knoten verkraften kann. So können Sie die Fehlertoleranz verbessern. Wenn Sie beispielsweise 14 GB benötigen, könnten Sie statt eines Knotens des Typs cache.m1.xlarge zwei Knoten des Typs cache.m1.large verwenden. Andere Systeme, beispielsweise Datenbanken, dürfen nicht überlastet werden, wenn die Trefferrate des Caches während der Fehlerwiederherstellung eines oder mehrerer Cache-Knoten zeitweilig reduziert wird. Weitere Informationen hierzu finden Sie im Handbuch Amazon ElastiCache User Guide.
Der Service erkennt den Ausfall des Cache-Knotens und reagiert mit den folgenden automatischen Schritten:
Wenn Sie keine VPC nutzen, können Sie mit Amazon ElastiCache den Zugriff auf Ihre Cache-Cluster über Cache-Sicherheitsgruppen steuern. Eine Cache Security Group kontrolliert wie eine Firewall den Netzwerkzugriff auf Ihr Cache-Cluster. Der Netzwerkzugriff auf Ihre Cache-Cluster ist standardmäßig deaktiviert. Wenn Ihre Anwendungen auf Ihren Cache-Cluster zugreifen sollen, müssen Sie den Zugriff von Hosts aus in spezifischen EC2-Sicherheitsgruppen explizit aktivieren. Dieser Vorgang wird als "Zutritt" bezeichnet.
Um den Netzwerkzugriff auf das Cache-Cluster zuzulassen, erstellen Sie eine Cache-Sicherheitsgruppe, und verknüpfen Sie die gewünschten EC2-Sicherheitsgruppen. Sie geben wiederum die zulässigen EC2-Instances an. Die Cache-Sicherheitsgruppe kann dem Cache-Cluster bei der Erstellung zugeordnet werden. Sie können jedoch auch die Option "Modify" (Bearbeiten) auf der AWS Management Console verwenden.
Beachten Sie, dass die Zugriffskontrolle auf Basis des IP-Bereichs gegenwärtig für Cache-Cluster nicht unterstützt wird. Alle Clients eines Cache-Clusters müssen sich im EC2-Netzwerk befinden und wie oben beschrieben über Sicherheitsgruppen autorisiert werden.
Wenn Sie eine VPC nutzen, finden Sie hier weitere Informationen.
Eine Cache-Sicherheitsgruppe fungiert wie eine Firewall zum Kontrollieren des Netzwerkzugriffs auf Ihren Amazon ElastiCache-Cluster, sofern die Bereitstellung nicht in einer Amazon Virtual Private Cloud (VPC) erfolgt ist. Weitere Details finden Sie hier.
Nein. Gegenwärtig müssen sich alle Clients eines ElastiCache-Clusters im Amazon EC2-Netzwerk befinden und wie hier beschrieben über Sicherheitsgruppen autorisiert werden.
Ja, EC2-Instances in einer VPC können auf Amazon ElastiCache zugreifen, wenn der ElastiCache-Cluster innerhalb der VPC erstellt wurde. Details zum Erstellen eines Amazon ElastiCache-Clusters in einer VPC finden Sie hier.
Mit Amazon VPC können Sie eine virtuelle Netzwerkumgebung in einem privaten, isolierten Bereich der Amazon Web Services (AWS)-Cloud erstellen. Hier haben Sie die vollständige Kontrolle über private IP-Adressbereiche, Subnetze, Routing-Tabellen und Netzwerk-Gateways. Mit Amazon VPC definieren Sie eine virtuelle Netzwerktopologie und passen die Netzwerkkonfiguration an Ihre Bedürfnisse an, so dass sie einem herkömmlichen IP-Netzwerk ähnelt, das sie in Ihrem eigenen Rechenzentrum betreiben könnten.
Eines der Szenarien, in denen es ggf. hilfreich ist, Amazon ElastiCache in einer VPC zu verwenden, ist die Ausführung einer öffentlich zugänglichen Webanwendung bei einer gleichzeitigen Nutzung nicht öffentlich zugänglicher Back-End-Server in einem privaten Subnetz. Sie können ein öffentlich zugängliches Subnetz für Ihre Webserver erstellen, das Zugang zum Internet hat, und Ihre Back-End-Infrastruktur in einem nicht öffentlich zugänglichen Subnetz ohne Internetzugriff einrichten. Ihre Back-End-Infrastruktur kann RDS DB-Instances und einen Amazon ElastiCache-Cluster zum Bereitstellen der Cache-Ebene umfassen. Weitere Informationen zu Amazon VPC erhalten Sie im Amazon Virtual Private Cloud User Guide.
Eine exemplarische Vorgehensweise zum Erstellen eines Amazon ElastiCache-Clusters in der VPC finden Sie im Amazon ElastiCache User Guide.
Es folgen die Voraussetzungen, die zum Erstellen eines Cache-Clusters in einer VPC erfüllt sein müssen:
Das Erstellen eines Amazon ElastiCache-Clusters in einer vorhandenen VPC entspricht dem bei einer neu erstellten VPC. Hier finden Sie weitere Details.
Auf Amazon ElastiCache-Knoten, die innerhalb einer VPC bereitgestellt werden, können in derselben VPC bereitgestellte EC2-Instances zugreifen. Wenn diese EC2-Instances in einem öffentlichen Subnetz mit zugeordneten Elastic IP-Adressen bereitgestellt werden, können Sie auf die EC2-Instances über das Internet zugreifen.
Auf Amazon ElastiCache-Knoten, die in einer VPC bereitgestellt wurden, kann grundsätzlich nicht über das Internet oder EC2-Instances außerhalb der VPC zugegriffen werden.
Es wird ausdrücklich empfohlen, dass Sie den DNS-Namen für die Verbindung mit Ihrem ElastiCache-Knoten verwenden, da sich die zugrunde liegende IP-Adresse ändern kann (z. B bei Austausch eines Cache-Knotens).
Eine Cache-Subnetzgruppe ist eine Sammlung von Subnetzen, die Sie in einer VPC für Ihren Amazon ElastiCache-Cluster angeben müssen. Eine Cache-Subnetzgruppe wird mithilfe der Amazon ElastiCache-Konsole erstellt. Jede Cache-Subnetzgruppe benötigt mindestens ein Subnetz. Amazon ElastiCache wählt in der Cache-Subnetzgruppe ein Subnetz aus. Die IP-Adressen des ausgewählten Subnetzes werden anschließen den Endpunkten des Cache-Knotens zugeordnet. Darüber hinaus erstellt Amazon ElastiCache elastische Netzwerkschnittstellen, die Cache-Knoten mit den zuvor genannten IP-Adressen zugeordnet werden.
Es wird ausdrücklich empfohlen, dass Sie die DNS-Namen für die Verbindung mit Ihren Cache-Knoten verwenden, da sich die zugrunde liegenden IP-Adressen ändern können (z. B bei Austausch eines Cache-Knotens).
Einer Cache-Subnetzgruppe können nach Erstellen des ElastiCache-Clusters mehr Subnetze für vorhandene oder neue Availability Zones hinzugefügt werden. Das Ändern der Cache-Subnetzgruppe eines bereitgestellten Cache-Clusters ist derzeit jedoch nicht zulässig.
Die grundlegenden Funktionen von Amazon ElastiCache sind, ob bei Nutzung in der VPC oder nicht, dieselben. Amazon ElastiCache verwaltet die automatische Fehlererkennung, Wiederherstellung, Skalierung, AutoErkennung und Software-Patches unabhängig davon, ob Ihr ElastiCache-Cluster innerhalb oder außerhalb einer VPC bereitgestellt wird.
Zugleich ist auf einen Amazon ElastiCache-Cluster, ob inner- oder außerhalb einer VPC, grundsätzlich kein Zugriff über das Internet möglich. In einer VPC haben Knoten eines ElastiCache-Clusters (innerhalb eines von Ihnen definierten Subnetzes) nur eine private IP-Adresse. Außerhalb einer VPC kann der Zugriff auf den ElastiCache-Cluster mithilfe von Cache-Sicherheitsgruppen gesteuert werden, was hier beschrieben ist.
Nein, Sie können einen vorhandenen Amazon ElastiCache-Cluster nicht von außerhalb der VPC in eine VPC verschieben. Sie müssen innerhalb der VPC einen neuen Amazon ElastiCache-Cluster erstellen.
Derzeit wird eine direkte Migration eines ElastiCache-Clusters von innerhalb der VPC nach außerhalb nicht unterstützt. Sie müssen außerhalb der VPC einen neuen Amazon ElastiCache-Cluster erstellen.
Amazon ElastiCache ermöglicht bei Bereitstellungen ohne VPC das Steuern des Zugriffs auf Ihren Cache-Cluster und somit auf die Cache-Knoten mithilfe von Cache-Sicherheitsgruppen. Eine Cache-Sicherheitsgruppe fungiert wie eine Firewall zum Steuern des Netzwerkzugriffs auf Ihren Cache-Knoten. Der Netzwerkzugriff auf Ihre Cache-Knoten ist standardmäßig deaktiviert. Wenn Sie den Zugriff Ihrer Anwendungen auf Ihren Cache-Knoten zulassen möchten, können Sie Ihre Cache-Sicherheitsgruppe so einrichten, dass der Zugriff durch EC2-Instances mit bestimmten EC2-Sicherheitsgruppenmitgliedschaften oder IP-Bereichen erlaubt wird. Dieser Vorgang wird als "Zutritt" bezeichnet. Nach Konfiguration des Zutritts für eine Cache-Sicherheitsgruppe gelten für alle der betreffenden Cache-Sicherheitsgruppe zugeordneten Cache-Knoten dieselben Regeln. Cache-Sicherheitsgruppen können im Abschnitt "Cache Security Groups" der Amazon ElastiCache-Konsole oder mithilfe der Amazon ElastiCache-APIs konfiguriert werden.
In VPC-Bereitstellungen wird der Zugriff auf Ihre Cache-Knoten mithilfe der VPC-Sicherheitsgruppe und der Cache-Subnetzgruppe gesteuert. Die VPC-Sicherheitsgruppe ist die VPC-Entsprechung der Cache-Sicherheitsgruppe.
Sie müssen Routing-Tabellen und Netzwerk-ACLs in Ihrer VPC entsprechend ändern, um sicherzustellen, dass Ihre ElastiCache-Knoten für Ihre Client-Instances in der VPC erreichbar sind. Weitere Informationen finden Sie in der Amazon ElastiCache-Dokumentation.
Nein, Cache-Sicherheitsgruppen werden beim Betrieb in einer VPC nicht verwendet. Sie kommen stattdessen in Umgebungen ohne VPC zum Einsatz. Beim Erstellen eines Cache-Clusters in einer VPC müssen Sie VPC-Sicherheitsgruppen verwenden.
Nein, Sie können nur VPC-Sicherheitsgruppen zuordnen, die zur selben VPC wie Ihr Cache-Cluster gehören.
Ja, Cache-Knoten eines Amazon ElastiCache-Clusters können sich über mehrere Subnetze erstrecken, sofern die Subnetze zur selben Cache-Subnetzgruppe gehören, die zum Zeitpunkt der Erstellung dem ElastiCache-Cluster zugeordnet war. Darüber hinaus müssen sich alle Subnetze in derselben AZ befinden.
Eine Cache-Parametergruppe ist eine Art "Behälter" für die Werte der Engine-Konfiguration, der auf ein oder mehrere Cache-Cluster angewendet werden kann. Wenn Sie Cache-Cluster erstellen, ohne eine Cache-Parametergruppe anzugeben, wird die Cache-Parametergruppe verwendet, die als Standard festgelegt ist. Diese Standardgruppe enthält Engine-Standardwerte und Systemstandardwerte für Amazon ElastiCache, die für das ausgeführte Cache-Cluster optimiert sind. Wenn das Cache-Cluster jedoch mit den von Ihnen definierten Engine-Konfigurationswerten ausgeführt werden soll, erstellen Sie einfach eine neue Cache-Parametergruppe, erstellen Sie die betreffenden Parameter, und legen Sie fest, dass das Cache-Cluster die neue Cache-Parametergruppe verwendet. Nach der Zuordnung erhalten alle Cache-Cluster, die eine bestimmte Cache-Parametergruppe verwenden, alle Parameteraktualisierungen für diese Cache-Parametergruppe. Weitere Informationen zur Konfiguration von Cache-Parametergruppe finden Sie im Amazon ElastiCache User Guide.
Amazon ElastiCache wählt standardmäßig die optimalen Konfigurationsparameter für Ihr Cache-Cluster und berücksichtigt dabei den Speicher / die Rechenressourcenkapaziät des Knotentyps. Sie können die Standardeinstellung jedoch über die Konfigurationsverwaltungs-APIs ändern. Bitte beachten Sie, dass eine Änderung der empfohlenen Werte der Konfigurationsparameter unbeabsichtigte Folgen haben kann, die von einer herabgesetzten Leistung bis hin zu Systemzusammenbrüchen reichen können. Derartige Änderungen sollten daher nur von erfahrenen Benutzern vorgenommen werden, die bereit sind, diese Risiken in Kauf zu nehmen. Weitere Informationen zum Ändern von Parametern finden Sie im Amazon ElastiCache User Guide.
Informationen zu den Cache Parameter Groups und den entsprechenden Parametereinstellungen können mithilfe der AWS Management Console, der Amazon RDS-APIs oder mit den Befehlszeilen-Tools angezeigt werden.
Mit Amazon ElastiCache können Sie steuern, ob und wann die mit dem Memcached-Protokoll kompatible Software, die Ihrem Cache-Cluster zugrunde liegt, auf neue, von Amazon ElastiCache unterstützte Versionen aktualisiert werden soll. Damit bleiben Sie flexibel – Sie können die Kompatibilität mit spezifischen Memcached-Versionen sicherstellen, neue Versionen mit Ihrer Anwendung testen, bevor Sie sie in der Produktionsumgebung bereitstellen, und Versions-Upgrades nach Ihren eigenen Vorstellungen und Zeitplänen durchführen.
Sofern von Ihnen nicht anders festgelegt, erfolgt die Aktualisierung des Cache-Clusters auf neue, von Amazon ElastiCache unterstützte Nebenversionen von Memcached automatisch. Die Patches werden im Laufe des geplanten Wartungsfensters vorgenommen und vorher im Amazon ElastiCache-Forum angekündigt. Möchten Sie die automatische Versionsaktualisierung deaktivieren, stellen Sie das Feld "Auto Minor Version Upgrade" für Ihr Cache-Cluster auf "No" ein. Da Upgrades von Hauptversionen einige Kompatibilitätsrisiken mit sich bringen, werden sie nicht automatisch durchgeführt, sondern müssen von Ihnen initiiert werden.
Mit diesem Ansatz des Patchings der Cache-Software haben Sie die Kontrolle über die Versions-Upgrades, können aber gleichzeitig die mit dem Patching verbundenen Arbeitsschritte an Amazon ElastiCache weitergeben. Weitere Informationen über das Versionsmanagement erhalten Sie unter den folgenden, häufig gestellten Fragen oder im Amazon ElastiCache Nutzerhandbuch.
Die Funktion des Versions-Managements für die Cache Engine soll Ihnen möglichst viel Flexibilität in Bezug auf das Patching gewähren. Das Patching für Ihr Cache-Cluster kann jedoch auch automatisch erfolgen, wenn wir Sicherheitslücken im System oder in der Cache-Software erkennen.
Beim Erstellen eines neuen Cache-Clusters können Sie eine beliebige derzeit unterstützte Version (Haupt-/oder Nebenversion) angeben. Ist Funktionen zum automatischen Upgrade deaktiviert (die Option "Auto Minor Version Upgrade" ist auf "No" eingestellt), und Sie möchten das Upgrade auf eine unterstützte Haupt- oder Nebenversion manuell initiieren, verwenden Sie die Option "Modify" für Ihr Cache-Cluster. Geben Sie im Feld "Cache Engine Version" einfach die Version an, auf die aktualisiert werden soll. Das Upgrade wird dann entweder sofort (bei aktivierter Option "ApplyImmediately") oder im nächsten für Ihr Cache-Cluster geplanten Wartungsfenster ausgeführt.
Im Kontext von Memcached gilt die folgende Versionierung:
Memcached-Version = X.Y.Z
X = Hauptversion, Y = Release-Ebene, Z = Versionsnummer innerhalb einer Release-Ebene.
Für Amazon ElastiCache werden größere Änderungen am Programm oder der Release-Ebene in der Hauptversionsnummer reflektiert. Beispiel: Wechsel von 1.4.X auf 1.5.X. Bei einer kleineren Änderung wird lediglich die Versionsnummer innerhalb des Releases geändert. Beispiel: Wechsel von 1.4.5 auf 1.4.6.
Zum gegenwärtigen Zeitpunkt unterstützt Amazon ElastiCache die Memcached-Hauptversion 1.4. Für die Zukunft ist die Unterstützung weiterer Hauptversionen geplant.
Für die Zukunft planen wir die Unterstützung zusätzlicher Haupt- und Nebenversionen von Memcached für Amazon ElastiCache. Wie viele neue Versions-Releases in einem gegebenen Jahr unterstützt werden, hängt von Häufigkeit und Inhalt der Memcached-Versions-Releases sowie den Ergebnissen der Prüfungen ab, denen die neuen Versionen durch unsere Techniker unterzogen werden. Im Allgemeinen versuchen wir jedoch, neue Memcached-Versionen innerhalb von 3-5 Monaten nach ihrer allgemeinen Einführung zu unterstützen.
Im Hinblick auf veraltete Versionen gilt:
Amazon ElastiCache unterstützt das für Memcached verwendete Text- und Binärprotokoll ab der Memcached-Version 1.4.5.
Amazon ElastiCache eignet sich ideal als Front-End für Amazon Web Services wie Amazon RDS und Amazon SimpleDB. Es bietet extrem niedrige Latenz für hochleistungsfähige Anwendungen und kann einen Teil des Anforderungsvolumens auslagern, während diese Services eine langfristige Datenhaltbarkeit bereitstellen. Mit dem Service verbessern Sie auch die Anwendungsleistung in Verbindung mit Amazon EC2 und EMR.
Client-Bibliotheken von Memcached sind für viele, jede nicht für alle gängigen Programmiersprachen verfügbar. Die Liste der verfügbaren Clients können Sie der Projektseite von Memcached entnehmen. Klicken Sie hier. Wenn Sie bei der Verwendung von Amazon ElastiCache auf Probleme mit spezifischen Memcached-Clients treffen, wenden Sie sich über das Amazon ElastiCache Community-Forum an uns.
Amazon ElastiCache benötigt keine spezifischen Client-Bibliotheken und arbeitet mit vorhandenen Memcached-Client-Bibliotheken, ohne dass eine Neukompilierung oder Neuverknüpfung von Anwendungen (Memcached 1.4.5 oder höher) nötig ist. Zu den Beispielen gehören libMemcached (C) und darauf aufbauende Bibliotheken (beispielsweise PHP, Perl, Python), spyMemcached (Java) und fauna (Ruby).
AutoErkennung ist eine Funktion, mit deren Hilfe Entwickler sich Zeit und Mühen ersparen und die zugleich die Komplexität ihrer Anwendungen verringern. AutoErkennung ermöglicht Clients das automatische Auffinden von Cache-Knoten, wenn diese einem Amazon ElastiCache-Cluster hinzugefügt oder daraus entfernt werden. Bislang müssen Entwickler bei Änderungen von Cluster-Mitgliedern die Liste der Cache-Knotenendpunkte manuell aktualisieren. Je nach Architektur der Client-Anwendung ist zumeist eine Client-Initialisierung durch ein Herunterfahren der Anwendung und ihren Neustart erforderlich, was zu Ausfallzeiten führt. Dank AutoErkennung fällt dieser Aufwand weg.
Über AutoErkennung, die zudem mit dem Memcached-Protokoll abwärtskompatibel ist, stellt Amazon ElastiCache Clients Informationen zu Cache-Cluster-Mitgliedern bereit. Ein Client, der die zusätzlichen Informationen verarbeiten kann, konfiguriert sich selbst ohne jegliche Initialisierung für die Nutzung der neuesten Knoten eines Amazon ElastiCache-Clusters neu.
Ein Amazon ElastiCache-Cluster kann mit Knoten erstellt werden, die über benannte Endpunkte adressierbar sind. Über AutoErkennung erhält der Amazon ElastiCache-Cluster zudem einen eindeutigen Konfigurationsendpunkt, bei dem es sich um einen für die Nutzungsdauer des Clusters gültigen DNS-Eintrag handelt. Dieser DNS-Eintrag enthält die DNS-Namen der zum Cluster gehörenden Knoten. Amazon ElastiCache stellt sicher, dass der Konfigurationsendpunkt stets auf mindestens einen solchen Zielknoten verweist. Eine an den Zielknoten gerichtete Abfrage gibt anschließend Endpunkte aller Knoten des betreffenden Clusters zurück. Im Anschluss können Sie wie zuvor Verbindungen mit den Cluster-Knoten herstellen und Befehle des Memcached-Protokolls wie GET, SET, INCR und DECR aufrufen. Weitere Details finden Sie hier.
Zur Nutzung von AutoErkennung ist ein AutoErkennung-fähiger Client erforderlich. AutoErkennung-Clients für Java und PHP stehen in der Amazon ElastiCache-Konsole zum Herunterladen bereit. Bei Initialisierung bestimmt der Client automatisch die aktuellen Mitglieder des Amazon ElastiCache-Clusters mithilfe des Konfigurationsendpunkts.
Wenn Sie Änderungen am Cache-Cluster vornehmen, indem Sie Knoten hinzufügen oder entfernen oder einen ausgefallener Knoten austauschen, erkennt der AutoErkennung-Client automatisch die Änderungen, sodass Sie Ihre Clients nicht manuell initialisieren müssen.
Laden Sie zunächst den Amazon ElastiCache-Cluster-Client herunter, indem Sie in der Amazon ElastiCache-Konsole auf den Link "Download ElastiCache Cluster Client" klicken. Zum Herunterladen benötigen Sie ein Amazon ElastiCache-Konto. Sollten Sie noch keines haben, können Sie sich auf der Amazon ElastiCache-Seite mit den Details anmelden. Nachdem Sie den Client heruntergeladen haben, können Sie Ihren Amazon ElastiCache-Cluster über die Amazon ElastiCache-Konsole einrichten und aktivieren. Weitere Details erhalten Sie hier.
Nein, die vorhandenen Memcached-Clients unterstützen AutoErkennung nicht. Zur Nutzung von AutoErkennung muss ein Client einen Konfigurationsendpunkt verwenden und die Cluster-Knotenendpunkte bestimmen können. Sie müssen entweder den Amazon ElastiCache-Cluster-Client verwenden oder Ihren vorhandenen Memcached-Client mit dem Befehlssatz für AutoErkennung ergänzen.
Um AutoErkennung nutzen zu können, muss ein AutoErkennung-fähiger Client zum Herstellen einer Verbindung mit einem Amazon ElastiCache-Cluster verwendet werden.
Amazon ElastiCache unterstützt derzeit AutoErkennung-fähige Clients für Java und PHP. Diese können aus der Amazon ElastiCache-Konsole heruntergeladen werden. Aufbauend auf den verfügbaren beliebten Memcached-Clients können unsere Kunden Clients für andere Programmiersprachen erstellen.
Sie können eine beliebige Memcached-Client-Bibliothek wählen und Unterstützung für AutoErkennung hinzufügen. Wenn Sie möchten, dass Ihr eigener Client AutoErkennung unterstützt, konsultieren Sie die Dokumentation zum Befehlssatz für AutoErkennung.
Ja, als Nächstes kommt Ruby in Betracht, und anschließend folgen ggf. weitere Sprachen.
Ja, Amazon ElastiCache unterstützt weiter das Memcached-Protokoll, sodass Sie Ihre Clients nicht ändern müssen. Damit AutoErkennung genutzt werden kann, mussten wir allerdings die Memcached-Client-Funktionalität erweitern. Wenn Sie den Amazon ElastiCache-Cluster-Client nicht nutzen möchten, können Sie weiter Ihre eigenen Clients einsetzen oder Ihre eigene Client-Bibliothek so ändern, dass der Befehlssatz von AutoErkennung unterstützt wird.
Ja, mit demselben Amazon ElastiCache-Cluster kann gleichzeitig eine Verbindung über einen AutoErkennung-fähigen Client und den herkömmlichen Memcached-Client hergestellt werden. Amazon ElastiCache bleibt zu 100 % mit Memcached kompatibel.
Ja, Sie können die Nutzung von AutoErkennung jederzeit einstellen. Sie können AutoErkennung deaktivieren, indem Sie während der Initialisierung des Amazon ElastiCache-Cluster-Clients den Betriebsmodus angeben. Und da Amazon ElastiCache Memcached weiter zu 100 % unterstützt, können Sie jeden Memcached-kompatiblen Client wie zuvor nutzen.