Verwalten von DAX-Clustern - Amazon-DynamoDB

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.

Verwalten von DAX-Clustern

In diesem Abschnitt werden einige der gängigsten Verwaltungsaufgaben für Amazon-DynamoDB-Accelerator-(DAX)-Cluster erörtert.

IAM-Berechtigungen zum Verwalten eines DAX-Clusters

Wenn Sie einen DAX-Cluster mithilfe von AWS Management Console oder AWS Command Line Interface (AWS CLI) verwalten, empfehlen wir dringend, den Umfang der Aktionen einzuschränken, die Benutzer ausführen können. So können Sie die Risiken minimieren und der Regel der geringsten Rechte folgen.

Die folgende Diskussion beschäftigt sich mit der Zugriffssteuerung für die Verwaltungs-APIs von DAX. Weitere Informationen finden Sie unter Amazon DynamoDB Accelerator in Amazon-DynamoDB-API-Referenz.

Anmerkung

Ausführlichere Informationen zur Verwaltung von AWS Identity and Access Management (IAM-) Berechtigungen finden Sie im Folgenden:

Für die Verwaltungs-APIs von DAX können Sie den Umfang der API-Aktionen nicht auf eine bestimmte Ressource beschränken. Das Resource -Element muss auf "*" gesetzt sein. Dies ist anders als bei DAX-API-Operationen auf Datenebene, wie z. B. GetItem, Query und Scan. Operationen auf Datenebene werden über den DAX-Client bereitgestellt. Diese Operationen können auf bestimmte Ressourcen begrenzt werden.

Schauen Sie sich zur Veranschaulichung das folgende IAM-Richtliniendokument an.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dax:*" ], "Effect": "Allow", "Resource": [ "arn:aws:dax:us-west-2:123456789012:cache/DAXCluster01" ] } ] }

Angenommen, die Absicht dieser Richtlinie besteht darin, DAX-Verwaltungs-API-Aufrufe für den Cluster DAXCluster01 – und nur für diesen Cluster – zuzulassen.

Nehmen wir nun an, ein Benutzer gibt den folgenden AWS CLI Befehl aus.

aws dax describe-clusters

Dieser Befehl schlägt mit der Ausnahme Nicht autorisiert fehl, da der zugrunde liegende API-Aufruf DescribeClusters nicht auf einen bestimmten Cluster beschränkt werden kann. Die Richtlinie ist syntaktisch zwar gültig, dennoch schlägt der Befehl fehl, da das Resource-Element auf "*" festgelegt sein muss. Wenn der Benutzer jedoch ein Programm ausführt, das DAX-Datenebenenaufrufe (z. B. GetItem oder Query) an DAXCluster01 sendet, sind diese Aufrufe erfolgreich. Dies liegt daran, dass DAX-APIs auf Datenebene auf bestimmte Ressourcen (in diesem Fall DAXCluster01) beschränkt werden können.

Wenn Sie eine einzelne umfassende IAM-Richtlinie schreiben möchten, die sowohl DAX-Verwaltungs-APIs als auch DAX-APIs auf Datenebene umfasst, sollten Sie in das Richtliniendokument zwei unterschiedliche Anweisungen aufnehmen. Eine dieser Anweisungen sollte für die DAX-APIs auf Datenebene gelten und die andere für die Verwaltungs-APIs von DAX.

Es folgt eine Beispielrichtlinie, die diesen Ansatz veranschaulicht: Sie sehen, wie die DAXDataAPIs-Anweisung auf die Ressource DAXCluster01 begrenzt ist; die Ressource für DAXManagementAPIs muss aber "*" lauten. Die in den Anweisungen gezeigten Aktionen dienen lediglich der Veranschaulichung. Sie können sie nach Bedarf für Ihre Anwendung anpassen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DAXDataAPIs", "Action": [ "dax:GetItem", "dax:BatchGetItem", "dax:Query", "dax:Scan", "dax:PutItem", "dax:UpdateItem", "dax:DeleteItem", "dax:BatchWriteItem" ], "Effect": "Allow", "Resource": [ "arn:aws:dax:us-west-2:123456789012:cache/DAXCluster01" ]}, { "Sid": "DAXManagementAPIs", "Action": [ "dax:CreateParameterGroup", "dax:CreateSubnetGroup", "dax:DecreaseReplicationFactor", "dax:DeleteCluster", "dax:DeleteParameterGroup", "dax:DeleteSubnetGroup", "dax:DescribeClusters", "dax:DescribeDefaultParameters", "dax:DescribeEvents", "dax:DescribeParameterGroups", "dax:DescribeParameters", "dax:DescribeSubnetGroups", "dax:IncreaseReplicationFactor", "dax:ListTags", "dax:RebootNode", "dax:TagResource", "dax:UntagResource", "dax:UpdateCluster", "dax:UpdateParameterGroup", "dax:UpdateSubnetGroup" ], "Effect": "Allow", "Resource": [ "*" ] } ] }

Skalieren eines DAX-Clusters

Für die Skalierung eines DAX-Clusters gibt es zwei Möglichkeiten. Die erste Option ist die horizontale Skalierung, bei der Sie Read Replicas zum Cluster hinzufügen. Die zweite Option ist die vertikale Skalierung, bei der Sie verschiedene Knotentypen auswählen. Hinweise zur Auswahl einer geeigneten Clustergröße und des entsprechenden Knotentyps für Ihre Anwendung finden Sie unter DAX-Clustergrößenleitfaden.

Horizontale Skalierung

Mit horizontaler Skalierung können Sie den Durchsatz für Lesevorgänge verbessern, indem Sie dem Cluster weitere Read Replicas hinzufügen. Ein einzelner DAX-Cluster unterstützt bis zu 10 Read Replicas, und Sie können Replikate hinzufügen oder entfernen, während der Cluster ausgeführt wird.

Wenn Sie einen neuen Knoten hinzufügen, müssen Sie die Cache-Daten von einem Peer-Knoten synchronisieren. Daher hängt die Dauer des Hinzufügens von der Cachegröße und der Arbeitslast Ihrer Anwendung ab. Als bewährte Methode empfehlen wir, Ihren Cluster vorab zu skalieren, um zu erwartende Datenverkehrsspitzen zu bewältigen. Informationen zu Richtlinien zur richtigen Dimensionierung und Empfehlungen zur Überwachung finden Sie unter. DAX-Clustergrößenleitfaden

Die folgenden AWS CLI Beispiele zeigen, wie Sie die Anzahl der Knoten erhöhen oder verringern können. Das Argument --new-replication-factor gibt die Gesamtzahl der Knoten im Cluster an. Einer der Knoten ist der primäre Knoten und die anderen Knoten sind Read Replicas.

aws dax increase-replication-factor \ --cluster-name MyNewCluster \ --new-replication-factor 5
aws dax decrease-replication-factor \ --cluster-name MyNewCluster \ --new-replication-factor 3
Anmerkung

Wenn Sie den Replikationsfaktor ändern, wird der Clusterstatus in modifying geändert. Der Status ändert sich in available, wenn die Änderung abgeschlossen ist.

Vertikale Skalierung

Wenn Sie mit einer großen Datenmenge arbeiten, profitiert Ihre Anwendung möglicherweise von der Verwendung größerer Knotentypen. Größere Knoten können es dem Cluster ermöglichen, mehr Daten im Arbeitsspeicher zu speichern. Dies reduziert Cache-Fehlgriffe und verbessert die allgemeine Leistung der Anwendung. (Alle Knoten in einem DAX-Cluster müssen vom selben Typ sein.)

Wenn Ihr DAX-Cluster eine hohe Rate von Schreibvorgängen oder Cache-Fehlern aufweist, kann Ihre Anwendung auch von der Verwendung größerer Knotentypen profitieren. Schreibvorgänge und Cachefehler verbrauchen Ressourcen auf dem primären Knoten des Clusters. Daher kann die Verwendung größerer Knotentypen die Leistung des primären Knotens erhöhen und dadurch einen höheren Durchsatz für diese Arten von Vorgängen ermöglichen.

Auf einem DAX-Cluster, der gerade ausgeführt wird, können Sie die Knotentypen nicht ändern. Sie müssen stattdessen einen neuen Cluster mit dem gewünschten Knotentyp erstellen. Eine Liste der unterstützten Knotentypen finden Sie unter Knoten.

Sie können mit dem AWS Management Console, AWS CloudFormation, oder dem AWS SDK einen neuen DAX-Cluster erstellen. AWS CLI(Verwenden Sie für den den --node-type Parameter AWS CLI, um den Knotentyp anzugeben.)

Anpassen der DAX-Cluster-Einstellungen

Beim Erstellen eines DAX-Clusters werden die folgenden Standardeinstellungen verwendet:

  • Automatische Cache-Entfernung mit Time to Live (TTL) von 5 Minuten aktiviert

  • Keine Präferenz für Availability Zones

  • Keine Präferenz für Wartungsfenster

  • Benachrichtigungen deaktiviert

Für neue Cluster können Sie die Einstellungen zum Zeitpunkt der Erstellung anpassen. Um dies in der AWS Management Console auszuführen, deaktivieren Sie Use default settings (Standardeinstellungen verwenden), um die folgenden Einstellungen zu ändern:

  • Netzwerk und Sicherheit — Ermöglicht es Ihnen, einzelne DAX-Clusterknoten in verschiedenen Availability Zones innerhalb der aktuellen AWS Region auszuführen. Wenn Sie No Preference (Keine Präferenz) auswählen, werden die Knoten automatisch zwischen den Availability Zones verteilt.

  • Parametergruppe – Dies ist ein benannter Satz von Parametern, die auf jeden Knoten im Cluster angewendet werden. Sie können eine Parametergruppe verwenden, um das Cache-TTL-Verhalten anzugeben. Sie können den Wert eines beliebigen Parameters innerhalb einer Parametergruppe (mit Ausnahme der Standardparametergruppe default.dax.1.0) jederzeit ändern.

  • Wartungsfenster – Dies ist ein wöchentlicher Zeitraum, in dem die Software-Upgrades und -Patches auf die Knoten im Cluster angewendet werden. Sie können den Starttag, den Startzeitpunkt und die Dauer des Wartungsfensters auswählen. Wenn Sie No Preference (Keine Präferenz) auswählen, wird das Wartungsfenster zufällig aus einem 8-Stunden-Block pro Region ausgewählt. Weitere Informationen finden Sie unter Wartungsfenster.

Anmerkung

Parameter Group (Parametergruppe) und Maintenance Window (Wartungsfenster) können auch jederzeit auf einem laufenden Cluster geändert werden.

Wenn ein Wartungsereignis auftritt, kann DAX Sie über Amazon Simple Notification Service (Amazon SNS) benachrichtigen. Zum Konfigurieren von Benachrichtigungen wählen Sie eine Option aus der Auswahl Topic for SNS notification aus. Sie können ein neues Amazon-SNS-Thema erstellen oder ein vorhandenes Thema verwenden.

Weitere Informationen zum Erstellen und Abonnieren eines Amazon-SNS-Themas finden Sie unter Erste Schritte mit Amazon SNS im Amazon-Simple-Notification-Service-Entwicklerhandbuch.

Konfigurieren der TTL-Einstellungen

DAX verwaltet zwei Caches für Daten, die von DynamoDB gelesen werden:

  • Element-Cache – Für Elemente, die mit GetItem oder BatchGetItem abgerufen wurden.

  • Abfragecache – Für Ergebnismengen, die mit Query oder Scan abgerufen werden.

Weitere Informationen finden Sie unter Element-Cache und Abfrage-Cache.

Die TTL-Standardeinstellung für jeden dieser Caches beträgt 5 Minuten. Wenn Sie andere TTL-Einstellungen verwenden möchten, können Sie einen DAX-Cluster über eine benutzerdefinierte Parametergruppe starten. Um diesen Vorgang in der Konsole auszuführen, wählen Sie DAX | Parameter groups (DAX | Parametergruppen) im Navigationsbereich aus.

Sie können diese Aufgaben auch mit der AWS CLI ausführen. Das folgende Beispiel zeigt, wie Sie einen neuen DAX-Cluster mit einer benutzerdefinierten Parametergruppe starten. In diesem Beispiel wird die TTL-Einstellung für den Element-Cache auf 10 Minuten und für den Abfrage-Cache auf 3 Minuten festgelegt.

  1. Neue Parametergruppe erstellen.

    aws dax create-parameter-group \ --parameter-group-name custom-ttl
  2. Legen Sie die TTL-Einstellung für den Element-Cache auf 10 Minuten (600.000 Millisekunden) fest.

    aws dax update-parameter-group \ --parameter-group-name custom-ttl \ --parameter-name-values "ParameterName=record-ttl-millis,ParameterValue=600000"
  3. Legen Sie die TTL-Einstellung für den Abfrage-Cache auf 3 Minuten (180.000 Millisekunden) fest.

    aws dax update-parameter-group \ --parameter-group-name custom-ttl \ --parameter-name-values "ParameterName=query-ttl-millis,ParameterValue=180000"
  4. Überprüfen Sie, ob die Parameter korrekt festgelegt wurden.

    aws dax describe-parameters --parameter-group-name custom-ttl \ --query "Parameters[*].[ParameterName,Description,ParameterValue]"

Sie können nun einen neuen DAX-Cluster mit dieser Parametergruppe starten.

aws dax create-cluster \ --cluster-name MyNewCluster \ --node-type dax.r3.large \ --replication-factor 3 \ --iam-role-arn arn:aws:iam::123456789012:role/DAXServiceRole \ --parameter-group custom-ttl
Anmerkung

Eine Parametergruppe, die von einer laufenden DAX-Instance verwendet wird, kann nicht geändert werden.

Unterstützung von Markierungen für DAX

Viele AWS Dienste, einschließlich DynamoDB, unterstützen Tagging — die Fähigkeit, Ressourcen mit benutzerdefinierten Namen zu kennzeichnen. Sie können DAX-Clustern Tags zuweisen, sodass Sie schnell alle Ihre AWS Ressourcen mit demselben Tag identifizieren oder Ihre AWS Rechnungen anhand der von Ihnen zugewiesenen Tags kategorisieren können.

Weitere Informationen finden Sie unter Hinzufügen von Tags und Etiketten zu Ressourcen.

Mit dem AWS Management Console

So verwalten Sie Markierungen für DAX-Cluster
  1. Öffnen Sie die DynamoDB-Konsole unter https://console.aws.amazon.com/dynamodb/.

  2. Klicken Sie im Navigationsbereich unter DAX auf Cluster.

  3. Wählen Sie den Cluster aus, mit dem Sie arbeiten möchten.

  4. Wählen Sie die Registerkarte Tags aus. Sie können Ihre Tags hier hinzufügen, auflisten, bearbeiten oder löschen.

    Wenn Sie die gewünschten Einstellungen vorgenommen haben, wählen Sie Apply Changes aus.

Mit dem AWS CLI

Wenn Sie die AWS CLI zur Verwaltung von DAX-Cluster-Tags verwenden, müssen Sie zuerst den Amazon-Ressourcennamen (ARN) für den Cluster ermitteln. Im folgenden Beispiel wird gezeigt, wie Sie einen ARN für einen Cluster namens MyDAXCluster bestimmen.

aws dax describe-clusters \ --cluster-name MyDAXCluster \ --query "Clusters[*].ClusterArn"

In der Ausgabe sieht der ARN in etwa wie folgt aus: arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster

Im folgenden Beispiel wird gezeigt, wie Sie den Cluster markieren.

aws dax tag-resource \ --resource-name arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster \ --tags="Key=ClusterUsage,Value=prod"

So listen Sie alle Tags für einen Cluster auf.

aws dax list-tags \ --resource-name arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster

Um ein Tag zu entfernen, geben Sie den zugehörigen Schlüssel an.

aws dax untag-resource \ --resource-name arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster \ --tag-keys ClusterUsage

AWS CloudTrail Integration

DAX ist integriert AWS CloudTrail, sodass Sie DAX-Cluster-Aktivitäten überprüfen können. Mithilfe von CloudTrail Protokollen können Sie alle Änderungen anzeigen, die auf Clusterebene vorgenommen wurden. Sie können auch Änderungen an Cluster-Komponenten, z. B. Knoten, Subnetzgruppen und Parametergruppen, anzeigen. Weitere Informationen finden Sie unter Protokollieren von DynamoDB-Operationen unter Verwendung von AWS CloudTrail.

Löschen eines DAX-Clusters

Wenn Sie einen DAX-Cluster nicht mehr verwenden, sollten Sie ihn löschen, um zu verhindern, dass Ihnen nicht verwendete Ressourcen in Rechnung gestellt werden.

Sie können einen DAX-Cluster mithilfe der Konsole oder der AWS CLI löschen. Im Folgenden wird ein Beispiel gezeigt.

aws dax delete-cluster --cluster-name mydaxcluster