Verwaltung 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.

Verwaltung von DAX Clustern

In diesem Abschnitt werden einige der häufigsten Verwaltungsaufgaben für Amazon DynamoDB Accelerator (DAX) -Cluster behandelt.

IAMBerechtigungen für die Verwaltung eines Clusters DAX

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

Die folgende Diskussion konzentriert sich auf die Zugriffskontrolle für das DAX ManagementAPIs. Weitere Informationen finden Sie unter Amazon DynamoDB Accelerator in der Amazon DynamoDB API DynamoDB-Referenz.

Anmerkung

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

Für das DAX Management APIs können Sie API Aktionen nicht auf eine bestimmte Ressource beschränken. Das Resource -Element muss auf "*" gesetzt sein. Dies unterscheidet sich von API Vorgängen auf DAX Datenebene wie GetItemQuery, undScan. Datenebenenoperationen werden über den DAX Client verfügbar gemacht, und diese Operationen können auf bestimmte Ressourcen beschränkt werden.

Sehen 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" ] } ] }

Nehmen wir an, die Absicht dieser Richtlinie besteht darin, DAX API Management-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 DescribeClusters API Aufruf 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 oderQuery) an dieses sendetDAXCluster01, sind diese Aufrufe erfolgreich. Das liegt daran, dass die DAX Datenebene auf bestimmte Ressourcen beschränkt werden APIs kann (in diesem FallDAXCluster01).

Wenn Sie eine einzige umfassende IAM Richtlinie verfassen möchten, die sowohl die DAX Verwaltungs APIs - als auch die DAX Datenebene umfasstAPIs, empfehlen wir Ihnen, zwei unterschiedliche Aussagen in das Richtliniendokument aufzunehmen. Eine dieser Aussagen sollte sich auf die DAX Datenebene beziehenAPIs, während sich die andere Aussage auf das DAX Management APIs bezieht.

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": [ "*" ] } ] }

Skalierung eines DAX Clusters

Für die Skalierung eines DAX Clusters stehen zwei Optionen zur Verfügung. 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 läuft.

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 gleichen Typ sein.)

Wenn Ihr DAX Cluster eine hohe Rate an Schreibvorgängen oder Cache-Fehlschlägen 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.

Sie können die Knotentypen in einem laufenden DAX Cluster 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 einen neuen DAX Cluster mit dem AWS Management Console, AWS CloudFormation AWS CLI, dem oder dem erstellen AWS SDK. (Verwenden Sie für den den --node-type Parameter AWS CLI, um den Knotentyp anzugeben.)

DAXCluster-Einstellungen anpassen

Wenn Sie einen DAX Cluster erstellen, werden die folgenden Standardeinstellungen verwendet:

  • Automatisches Löschen des Caches ist aktiviert, wenn die Gültigkeitsdauer (TTL) 5 Minuten beträgt

  • 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 Region auszuführen. AWS 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 TTL Cache-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 eintritt, DAX kann ich Sie über Amazon Simple Notification Service (AmazonSNS) benachrichtigen. Um Benachrichtigungen zu konfigurieren, wählen Sie eine Option aus der Auswahl Thema für SNS Benachrichtigungen aus. Sie können ein neues SNS Amazon-Thema erstellen oder ein vorhandenes Thema verwenden.

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

Einstellungen konfigurieren TTL

DAXverwaltet zwei Caches für Daten, die es aus DynamoDB liest:

  • 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 erhalten Sie unter Element-Cache und Abfrage-Cache.

Die Standardeinstellung TTL für jeden dieser Caches beträgt 5 Minuten. Wenn Sie unterschiedliche TTL Einstellungen verwenden möchten, können Sie einen DAX Cluster mit einer benutzerdefinierten Parametergruppe starten. Wählen Sie dazu in der Konsole im Navigationsbereich DAX| Parametergruppen aus.

Sie können diese Aufgaben auch mit der AWS CLI ausführen. Das folgende Beispiel zeigt, wie ein neuer DAX Cluster mithilfe einer benutzerdefinierten Parametergruppe gestartet wird. In diesem Beispiel TTL ist der Element-Cache auf 10 Minuten und der Abfrage-Cache TTL auf 3 Minuten festgelegt.

  1. Neue Parametergruppe erstellen.

    aws dax create-parameter-group \ --parameter-group-name custom-ttl
  2. Legen Sie den Element-Cache TTL auf 10 Minuten (600000 Millisekunden) fest.

    aws dax update-parameter-group \ --parameter-group-name custom-ttl \ --parameter-name-values "ParameterName=record-ttl-millis,ParameterValue=600000"
  3. Stellen Sie den Abfrage-Cache TTL auf 3 Minuten (180000 Millisekunden) ein.

    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 jetzt 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

Sie können eine Parametergruppe, die von einer laufenden DAX Instance verwendet wird, nicht ändern.

Tagging-Unterstützung 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 Labels zu Ressourcen in DynamoDB.

Verwenden Sie den AWS Management Console

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

  2. Wählen Sie im Navigationsbereich unter DAXClusters aus.

  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.

Verwenden Sie den 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. Das folgende Beispiel zeigt, wie Sie den ARN für einen Cluster mit dem Namen ermittelnMyDAXCluster.

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

In der Ausgabe ARN wird das etwa so aussehen: 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

DAXist in integriert AWS CloudTrail, sodass Sie DAX Clusteraktivitä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.

Einen DAX Cluster löschen

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

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

aws dax delete-cluster --cluster-name mydaxcluster