Conceitos básicos do MemoryDB
Este exercício mostra as etapas para criar, conceder acesso, conectar-se e, finalmente, excluir um cluster do MemoryDB usando o console de gerenciamento do MemoryDB.
nota
Para este exercício, recomendamos que você use a opção Criação fácil ao criar um cluster e retorne às outras duas opções depois de explorar mais os atributos do MemoryDB.
Tópicos
Etapa 1: configuração
A seguir, você encontrará tópicos que descrevem as ações únicas que devem ser executadas para começar a usar o MemoryDB.
Inscrever-se para uma Conta da AWS
Se você ainda não tem uma Conta da AWS, siga as etapas abaixo para criar uma.
Como cadastrar uma Conta da AWS
Abra https://portal.aws.amazon.com/billing/signup
. Siga as instruções online.
Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.
Quando você se inscreve para uma Conta da AWS, um Usuário raiz da conta da AWS é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar tarefas que exigem acesso de usuário-raiz.
A AWS envia um e-mail de confirmação depois que o processo de inscrição é concluído. A qualquer momento, é possível exibir as atividades da conta atual e gerenciar sua conta acessando https://aws.amazon.com/
Criar um usuário com acesso administrativo
Depois de se cadastrar em uma Conta da AWS, proteja seu Usuário raiz da conta da AWS, habilite o AWS IAM Identity Center e crie um usuário administrativo para não usar o usuário-raiz em tarefas cotidianas.
Proteger o Usuário raiz da conta da AWS
-
Faça login no Console de gerenciamento da AWS
como o proprietário da conta ao escolher a opção Usuário-raiz e inserir o endereço de e-mail da Conta da AWS. Na próxima página, insira a senha. Para obter ajuda ao fazer login usando o usuário-raiz, consulte Fazer login como usuário-raiz no Guia do usuário do Início de Sessão da AWS.
-
Habilite a autenticação multifator (MFA) para o usuário-raiz.
Para obter instruções, consulte Habilitar um dispositivo MFA virtual para sua Conta da AWS de usuário-raiz (console) no Guia do usuário do IAM.
Criar um usuário com acesso administrativo
-
Habilita o Centro de Identidade do IAM.
Para obter instruções, consulte Habilitar o AWS IAM Identity Center no Guia do usuário do AWS IAM Identity Center.
-
No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.
Para obter um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como a fonte de identidade, consulte Configurar o acesso dos usuários com o Diretório do Centro de Identidade do IAM padrão no Guia do usuário do AWS IAM Identity Center.
Iniciar sessão como o usuário com acesso administrativo
-
Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.
Para obter ajuda para fazer login usando um usuário do Centro de Identidade do IAM, consulte Fazer login no portal de acesso da AWS, no Guia do usuário do Início de Sessão da AWS.
Atribuir acesso a usuários adicionais
-
No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.
Para obter instruções, consulte Criar um conjunto de permissões no Guia do usuário do AWS IAM Identity Center.
-
Atribua usuários a um grupo e, em seguida, atribua o acesso de autenticação única ao grupo.
Para obter instruções, consulte Adicionar grupos no Guia do usuário do AWS IAM Identity Center.
Conceder acesso programático
Os usuários precisam de acesso programático se quiserem interagir com a AWS de fora do Console de gerenciamento da AWS. A forma de conceder acesso programático depende do tipo de usuário que está acessando a AWS.
Para conceder acesso programático aos usuários, selecione uma das seguintes opções:
| Qual usuário precisa de acesso programático? | Para | Por |
|---|---|---|
|
Identidade da força de trabalho (Usuários gerenciados no Centro de Identidade do IAM) |
Use credenciais temporárias para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS. |
Siga as instruções da interface que deseja utilizar.
|
| IAM | Use credenciais temporárias para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS. | Siga as instruções em Usar credenciais temporárias com recursos da AWS no Guia do usuário do IAM. |
| IAM | (Não recomendado) Use credenciais de longo prazo para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS. |
Siga as instruções da interface que deseja utilizar.
|
Tópicos relacionados:
O que é o IAM no Guia do usuário do IAM
Credenciais de segurança da AWS em Referência geral da AWS.
Configuração de permissões (somente novos usuários do MemoryDB)
Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos no AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center.
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-
O MemoryDB cria e usa perfis vinculados ao serviço para provisionar recursos e acessar outros recursos e serviços da AWS em seu nome. Para que o MemoryDB crie uma função vinculada ao serviço para você, use a política gerenciada pela AWS denominada AmazonMemoryDBFullAccess. Essa função é pré-provisionada com uma permissão que o serviço requer para criar uma função vinculada a serviço em seu nome.
Talvez você decida usar uma política gerenciada personalizada, em vez de uma política padrão. Nesse caso, confirme se você tem permissões para chamar a iam:createServiceLinkedRole ou se criou a função vinculada ao serviço MemoryDB.
Para obter mais informações, consulte:
Download e configuração da CLI da AWS
O AWS CLI está disponível em http://aws.amazon.com/cli
Acesse o Guia do usuário da interface de linha de comando da AWS
Siga as instruções para Instalar a CLI da AWS e Configurar a CLI da AWS.
Etapa 2: criar um cluster
Antes de criar um cluster para uso em produção, é óbvio que você precisa considerar como configurar o cluster para atender às suas necessidades de negócios. Esses problemas são abordados na seção Preparação de um cluster. Para os fins deste exercício de introdução, você pode aceitar os valores de configuração padrão onde se aplicarem.
O cluster que você criará estará ativo, e não em execução em uma sandbox. Você pagará as taxas de utilização padrão do MemoryDB pela instância até que a exclua. As cobranças totais serão mínimas (geralmente menos de um dólar) se você concluir o exercício descrito aqui em uma única sessão e excluir seu cluster quando terminar. Para obter mais informações sobre taxas de uso do MemoryDB, consulte MemoryDB.
Seu cluster é iniciado em uma nuvem privada virtual (VPC) com base no serviço da Amazon VPC.
Criação de um cluster do MemoryDB
Os exemplos a seguir mostram como criar um cluster usando o Console de gerenciamento da AWS, a AWS CLI e a API do MemoryDB.
Para criar um cluster usando o console do MemoryDB
-
Faça login no Console de gerenciamento da AWS e abra o console do MemoryDB em https://console.aws.amazon.com/memorydb/
. -
No painel de navegação esquerdo, selecione Clusters e depois Criar.
Para criar um cluster usando a AWS CLI, consulte create-cluster. Veja um exemplo a seguir:
Para Linux, macOS ou Unix:
aws memorydb create-cluster \ --cluster-name my-cluster \ --node-type db.r6g.large \ --acl-name my-acl \ --engine valkey \ --subnet-group my-sg
Para Windows:
aws memorydb create-cluster ^ --cluster-name my-cluster ^ --node-type db.r6g.large ^ --acl-name my-acl ^ --engine valkey --subnet-group my-sg
Você deve obter a seguinte resposta em JSON:
{ "Cluster": { "Name": "my-cluster", "Status": "creating", "NumberOfShards": 1, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "7.2", "EnginePatchVersion": "7.2.6", "ParameterGroupName": "default.memorydb-valkey7", "Engine": "valkey" "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN":"arn:aws:memorydb:us-east-1:xxxxxxxxxxxxxx:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }
Você pode começar a usar o cluster quando seu status mudar para available.
Importante
Assim que seu cluster se tornar disponível, você será cobrado por cada hora ou hora parcial em que ele estiver ativo, mesmo que você não o esteja usando ativamente. Para interromper as cobranças aplicáveis para esse cluster, você deve excluí-lo. Consulte Etapa 5: excluir um cluster.
Para criar um cluster usando a API do MemoryDB, use a ação CreateCluster.
Importante
Assim que seu cluster se tornar disponível, você será cobrado por cada hora ou hora parcial em que ele estiver, mesmo que você não o esteja usando. Para interromper as cobranças aplicáveis para esse cluster, você deve excluí-lo. Consulte Etapa 5: excluir um cluster.
Configuração de autenticação
Para obter informações sobre como configurar a autenticação para seu cluster, consulte Autenticação com o IAM e Autenticação de usuários com listas de controle de acesso (ACLs).
Etapa 3: autorizar o acesso ao cluster
Esta seção supõe que você esteja familiarizado com a execução e a conexão com instâncias do Amazon EC2. Para obter mais informações, consulte o Guia de conceitos básicos do Amazon EC2.
Todos os clusters do MemoryDB foram criados para serem acessados a partir de uma instância do Amazon EC2. Eles também podem ser acessados por aplicativos em contêineres ou de tecnologia sem servidor executados no Amazon Elastic Container Service ou AWS Lambda. O cenário mais comum é acessar um cluster do MemoryDB a partir de uma instância do Amazon EC2 na mesma Amazon Virtual Private Cloud (Amazon VPC), o que será o caso para esse exercício.
Antes de poder se conectar a um cluster a partir de uma instância do EC2, você deve autorizar a instância do EC2 para acessar o cluster.
O caso de uso mais comum é quando uma aplicação implantada em uma instância do EC2 precisa se conectar a um cluster na mesma VPC. A maneira mais simples de gerenciar o acesso entre instâncias do EC2 e clusters na mesma VPC é fazer o seguinte:
-
Crie um grupo de segurança de VPC para o seu cluster. Esse grupo de segurança pode ser usado para restringir o acesso aos clusters. Por exemplo, é possível criar uma regra personalizada para esse grupo de segurança que permite o acesso TCP usando a porta atribuída ao cluster quando você o criou e um endereço IP que será usado para acessar o cluster.
A porta padrão dos clusters do MemoryDB é
6379. -
Crie um grupo de segurança de VPC para suas instâncias do EC2 (servidores Web e de aplicativos). Esse grupo de segurança pode, se necessário, permitir o acesso à instância do EC2 da Internet através da tabela de rotas da VPC. Por exemplo, você pode definir regras nesse grupo de segurança para permitir o acesso TCP à instância do EC2 pela porta 22.
-
Crie regras personalizadas no grupo de segurança para o seu cluster que permitam conexões do grupo de segurança que você criou para suas instâncias do EC2. Isso permitiria que qualquer membro de grupo de segurança acessasse os clusters.
Para criar uma regra em um grupo de segurança de VPC que permita conexões de outro grupo de segurança
-
Faça login no AWSConsole de Gerenciamento e abra o console da Amazon VPC em https://console.aws.amazon.com/vpc
. -
No painel de navegação esquerdo, escolha Security Groups.
-
Selecione ou crie um grupo de segurança que você usará para seus clusters. Em Regras de entrada, selecione Editar regras de entrada e escolha Adicionar regra. Esse grupo de segurança permitirá o acesso a membros de outro grupo de segurança.
-
Em Tipo, escolha Regra TCP personalizada.
-
Para Port Range, especifique a porta que você usou quando criou seu cluster.
A porta padrão dos clusters do MemoryDB é
6379. -
Na caixa Source, comece a digitar o ID do grupo de segurança. Na lista, selecione o grupo de segurança que você usará para o suas instâncias do Amazon EC2.
-
-
Escolha Save quando terminar.
Depois de habilitar o acesso, você agora estará pronto para se conectar ao cluster, conforme discutido na próxima seção.
Para obter informações sobre como acessar seu cluster do MemoryDB de uma Amazon VPC diferente, uma região da AWS diferente ou até mesmo sua rede corporativa, consulte:
Etapa 4: conectar-se ao cluster
Antes de continuar, conclua Etapa 3: autorizar o acesso ao cluster.
Esta seção supõe que você tenha criado uma instância do Amazon EC2 e possa conectar-se a ela. Para obter instruções sobre como fazer isso, consulte o Guia de conceitos básicos do Amazon EC2.
Uma instância do Amazon EC2 pode se conectar a um cluster apenas se você tiver autorização para isso.
Localize o endpoint de seu cluster
Quando seu cluster estiver no estado disponível e você tiver autorizado o acesso a ele, será possível fazer login em uma instância do Amazon EC2 e se conectar a ela. Para isso, primeiro você deve determinar o endpoint.
Para explorar mais sobre como localizar os endpoints, consulte o seguinte:
Conecte-se a um cluster do MemoryDB (Linux)
Agora que você tem o endpoint necessário, você pode fazer o login em uma instância do EC2 e se conectar ao cluster. No exemplo a seguir, você usa o serviço cli para se conectar a um cluster usando o Ubuntu 22. A versão mais recente da cli também oferece suporte a SSL/TLS para conexão com clusters habilitados para criptografia e autenticação.
Conectando-se aos nós do MemoryDB usando redis-cli
Para acessar dados dos nós do MemoryDB, use clientes que trabalhem com Secure Socket Layer (SSL). Você também pode usar a redis-cli com TLS/SSL no Amazon Linux e no Amazon Linux 2.
Para usar a redis-cli para se conectar a um cluster do MemoryDB no Amazon Linux 2 ou no Amazon Linux
Baixe e compile o utilitário redis-cli. Esse utilitário está incluído na distribuição do software Redis OSS.
No prompt de comando da instância do EC2, digite os comandos apropriados para a versão do Linux que você está usando.
Amazon Linux 2023
Se estiver usando o Amazon Linux 2023, digite o seguinte:
sudo yum install redis6 -yEntão, digite o comando a seguir, substituindo o endpoint do seu cluster e porta pelos mostrados neste exemplo.
redis-cli -hPrimary or Configuration Endpoint--tls -p 6379Para obter mais informações sobre como localizar o endpoint, consulte Localize seus endpoints de nó.
Amazon Linux 2
Se estiver usando o Amazon Linux 2, digite o seguinte:
sudo yum -y install openssl-devel gcc wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make distclean make redis-cli BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/Amazon Linux
Se estiver usando o Amazon Linux, digite o seguinte:
sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make redis-cli CC=clang BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/No Amazon Linux, também pode ser necessário executar as seguintes etapas adicionais:
sudo yum install clang CC=clang make sudo make installDepois de baixar e instalar o utilitário redis-cli, recomendamos executar o comando opcional
make-test.-
Para se conectar a um cluster com criptografia e autenticação habilitadas, digite este comando:
redis-cli -hPrimary or Configuration Endpoint--tls -a'your-password'-p 6379nota
Se você instalar o redis6 no Amazon Linux 2023, agora poderá usar o comando
redis6-cliem vez deredis-cli:redis6-cli -h Primary or Configuration Endpoint --tls -p 6379
Etapa 5: excluir um cluster
Enquanto um cluster estiver no estado disponível, você será cobrado por ele, independentemente de o estar ou não. Para interromper as cobranças, exclua o cluster.
Atenção
Ao excluir um cluster do MemoryDB, seus snapshots manuais são retidos. Também é possível criar um snapshot final antes que o cluster seja excluído. Os snapshots automáticos não são retidos. Para obter mais informações, consulte Snapshots e restauração .
É necessário ter a permissão
CreateSnapshotpara criar um snapshot final. Sem essa permissão, a chamada de API falhará com uma exceçãoAccess Denied.
O procedimento a seguir exclui um único cluster da sua implantação. Para excluir vários clusters, repita o procedimento para cada cluster que deseja excluir. Você não precisa esperar a finalização da exclusão de um cluster antes de iniciar o procedimento para excluir outro.
Para excluir um cluster
-
Faça login no Console de gerenciamento da AWS e abra o console do MemoryDB em https://console.aws.amazon.com/memorydb/
. -
Para escolher o cluster a ser excluído, selecione o botão de opção ao lado do nome do cluster na lista de clusters. Nesse caso, o nome do cluster do que você criou em Etapa 2: criar um cluster.
-
Em Ações, escolha Excluir.
-
Primeiro, escolha se deseja criar um snapshot do cluster antes de excluí-lo e, em seguida, insira
deletena caixa de confirmação e Excluir para excluir o cluster, ou escolha Cancelar para manter o cluster.Se você escolheu Excluir, o status do cluster muda para excluindo.
Assim que o cluster não estiver mais relacionado na lista de clusters, você para de ser cobrado por ele.
O código a seguir exclui o cluster my-cluster. Neste caso, substitua my-cluster pelo nome do cluster do que você criou em Etapa 2: criar um cluster.
aws memorydb delete-cluster --cluster-namemy-cluster
A operação delete-cluster da CLI exclui apenas um cluster. Para excluir vários clusters, chame delete-cluster para cada cluster que você deseja excluir. Você não precisa esperar a finalização da exclusão de um cluster antes de excluir outro.
Para Linux, macOS ou Unix:
aws memorydb delete-cluster \ --cluster-namemy-cluster\ --regionus-east-1
Para Windows:
aws memorydb delete-cluster ^ --cluster-namemy-cluster^ --regionus-east-1
Para obter mais informações, consulte delete-cluster.
O código a seguir exclui o cluster my-cluster. Neste caso, substitua my-cluster pelo nome do cluster do que você criou em Etapa 2: criar um cluster.
https://memory-db.us-east-1.amazonaws.com/ ?Action=DeleteCluster &ClusterName=my-cluster &Region=us-east-1 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210802T220302Z &X-Amz-Algorithm=Amazon4-HMAC-SHA256 &X-Amz-Date=20210802T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20210802T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
A operação DeleteCluster da API exclui apenas um cluster. Para excluir vários clusters, chame DeleteCluster para cada cluster que você deseja excluir. Você não precisa esperar a finalização da exclusão de um cluster antes de excluir outro.
Para obter mais informações, consulte DeleteCluster.
Próximas etapas
Agora que tentou o exercício de Conceitos básicos, você pode explorar as seções a seguir para saber mais sobre o MemoryDB e as ferramentas disponíveis: