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.
In diesem Abschnitt werden einige der gängigsten Verwaltungsaufgaben für Amazon-DynamoDB-Accelerator-(DAX)-Cluster erörtert.
Themen
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, wird dringend empfohlen, 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-Management APIs. 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:
-
IAM und Erstellen von DAX-Cluster: Erstellen eines DAX-Clusters.
-
IAM und DAX-Operationen auf Dateneben: DAX-Zugriffskontrolle.
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 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 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 das DAX-Management APIs als auch die DAX-Datenebene umfasst APIs, empfehlen wir Ihnen, zwei unterschiedliche Aussagen in das Richtliniendokument aufzunehmen. Eine dieser Aussagen sollte sich auf die DAX-Datenebene beziehen APIs, während sich die andere Aussage auf das DAX-Management bezieht. APIs
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
oderBatchGetItem
abgerufen wurden. -
Abfragecache – Für Ergebnismengen, die mit
Query
oderScan
abgerufen werden.
Weitere Informationen erhalten 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.
-
Neue Parametergruppe erstellen.
aws dax create-parameter-group \ --parameter-group-name custom-ttl
-
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"
-
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"
-
Ü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 Labels zu Ressourcen in DynamoDB.
Mit dem AWS Management Console
So verwalten Sie Markierungen für DAX-Cluster
Öffnen Sie die DynamoDB-Konsole unter. https://console.aws.amazon.com/dynamodb/
-
Klicken Sie im Navigationsbereich unter DAX auf Cluster.
-
Wählen Sie den Cluster aus, mit dem Sie arbeiten möchten.
-
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