Erstellen eines DAX-Clusters mit AWS CLI
In diesem Abschnitt wird beschrieben, wie Sie einen Amazon-DynamoDB-Accelerator-(DAX)-Cluster mit der AWS Command Line Interface (AWS CLI) erstellen. Wenn Sie es noch nicht getan haben, müssen Sie AWS CLI installieren und konfigurieren. Eine Anleitung finden Sie unter den folgenden Themen im AWS Command Line Interface-Benutzerhandbuch:
Wichtig
Um DAX-Cluster mit AWS CLI zu verwalten, installieren Sie Version 1.11.110 oder höher.
In allen AWS CLI-Beispielen werden die Region us-west-2 und fiktive Konto-IDs verwendet.
Themen
Schritt 1: Erstellen einer IAM-Servicerolle für DAX zum Zugriff auf DynamoDB mithilfe von AWS CLI
Bevor Sie einen Amazon-DynamoDB-Accelerator-(DAX)-Cluster erstellen können, müssen Sie eine Servicerolle dafür erstellen. Eine Servicerolle ist eine AWS Identity and Access Management (IAM)-Rolle, die es einem AWS-Service erlaubt, in Ihrem Namen zu agieren. Die Servicerolle ermöglicht DAX den Zugriff auf Ihre DynamoDB-Tabellen, als würden Sie selbst darauf zugreifen.
In diesem Schritt erstellen Sie eine IAM-Richtlinie und fügen diese dann einer IAM-Rolle hinzu. So können Sie die Rolle einem DAX-Cluster zuweisen, sodass er DynamoDB-Operationen in Ihrem Namen durchführen kann.
So erstellen Sie eine IAM-Service-Rolle für DAX
-
Erstellen Sie eine Datei mit dem Namen
service-trust-relationship.jsonund dem folgenden Inhalt. -
Erstellen Sie die Servicerolle.
aws iam create-role \ --role-name DAXServiceRoleForDynamoDBAccess \ --assume-role-policy-document file://service-trust-relationship.json -
Erstellen Sie eine Datei mit dem Namen
service-role-policy.jsonund dem folgenden Inhalt.Ersetzen Sie
accountIDdurch Ihre AWS-Konto-ID. Ihre AWS-Konto-ID finden Sie, indem Sie Ihre Anmelde-ID in der rechten oberen Ecke der Konsole auswählen. Ihre AWS-Konto-ID wird im Dropdown-Menü angezeigt.Die
accountIDim Amazon-Ressourcenname (ARN) des Beispiels muss eine zwölfstellige Zahl sein. Verwenden Sie keine Bindestriche oder anderen Satzzeichen. -
Erstellen Sie eine IAM-Richtlinie für die Servicerolle:
aws iam create-policy \ --policy-name DAXServicePolicyForDynamoDBAccess \ --policy-document file://service-role-policy.jsonBeachten Sie in der Ausgabe den ARN für die Richtlinie, die Sie erstellt haben.
arn:aws:iam::123456789012:policy/DAXServicePolicyForDynamoDBAccess -
Fügen Sie die Richtlinie der Servicerolle an. Ersetzen Sie
arnmit dem tatsächlichen Rollen-ARN aus dem vorherigen Schritt.aws iam attach-role-policy \ --role-name DAXServiceRoleForDynamoDBAccess \ --policy-arnarn
Als Nächstes geben Sie eine Subnetzgruppe für Ihre Standard-VPC an. Eine Subnetzgruppe ist eine Sammlung eines oder mehrerer Subnetze innerhalb der VPC. Siehe Schritt 2: Erstellung einer Subnetzgruppe.
Schritt 2: Erstellung einer Subnetzgruppe
Gehen Sie folgendermaßen vor, um eine Subnetzgruppe für Ihren Amazon-DynamoDB-Accelerator-(DAX)-Cluster mit AWS Command Line Interface (AWS CLI) zu erstellen.
Anmerkung
Wenn Sie bereits eine Subnetzgruppe für die Standard-VPC erstellt haben, können Sie diesen Schritt überspringen.
DAX wurde für die Ausführung in einer Amazon-Virtual-Private-Cloud-Umgebung (Amazon VPC) entwickelt. Wenn Sie Ihr AWS-Konto nach dem 4. Dezember 2013 erstellt haben, verfügen Sie bereits in jeder AWS-Region über eine Standard-VPC. Weitere Informationen finden Sie unter Standard-VPC und Standard-Subnetze im Amazon-VPC-Benutzerhandbuch.
Anmerkung
Die VPC mit diesem DAX-Cluster kann andere Ressourcen und sogar VPC-Endpunkte für die anderen Services mit Ausnahme des VPC-Endpunkts für ElastiCache enthalten, was zu Fehlern bei den DAX-Clustervorgängen führen kann.
So erstellen Sie eine Subnetzgruppe
-
Um die ID des Standard-VPCs zu bestimmen, geben Sie den folgenden Befehl ein.
aws ec2 describe-vpcsBeachten Sie in der Ausgabe die ID der Standard-VPC, wie im folgenden Beispiel dargestellt.
vpc-12345678 -
Ermitteln Sie die mit der Standard-VPC verknüpften Subnetz-IDs. Ersetzen Sie
vpcIDmit der tatsächlichen VPC-ID, z. B.vpc-12345678.aws ec2 describe-subnets \ --filters "Name=vpc-id,Values=vpcID" \ --query "Subnets[*].SubnetId"Notieren Sie sich in der Ausgabe die Subnetz-IDs – z. B.
subnet-11111111. -
Erstellen Sie die Subnetzgruppe. Stellen Sie sicher, dass Sie mindestens eine Subnetz-ID im Parameter
--subnet-idsangeben.aws dax create-subnet-group \ --subnet-group-name my-subnet-group \ --subnet-idssubnet-11111111subnet-22222222subnet-33333333subnet-44444444
Informationen zum Erstellen des Clusters finden Sie unter Schritt 3: Erstellen eines DAX-Clusters mithilfe von AWS CLI.
Schritt 3: Erstellen eines DAX-Clusters mithilfe von AWS CLI
Gehen Sie folgendermaßen vor, um mit dem AWS Command Line Interface (AWS CLI) einen Amazon-DynamoDB-Accelerator-(DAX)-Cluster in Ihrer Standard-Amazon-VPC zu erstellen.
So erstellen Sie einen DAX-Cluster
-
Rufen Sie den Amazon-Ressourcennamen (ARN) für die Servicerolle ab.
aws iam get-role \ --role-name DAXServiceRoleForDynamoDBAccess \ --query "Role.Arn" --output textBeachten Sie in der Ausgabe den Servicerollen-ARN, wie im folgenden Beispiel dargestellt.
arn:aws:iam::123456789012:role/DAXServiceRoleForDynamoDBAccess -
DAX-Cluster erstellen. Ersetzen Sie
mit der ARN aus dem vorherigen Schritt.roleARNaws dax create-cluster \ --cluster-name mydaxcluster \ --node-type dax.r4.large \ --replication-factor 3 \ --iam-role-arnroleARN\ --subnet-group my-subnet-group \ --sse-specification Enabled=true \ --region us-west-2Alle Knoten in dem Cluster sind vom Typ
dax.r4.large(--node-type). Es gibt drei Knoten (--replication-factor) – einen primären Knoten und zwei Replikate.Anmerkung
Da
sudoundgrep-reservierte Schlüsselwörter sind, können Sie keinen DAX-Cluster mit diesen Wörtern im Cluster-Namen erstellen. Beispiel:sudoundsudoclustersind ungültige Cluster-Namen.
Zum Anzeigen des Cluster-Status geben Sie den folgenden Befehl ein:
aws dax describe-clusters
Der Status wird in der Ausgabe angezeigt - z. B. "Status":
"creating".
Anmerkung
Das Erstellen des Clusters kann einige Minuten dauern. Sobald der Cluster bereit ist, ändert sich sein Status zu available. Fahren Sie in der Zwischenzeit mit Schritt 4: Konfigurieren der Regeln für eingehenden Datenverkehr für Sicherheitsgruppen mit der AWS CLI fort und folgen Sie den Anweisungen.
Schritt 4: Konfigurieren der Regeln für eingehenden Datenverkehr für Sicherheitsgruppen mit der AWS CLI
Die Knoten in dem Amazon-DynamoDB-Accelerator-(DAX)-Cluster verwenden die Standardsicherheitsgruppe für Ihre Amazon VPC. Für die Standardsicherheitsgruppe müssen Sie eingehenden Datenverkehr auf TCP-Port 8111 für unverschlüsselte Cluster oder Port 9111 für verschlüsselte Cluster autorisieren. Auf diese Weise können Amazon-EC2-Instances in der Amazon VPC auf den DAX-Cluster zugreifen.
Anmerkung
Wenn Sie den DAX-Cluster mit einer anderen Sicherheitsgruppe (einer anderen als default) gestartet haben, müssen Sie stattdessen den hier beschriebenen Prozess für diese Gruppe durchführen.
So konfigurieren Sie Regeln für eingehenden Datenverkehr für Sicherheitsgruppen
-
Um die Standard-Sicherheitsgruppen-ID zu bestimmen, geben Sie den folgenden Befehl ein. Ersetzen Sie
mit der tatsächlichen VPC-ID (aus Schritt 2: Erstellung einer Subnetzgruppe).vpcIDaws ec2 describe-security-groups \ --filters Name=vpc-id,Values=vpcIDName=group-name,Values=default \ --query "SecurityGroups[*].{GroupName:GroupName,GroupId:GroupId}"Beachten Sie in der Ausgabe die Sicherheitsgruppen-ID - z. B.
sg-01234567. -
Geben Sie dann Folgendes ein. Ersetzen Sie
mit der tatsächlichen Sicherheitsgruppen-ID. Verwenden Sie PortsgID8111für unverschlüsselte Cluster und9111für verschlüsselte Cluster.aws ec2 authorize-security-group-ingress \ --group-idsgID--protocol tcp --port8111