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.
Tópicos
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
-
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" } ] }
-
Crie a função de serviço.
aws iam create-role \ --role-name DAXServiceRoleForDynamoDBAccess \ --assume-role-policy-document file://service-trust-relationship.json
-
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. -
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
-
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
-
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
-
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
. -
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
-
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
-
Crie um cluster do DAX. Substitua
pelo ARN da etapa anterior.roleARN
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-2Todos 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
egrep
são palavras-chave reservadas, você não pode criar um cluster do DAX com essas palavras no nome do cluster. Por exemplo,sudo
esudocluster
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
-
Para determinar o identificador do grupo de segurança padrão, digite o seguinte comando. Substitua
pelo seu ID de VPC real (de Etapa 2: criar um grupo de sub-redes).vpcID
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
. -
Insira o seguinte. Substitua
pelo seu identificador de grupo de segurança real. Use a portasgID
8111
para clusters não criptografados e a porta9111
para clusters criptografados.aws ec2 authorize-security-group-ingress \ --group-id
sgID
--protocol tcp --port8111