Criar um cluster do DAX usando a AWS CLI - Amazon DynamoDB

Criar um cluster do DAX usando a AWS CLI

Esta seção descreve como criar um cluster do Amazon DynamoDB Accelerator (DAX) usando a AWS Command Line Interface (AWS CLI). Caso ainda não tenha feito isso, você deve instalar e configurar a AWS CLI. Para fazer isso, consulte os seguintes tópicos no Guia do usuário do AWS Command Line Interface:

Importante

Para gerenciar os clusters do DAX usando a AWS CLI, instale ou faça upgrade para a versão 1.11.110 ou superior.

Todos os exemplos da AWS CLI usam a região us-west-2 e IDs de conta fictícios.

Etapa 1: criar um perfil de serviço do IAM para DAX para acessar o DynamoDB usando a AWS CLI

Para poder criar um cluster do Amazon DynamoDB Accelerator (DAX) você precisa criar uma função de serviço para ele. Uma função de serviço é uma função do AWS Identity and Access Management (IAM) que autoriza um serviço da AWS a atuar em seu nome. A função de serviço permite que o DAX acesse as tabelas do DynamoDB como se você mesmo estivesse acessando essas tabelas.

Nesta etapa, você criará uma política do IAM e anexará essa política a uma função do IAM. Isso permite atribuir a função a um cluster do DAX para que ele possa executar operações do DynamoDB em seu nome.

Como criar uma função de serviço do IAM para o DAX
  1. Crie um arquivo denominado service-trust-relationship.json com o seguinte conteúdo:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dax.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Crie a função de serviço.

    aws iam create-role \ --role-name DAXServiceRoleForDynamoDBAccess \ --assume-role-policy-document file://service-trust-relationship.json
  3. Crie um arquivo denominado service-role-policy.json com o seguinte conteúdo:

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

    Substitua accountID pelo seu ID de conta da AWS. Para encontrar o ID da conta da AWS, no canto superior direito do console, escolha seu ID de login. Seu ID de conta da AWS aparece no menu suspenso.

    No nome de recurso da Amazon (ARN) do exemplo, accountID deve ser um número de 12 dígitos. Não use hifens ou qualquer outro sinal de pontuação.

  4. Crie uma política do IAM para a função de serviço.

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

    Na saída, anote o ARN da política que você criou, como no exemplo abaixo.

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

  5. Anexe a política à função de serviço. Substitua arn no seguinte código pelo ARN real da função da etapa anterior.

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

Depois, especifique um grupo de sub-redes para a VPC padrão. Um grupo de sub-redes é uma coleção de uma ou mais sub-redes na sua VPC. Consulte Etapa 2: criar um grupo de sub-redes.

Etapa 2: criar um grupo de sub-redes

Siga este procedimento para criar um grupo de sub-redes para o cluster do Amazon DynamoDB Accelerator (DAX) usando a AWS Command Line Interface (AWS CLI).

nota

Se você já criou um grupo de sub-redes para sua VPC padrão, pode ignorar esta etapa.

O DAX foi projetado para ser executado dentro de um ambiente da Amazon Virtual Private Cloud (Amazon VPC). Se sua conta da AWS foi criada após 4 de dezembro de 2013, você já tem uma VPC padrão em cada região da AWS. Para obter mais informações, consulte VPC padrão e sub-redes padrão no Guia do usuário da Amazon VPC.

nota

A VPC com esse cluster do DAX pode conter outros recursos e até mesmo endpoints da VPC para os outros serviços, exceto o endpoint da VPC para ElastiCache, e pode gerar um erro nas operações do cluster do DAX.

Como criar um grupo de sub-redes
  1. Para determinar o identificador da VPC padrão, insira o seguinte comando.

    aws ec2 describe-vpcs

    Na saída, anote o identificador da VPC padrão, como no seguinte exemplo.

    vpc-12345678

  2. Determine os IDs das sub-redes associadas à VPC padrão. Substitua vpcID pelo seu ID de VPC real. Por exemplo, vpc-12345678.

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

    Na saída, observe os identificadores de sub-rede — por exemplo, subnet-11111111.

  3. Crie o grupo de sub-redes. Certifique-se de especificar pelo menos um ID de sub-rede no parâmetro --subnet-ids.

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

Para criar o cluster, consulte Etapa 3: criar um cluster do DAX usando a AWS CLI.

Etapa 3: criar um cluster do DAX usando a AWS CLI

Siga este procedimento para usar a AWS Command Line Interface (AWS CLI) para criar um cluster do Amazon DynamoDB Accelerator (DAX) em sua Amazon VPC padrão.

Como criar um cluster do DAX
  1. Obtenha o nome de recurso da Amazon (ARN) para a sua função de serviço.

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

    Na saída, anote o ARN da função de serviço, como no seguinte exemplo.

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

  2. Crie um cluster do DAX. Substitua roleARN pelo ARN da etapa anterior.

    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

    Todos os nós do cluster são do tipo dax.r4.large (--node-type). Há três nós (--replication-factor): um nó primário e duas réplicas.

    nota

    Como sudo e grep são palavras-chave reservadas, você não pode criar um cluster do DAX com essas palavras no nome do cluster. Por exemplo, sudo e sudocluster são nomes de cluster inválidos.

Para visualizar o status do cluster, insira o seguinte comando,

aws dax describe-clusters

O status é mostrado na saída. Por exemplo, "Status": "creating".

nota

A criação do cluster demora vários minutos. Quando o cluster estiver pronto, seu status mudará para available. Enquanto isso, prossiga para Etapa 4: configurar regras de entrada para grupo de segurança usando a AWS CLI e siga as instruções contidas ali.

Etapa 4: configurar regras de entrada para grupo de segurança usando a AWS CLI

Os nós no cluster do Amazon DynamoDB Accelerator (DAX) usam o grupo de segurança padrão para a Amazon VPC. Para o grupo de segurança padrão, você deve autorizar o tráfego de entrada na porta TCP 8111 para clusters não criptografados ou a porta 9111 para clusters criptografados. Isso permitirá que as instâncias do Amazon EC2 em sua Amazon VPC acessem seu cluster do DAX.

nota

Se você tiver iniciado o cluster do DAX com um grupo de segurança diferente (que não seja o default), será necessário executar este procedimento para esse grupo.

Como configurar regras de entrada para o grupo de segurança
  1. Para determinar o identificador do grupo de segurança padrão, digite o seguinte comando. Substitua vpcID pelo seu ID de VPC real (de Etapa 2: criar um grupo de sub-redes).

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

    Na saída, anote o identificador do grupo de segurança. Por exemplo, sg-01234567.

  2. Insira o seguinte. Substitua sgID pelo seu identificador de grupo de segurança real. Use a porta 8111 para clusters não criptografados e a porta 9111 para clusters criptografados.

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