Creazione di un cluster DAX utilizzando AWS CLI - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un cluster DAX utilizzando AWS CLI

In questa sezione viene spiegato come creare un cluster Amazon DynamoDB Accelerator (DAX) utilizzando la AWS Command Line Interface (AWS CLI). Se non l'hai ancora fatto, installa e configura AWS CLI. Per le istruzioni, consulta i seguenti argomenti nella Guida per l'utente di AWS Command Line Interface :

Importante

Per gestire i cluster DAX utilizzando AWS CLI, installa o esegui l'aggiornamento alla versione 1.11.110 o successiva.

Tutti gli AWS CLI esempi utilizzano la us-west-2 regione e l'account fittizio. IDs

Fase 1: Creare un ruolo di servizio IAM per DAX per accedere a DynamoDB utilizzando AWS CLI

Prima di poter creare un cluster Amazon DynamoDB Accelerator (DAX), è necessario creare un ruolo del servizio per lo stesso. Un ruolo di servizio è un ruolo AWS Identity and Access Management (IAM) che autorizza un AWS servizio ad agire per tuo conto. Il ruolo del servizio consente a DAX di accedere alle tabelle DynamoDB come se l'accesso venisse effettuato da te.

In questa fase, viene creata una policy IAM e quindi questa policy viene collegata a un ruolo IAM. Puoi quindi assegnare il ruolo a un cluster DAX in modo che possa eseguire le operazioni DynamoDB per conto tuo.

Per creare un ruolo del servizio IAM per DAX
  1. Crea un file denominato service-trust-relationship.json con i seguenti contenuti.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dax.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Crea il ruolo del servizio.

    aws iam create-role \ --role-name DAXServiceRoleForDynamoDBAccess \ --assume-role-policy-document file://service-trust-relationship.json
  3. Crea un file denominato service-role-policy.json con i seguenti contenuti.

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

    accountIDSostituiscilo con l'ID AWS del tuo account. Per trovare l'ID del tuo AWS account, scegli il tuo ID di accesso nell'angolo in alto a destra della console. L'ID AWS del tuo account viene visualizzato nel menu a discesa.

    Nell'Amazon Resource Name (ARN) dell'esempio, accountID deve essere un numero di 12 cifre. Non usare trattini o altra punteggiatura.

  4. Crea una policy IAM per il ruolo del servizio.

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

    Nell'output, prendi nota dell'ARN per la policy creata, come l'esempio seguente.

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

  5. Collega la policy al ruolo del servizio. Sostituire arn il codice seguente con il ruolo ARN effettivo del passaggio precedente.

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

Quindi, specifica un gruppo di sottoreti per il VPC predefinito. Un gruppo di sottoreti è una raccolta di una o più sottoreti all'interno del VPC. Per informazioni, consulta Fase 2: creazione di un gruppo di sottoreti.

Fase 2: creazione di un gruppo di sottoreti

Segui questa procedura per creare un gruppo di sottoreti per il tuo cluster Amazon DynamoDB Accelerator (DAX) utilizzando (). AWS Command Line Interface AWS CLI

Nota

Se hai già creato un gruppo di sottoreti per il VPC predefinito, questa fase può essere ignorata.

DAX è progettato per funzionare all'interno di un ambiente Amazon Virtual Private Cloud (Amazon VPC). Se hai creato il tuo account AWS dopo il 4 dicembre 2013, disponi già di un VPC predefinito in ogni regione AWS . Per ulteriori informazioni, consulta VPC predefinito e sottoreti predefinite nella Guida per l'utente di Amazon VPC.

Nota

Il VPC con questo cluster DAX può contenere altre risorse e persino endpoint VPC per gli altri servizi tranne l'endpoint VPC per ElastiCache e può causare errori nelle operazioni del cluster DAX.

Per creare un gruppo di sottoreti
  1. Per determinare l'identificatore per il tuo VPC predefinito, immetti il seguente comando.

    aws ec2 describe-vpcs

    Nell'output, prendi nota dell'identificatore per il VPC predefinito, come nell'esempio seguente.

    vpc-12345678

  2. Determina la sottorete IDs associata al VPC predefinito. vpcIDSostituiscilo con il tuo ID VPC effettivo, ad esempio. vpc-12345678

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

    Nell'output prendere nota degli identificatori delle sottoreti, ad esempio subnet-11111111.

  3. Crea il gruppo di sottoreti. Assicurati di specificare almeno un ID sottorete nel parametro --subnet-ids.

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

Per creare il cluster, consulta Fase 3: Creare un cluster DAX utilizzando AWS CLI.

Fase 3: Creare un cluster DAX utilizzando AWS CLI

Segui questa procedura per utilizzare AWS Command Line Interface (AWS CLI) per creare un cluster Amazon DynamoDB Accelerator (DAX) nel tuo Amazon VPC predefinito.

Per creare un cluster DAX
  1. Ottieni l'Amazon Resource Name (ARN) per il ruolo del servizio.

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

    Nell'output, prendi nota dell'ARN del ruolo del servizio, come nell'esempio seguente.

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

  2. Crea il cluster DAX. Sostituisci roleARN con l'ARN ottenuto nella fase precedente.

    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

    Tutti i nodi nel cluster sono di tipo dax.r4.large (--node-type). Sono presenti sono tre nodi (--replication-factor), un nodo primario e due repliche.

    Nota

    Poiché sudo e grep sono parole chiave riservate, non è possibile creare un cluster DAX con queste parole nel nome. Ad esempio, sudo e sudocluster sono nomi cluster non validi.

Per visualizzare lo stato del cluster, immetti il seguente comando.

aws dax describe-clusters

Lo stato viene visualizzato nell'output, ad esempio "Status": "creating".

Nota

La creazione del cluster richiede diversi minuti. Quando il cluster è pronto, il suo stato diventa available. Nel frattempo, passa a Passaggio 4: configura le regole in entrata dei gruppi di sicurezza utilizzando AWS CLI e segui le istruzioni indicate.

Passaggio 4: configura le regole in entrata dei gruppi di sicurezza utilizzando AWS CLI

I nodi nel cluster Amazon DynamoDB Accelerator (DAX) utilizzano il gruppo di sicurezza predefinito per Amazon VPC. Per il gruppo di sicurezza predefinito, è necessario autorizzare il traffico in entrata sulla porta TCP 8111 per i cluster non crittografati o la porta 9111 per i cluster crittografati. Ciò consente alle EC2 istanze Amazon nel tuo Amazon VPC di accedere al tuo cluster DAX.

Nota

Se il cluster DAX è stato avviato con un altro gruppo di sicurezza (diverso da default), è necessario eseguire questa procedura per quel gruppo.

Per configurare le regole in entrata del gruppo di sicurezza
  1. Per determinare l'identificatore del gruppo di sicurezza predefinito, immetti il seguente comando: Sostituisci vpcID con il tuo ID VPC effettivo (da Fase 2: creazione di un gruppo di sottoreti).

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

    Nell'output prendere nota dell'identificatore del gruppo di sicurezza, ad esempio sg-01234567.

  2. Quindi immetti i seguenti dati. Sostituisci sgID con l'identificatore del gruppo di sicurezza effettivo. Usare la porta 8111 per cluster non crittografati e 9111 per cluster crittografati.

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