Création d'un cluster DAX à l'aide du AWS CLI - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un cluster DAX à l'aide du AWS CLI

Cette section explique comment créer un cluster Amazon DynamoDB Accelerator (DAX) à l'aide de l' AWS Command Line Interface (AWS CLI). Si vous ne l'avez pas déjà fait, vous devez installer et configurer AWS CLI. Pour ce faire, consultez les instructions suivantes dans le Guide de l'utilisateur AWS Command Line Interface  :

Important

Pour gérer les clusters DAX à l'aide de AWS CLI, installez ou effectuez une mise à niveau vers la version 1.11.110 ou supérieure.

Tous les AWS CLI exemples utilisent la us-west-2 région et un compte fictif. IDs

Étape 1 : créer un rôle de service IAM permettant à DAX d'accéder à DynamoDB à l'aide du AWS CLI

Avant de créer un cluster Amazon DynamoDB Accelerator (DAX), vous devez créer un rôle de service pour celui-ci. Un rôle de service est un rôle AWS Identity and Access Management (IAM) qui autorise un AWS service à agir en votre nom. Le rôle de service permet à DAX d'accéder à vos tables DynamoDB comme si vous y accédiez vous-même.

Au cours de cette étape, vous créez une politique IAM et l'attachez à un rôle IAM. Vous pourrez ainsi attribuer le rôle à un cluster DAX pour permettre à celui-ci d'effectuer des opérations DynamoDB en votre nom.

Pour créer un rôle de service IAM pour DAX
  1. Créez un fichier nommé service-trust-relationship.json avec les contenus suivants.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dax.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Crée le rôle de service.

    aws iam create-role \ --role-name DAXServiceRoleForDynamoDBAccess \ --assume-role-policy-document file://service-trust-relationship.json
  3. Créez un fichier nommé service-role-policy.json avec les contenus suivants.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "dynamodb:DescribeTable", "dynamodb:PutItem", "dynamodb:GetItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:BatchGetItem", "dynamodb:BatchWriteItem", "dynamodb:ConditionCheckItem" ], "Effect": "Allow", "Resource": [ "arn:aws:dynamodb:us-west-2:accountID:*" ] } ] }

    Remplacez accountID par votre identifiant de AWS compte. Pour trouver votre identifiant de AWS compte, dans le coin supérieur droit de la console, choisissez votre identifiant de connexion. L'identifiant de votre AWS compte apparaît dans le menu déroulant.

    Dans l'exemple, le nom de ressource Amazon (ARN) accountID doit être un nombre à 12 chiffres. N'utilisez aucun trait d'union ou autre ponctuation.

  4. Créez une politique IAM pour le rôle de service.

    aws iam create-policy \ --policy-name DAXServicePolicyForDynamoDBAccess \ --policy-document file://service-role-policy.json

    Dans la sortie, notez l'ARN de la politique que vous avez créée, comme dans l'exemple suivant.

    arn:aws:iam::123456789012:policy/DAXServicePolicyForDynamoDBAccess

  5. Attache la politique au rôle de service. Remplacez arn le code suivant par l'ARN du rôle réel de l'étape précédente.

    aws iam attach-role-policy \ --role-name DAXServiceRoleForDynamoDBAccess \ --policy-arn arn

Ensuite, spécifiez un groupe de sous-réseau pour votre VPC par défaut. Un groupe de sous-réseaux est un ensemble constitué d'un ou plusieurs sous-réseaux au sein de votre VPC. Consultez Étape 2 : créer un groupe de sous-réseaux.

Étape 2 : créer un groupe de sous-réseaux

Suivez cette procédure pour créer un groupe de sous-réseaux pour votre cluster Amazon DynamoDB Accelerator (DAX) à l'aide du (). AWS Command Line Interface AWS CLI

Note

Si vous avez déjà créé un groupe de sous-réseaux pour votre VPC par défaut, vous pouvez passer cette étape.

DAX est conçu pour s'exécuter dans un environnement Amazon Virtual Private Cloud (Amazon VPC). Si vous avez créé votre compte AWS après le 4 décembre 2013, vous disposez déjà d'un VPC par défaut dans chaque région AWS . Pour plus d'informations, consultez VPC par défaut et sous-réseaux par défaut dans le Guide de l'utilisateur Amazon VPC.

Note

Le VPC doté de ce cluster DAX peut contenir d'autres ressources et même des points de terminaison VPC pour les autres services, à l'exception du point de terminaison VPC pour les opérations du cluster DAX, ce qui peut entraîner des erreurs dans ElastiCache les opérations du cluster DAX.

Pour créer un groupe de sous-réseaux
  1. Pour déterminer l'identificateur de votre VPC par défaut, tapez la commande suivante.

    aws ec2 describe-vpcs

    Dans la sortie, notez l'identificateur de votre VPC par défaut, comme dans l'exemple suivant.

    vpc-12345678

  2. Déterminez le sous-réseau IDs associé à votre VPC par défaut. vpcIDRemplacez-le par votre identifiant VPC actuel, par exemple,. vpc-12345678

    aws ec2 describe-subnets \ --filters "Name=vpc-id,Values=vpcID" \ --query "Subnets[*].SubnetId"

    Dans la sortie, notez les identifiants de sous-réseau, par exemple, subnet-11111111.

  3. Créez un groupe de sous-réseau. Veillez à spécifier au moins un identifiant de sous-réseau dans le paramètre --subnet-ids.

    aws dax create-subnet-group \ --subnet-group-name my-subnet-group \ --subnet-ids subnet-11111111 subnet-22222222 subnet-33333333 subnet-44444444

Pour créer le cluster, consultez Étape 3 : créer un cluster DAX à l'aide du AWS CLI.

Étape 3 : créer un cluster DAX à l'aide du AWS CLI

Suivez cette procédure pour utiliser le AWS Command Line Interface (AWS CLI) afin de créer un cluster Amazon DynamoDB Accelerator (DAX) dans votre Amazon VPC par défaut.

Pour créer un cluster DAX
  1. Obtenez l'Amazon Resource Name (ARN) pour votre rôle de service.

    aws iam get-role \ --role-name DAXServiceRoleForDynamoDBAccess \ --query "Role.Arn" --output text

    Dans la sortie, notez l'ARN de rôle de service, comme dans l'exemple suivant.

    arn:aws:iam::123456789012:role/DAXServiceRoleForDynamoDBAccess

  2. Créez le cluster DAX. Remplacez roleARN par l'ARN de l'étape précédente.

    aws dax create-cluster \ --cluster-name mydaxcluster \ --node-type dax.r4.large \ --replication-factor 3 \ --iam-role-arn roleARN \ --subnet-group my-subnet-group \ --sse-specification Enabled=true \ --region us-west-2

    Tous les nœuds du cluster sont de type dax.r4.large (--node-type). Il y a trois nœuds (--replication-factor), un nœud primaire et deux réplicas.

    Note

    sudo et grep étant des mots clés réservés, vous ne pouvez pas créer un cluster DAX avec ces mots dans le nom du cluster. Par exemple, sudo et sudocluster sont des noms de cluster non valides.

Pour afficher le statut du cluster, tapez la commande suivante.

aws dax describe-clusters

Le statut est indiqué dans la sortie, par exemple, "Status": "creating".

Note

La création du cluster prendra plusieurs minutes. Lorsque le cluster est prêt, son statut passe à available. Pendant ce temps, vous pouvez passer à Étape 4 : configurer les règles entrantes du groupe de sécurité à l'aide du AWS CLI et suivre les instructions qui y sont fournies.

Étape 4 : configurer les règles entrantes du groupe de sécurité à l'aide du AWS CLI

Les nœuds dans votre cluster Amazon DynamoDB Accelerator (DAX) utilisent le groupe de sécurité par défaut pour votre VPC Amazon. Pour le groupe de sécurité par défaut, vous devez autoriser le trafic entrant sur le port TCP 8111 pour les clusters non chiffrés, ou le port 9111 pour les clusters chiffrés. Cela permet aux EC2 instances Amazon de votre Amazon VPC d'accéder à votre cluster DAX.

Note

Si vous avez lancé votre cluster DAX avec un groupe de sécurité différent (autre que default), vous devez plutôt suivre cette procédure pour ce groupe.

Pour configurer les règles de trafic entrant du groupe de sécurité
  1. Pour déterminer l'identificateur du groupe de sécurité par défaut, tapez la commande suivante. Remplacez vpcID par votre identifiant VPC réel (depuis Étape 2 : créer un groupe de sous-réseaux).

    aws ec2 describe-security-groups \ --filters Name=vpc-id,Values=vpcID Name=group-name,Values=default \ --query "SecurityGroups[*].{GroupName:GroupName,GroupId:GroupId}"

    Dans la sortie, prenez note de l'identifiant du groupe de sécurité, par exemple, sg-01234567.

  2. Entrez ce qui suit. Remplacez la valeur sgID par l'identificateur de votre groupe de sécurité réel. Utilisez le port 8111 pour les clusters non chiffrés, et le port 9111 pour les clusters chiffrés.

    aws ec2 authorize-security-group-ingress \ --group-id sgID --protocol tcp --port 8111