As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Projetando seu próprio ElastiCache cluster Redis OSS
A seguir estão as ações únicas que você deve realizar para criar seu próprio cluster ElastiCache Redis OSS.
Para obter mais informações sobre a configuração, ElastiCache consulteConf ElastiCacheiguração.
Tópicos
Etapa 1: criar um grupo de sub-redes
Antes de criar seu cluster, crie primeiro um grupo de sub-redes. Um grupo de sub-redes de cache é uma coleção de sub-redes que você pode querer designar aos seus clusters de cache em uma VPC. Ao executar um cluster de cache em uma VPC, é necessário selecionar um grupo de sub-redes de cache. Em seguida, ElastiCache usa esse grupo de sub-redes de cache para atribuir endereços IP dentro dessa sub-rede a cada nó de cache no cluster.
Quando você criar um novo grupo de sub-redes, observe o número de endereços IP disponíveis. Se a sub-rede tiver muito poucos endereços IP livres, talvez haja um limite no que diz respeito ao número de nós adicionais que é possível acrescentar ao cluster. Para resolver esse problema, você pode atribuir uma ou mais sub-redes a um grupo de sub-redes para ter um número suficiente de endereços IP na zona de disponibilidade do seu cluster. Depois disso, você pode adicionar mais nós ao seu cluster.
Os procedimentos a seguir mostram como criar um grupo de sub-rede chamado mysubnetgroup
(console) e a AWS CLI.
O procedimento a seguir mostra como criar um grupo de sub-redes (console).
Como criar um grupo de sub-redes (console)
-
Faça login no AWS Management Console e abra o ElastiCache console em https://console.aws.amazon.com/elasticache/
. -
Na lista de navegação, escolha Subnet Groups (Grupos de sub-redes).
-
Selecione Create Subnet Group (Criar grupo de sub-redes).
-
No assistente Create Subnet Group (Criar grupo de sub-redes), faça o seguinte. Quando estiver satisfeito com todas as configurações, clique em Yes, Create (Sim, criar).
-
Na caixa Name (Nome), digite um nome para o seu grupo de sub-redes.
-
Na caixa Description (Descrição), digite uma descrição para seu grupo de sub-redes.
-
Na caixa VPC ID (ID da VPC_, escolha a Amazon VPC que você criou.
-
Nas listas Availability Zone (Zona de disponibilidade) e Subnet ID (ID da sub-rede), escolha a zona de disponibilidade ou a Local Zone (Zona local) e o ID da sub-rede privada, e depois escolha Add (Adicionar).
-
-
Na mensagem de confirmação exibida, escolha Close (Fechar).
Seu novo grupo de sub-redes aparece na lista Grupos de sub-redes do ElastiCache console. Na parte inferior da janela, você pode escolher o grupo de sub-redes para ver detalhes, como todas as sub-redes associadas a esse grupo.
No prompt de comando, use o comando create-cache-subnet-group
para criar um grupo de sub-redes.
Para Linux, macOS ou Unix:
aws elasticache create-cache-subnet-group \ --cache-subnet-group-name
mysubnetgroup
\ --cache-subnet-group-description"Testing"
\ --subnet-idssubnet-53df9c3a
Para Windows:
aws elasticache create-cache-subnet-group ^ --cache-subnet-group-name
mysubnetgroup
^ --cache-subnet-group-description"Testing"
^ --subnet-idssubnet-53df9c3a
Esse comando deve produzir um resultado semelhante ao seguinte:
{
"CacheSubnetGroup": {
"VpcId": "vpc-37c3cd17",
"CacheSubnetGroupDescription": "Testing",
"Subnets": [
{
"SubnetIdentifier": "subnet-53df9c3a",
"SubnetAvailabilityZone": {
"Name": "us-west-2a"
}
}
],
"CacheSubnetGroupName": "mysubnetgroup"
}
}
Para obter mais informações, consulte o AWS CLI tópicocreate-cache-subnet-group.
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 Preparando um cluster em ElastiCache. Para os propósitos deste exercício de introdução, você criará um cluster com o modo cluster desabilitado e poderá aceitar os valores de configuração padrão onde eles se aplicam.
O cluster que você criará estará ativo, e não em execução em uma sandbox. Você incorrerá nas taxas ElastiCache de uso padrão da instância até excluí-la. 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 ElastiCache uso, consulte Amazon ElastiCache
Seu cluster é iniciado em uma nuvem privada virtual (VPC) com base no serviço da Amazon VPC.
Criação de um cluster do Redis OSS (modo cluster desabilitado) (console)
Para criar um cluster Redis OSS (modo de cluster desativado) usando o console ElastiCache
-
Faça login no AWS Management Console e abra o ElastiCache console da Amazon em https://console.aws.amazon.com/elasticache/
. -
Na lista no canto superior direito, escolha a AWS região na qual você deseja iniciar esse cluster.
-
No painel de navegação, escolha Get started (Conceitos básicos).
Escolha Create VPC (Criar VPC) e siga as etapas em Creating a Virtual Private Cloud (VPC) (Criação de uma nuvem privada virtual (VPC)).
Na página do ElastiCache painel, escolha Valkey cache ou Redis OSS cache. Para este exercício, escolheremos o cache Redis OSS e, em seguida, Criar cache Redis OSS.
-
Em Cluster settings (Configurações do cluster), faça o seguinte:
Selecione Configure and create a new cluster (Configurar e criar um novo cluster).
Em Cluster mode (Modo cluster), escolha Disabled (Desabilitado).
-
Para o Cluster info (Informações sobre o cluster), insira um valor para Name (Nome).
-
(Opcional) Insira um valor para Description (Descrição).
Em Location (Local):
Assim que o status do seu cluster estiver disponível, você poderá conceder EC2 à Amazon acesso a ele, conectar-se a ele e começar a usá-lo. Para obter mais informações, consulte Etapa 3. Autorizar o acesso ao cluster e Etapa 4: Conectar-se ao nó de um cluster.
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 Excluindo um cluster no ElastiCache.
exemplo
O código da CLI a seguir cria um cluster de cache Redis OSS (modo cluster desabilitado) sem réplicas.
Para Linux, macOS ou Unix:
aws elasticache create-cache-cluster \ --cache-cluster-id
my-cluster
\ --cache-node-typecache.r4.large
\ --engineredis
\ --num-cache-nodes1
\ --snapshot-arnsarn:aws:s3:::my_bucket/snapshot.rdb
Para Windows:
aws elasticache create-cache-cluster ^ --cache-cluster-id
my-cluster
^ --cache-node-typecache.r4.large
^ --engineredis
^ --num-cache-nodes1
^ --snapshot-arnsarn:aws:s3:::my_bucket/snapshot.rdb
Para trabalhar com o modo de cluster habilitado, consulte os seguintes tópicos:
Para usar o console, consulte Criação de um cluster do Valkey ou Redis OSS (modo cluster habilitado) (console).
Para usar o AWS CLI, consulteCriação de um cluster do Valkey ou Redis OSS (modo cluster habilitado) (AWS CLI).
Etapa 3: autorizar o acesso ao cluster
Esta seção pressupõe que você esteja familiarizado com o lançamento e a conexão com EC2 instâncias da Amazon. Para obter mais informações, consulte o Amazon EC2 Getting Started Guide.
Todos os ElastiCache clusters são projetados para serem acessados a partir de uma EC2 instância da Amazon. O cenário mais comum é acessar um ElastiCache cluster de uma EC2 instância da Amazon na mesma Amazon Virtual Private Cloud (Amazon VPC), o que será o caso deste exercício.
Por padrão, o acesso de rede ao seu cluster é limitado à conta que foi usada para criá-lo. Antes de se conectar a um cluster a partir de uma EC2 instância, você deve autorizar a EC2 instância a acessar o cluster. As etapas necessárias dependem de você ter iniciado seu cluster em EC2 -VPC ou EC2 -Classic.
O caso de uso mais comum é quando um aplicativo implantado em uma EC2 instância precisa se conectar a um cluster na mesma VPC. A maneira mais simples de gerenciar o acesso entre EC2 instâncias e clusters na mesma VPC é fazer o seguinte:
-
Crie um grupo de segurança de VPC para o seu cluster. Esse security group pode ser usado para restringir o acesso às instâncias do cluster. 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 e grupos de replicação Redis OSS é
6379
.Importante
Os grupos ElastiCache de segurança da Amazon são aplicáveis somente a clusters que não estão sendo executados em um ambiente Amazon Virtual Private Cloud (VPC). Se você estiver executando em uma Amazon Virtual Private Cloud, os Grupos de segurança não estarão disponíveis no painel de navegação do console.
Se você estiver executando seus ElastiCache nós em uma Amazon VPC, você controla o acesso aos seus clusters com grupos de segurança da Amazon VPC, que são diferentes dos grupos de segurança. ElastiCache Para obter mais informações sobre o uso ElastiCache em uma Amazon VPC, consulte Amazon VPCs e ElastiCache segurança
-
Crie um grupo de segurança VPC para suas EC2 instâncias (servidores web e de aplicativos). Esse grupo de segurança pode, se necessário, permitir o acesso à EC2 instância pela Internet por meio da tabela de roteamento da VPC. Por exemplo, você pode definir regras nesse grupo de segurança para permitir acesso TCP à EC2 instância pela porta 22.
-
Crie regras personalizadas no grupo de segurança do seu cluster que permitam conexões do grupo de segurança que você criou para suas EC2 instâncias. Isso permitiria que qualquer membro de grupo de segurança acessasse os clusters.
nota
Se você estiver planejando usar Usando zonas locais com ElastiCache, verifique se você as habilitou. Quando você criar um grupo de sub-redes nessa região local, sua VPC será estendida para essa zona local e sua VPC tratará a sub-rede como qualquer sub-rede em qualquer outra zona de disponibilidade. Todos os gateways e tabelas de rotas relevantes serão ajustados automaticamente.
Para criar uma regra em um grupo de segurança de VPC que permita conexões de outro grupo de segurança
-
No painel de navegação, escolha Security Groups (Grupos de segurança).
-
Selecione ou crie um security group que você usará para suas instâncias de cluster. 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 e grupos de replicação Redis OSS é
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 suas EC2 instâncias da Amazon.
-
-
Escolha Save quando terminar.
Depois de habilitar o acesso, você agora estará pronto para se conectar ao nó, conforme discutido na próxima seção.
Para obter informações sobre como acessar seu ElastiCache cluster de uma Amazon VPC diferente, de uma AWS região diferente ou até mesmo de sua rede corporativa, consulte o seguinte:
Etapa 4: conexão ao nó do cluster
Antes de continuar, conclua Etapa 3: autorizar o acesso ao cluster.
Esta seção pressupõe que você criou uma EC2 instância da Amazon e pode se conectar a ela. Para obter instruções sobre como fazer isso, consulte o Amazon EC2 Getting Started Guide.
Uma EC2 instância da Amazon pode se conectar a um nó de cluster somente se você a tiver autorizado a fazer isso.
Localize seus endpoints de nó
Quando seu cluster está no estado disponível e você autorizou o acesso a ele, você pode fazer login em uma EC2 instância da Amazon e se conectar ao cluster. Para isso, primeiro você deve determinar o endpoint.
Localização de endpoints de um cluster do Valkey ou do Redis OSS (modo cluster desabilitado) (console)
Se o cluster do Redis OSS (modo cluster desabilitado) tiver apenas um nó, o endpoint desse nó será usado para tanto para leituras quanto para gravações. Se cluster tiver vários nós, haverá três tipos de endpoints: o endpoint primário, o endpoint leitor e os endpoints de nó.
O endpoint primário é um nome DNS que sempre é resolvido para o nó primário no cluster. O endpoint primário é imune às alterações no seu cluster, como promover uma réplica de leitura para a função primária. Para atividades de gravação, recomendamos que suas aplicações se conectem ao endpoint primário.
Um endpoint de leitura dividirá uniformemente as conexões de entrada com o endpoint entre todas as réplicas de leitura em um cluster OSS ElastiCache for Redis. Fatores adicionais, como quando o aplicativo cria as conexões ou como o aplicativo (re)usa as conexões determinarão a distribuição do tráfego. Os endpoints de leitor acompanham as alterações do cluster em tempo real à medida que réplicas são adicionadas ou removidas. Você pode colocar as várias réplicas de leitura do cluster ElastiCache for Redis OSS em diferentes zonas de AWS disponibilidade (AZ) para garantir a alta disponibilidade dos endpoints de leitura.
nota
Um endpoint leitor não é um balanceador de carga. É um registro DNS que vai resolver para um endereço IP de um dos nós de réplica em uma forma round robin.
Para atividades de leitura, os aplicativos também podem se conectar a qualquer nó no cluster. Ao contrário do endpoint primário, endpoints de nó são resolvidos para endpoints específicos. Se você fizer uma alteração no cluster, como adicionar ou excluir uma réplica, deverá atualizar os endpoints de nó no seu aplicativo.
Para localizar um endpoint de um cluster do Redis OSS (modo cluster desabilitado) (console)
-
Faça login no AWS Management Console e abra o ElastiCache console em https://console.aws.amazon.com/elasticache/
. -
No painel de navegação, escolha Caches do Redis OSS.
A tela de clusters aparecerá com uma lista que vai incluir todos os caches com tecnologia sem servidor do Valkey ou Redis OSS, clusters do Redis OSS (modo de cluster desabilitado) e do Redis OSS (modo de cluster habilitado). Selecione o cluster que você criou na seção Criação de um cluster do Redis OSS (modo cluster desabilitado) (console).
-
Para encontrar os endpoints do Primary and/or Reader do cluster, escolha o nome do cluster (não o botão de opção).
Endpoints primários e leitores para um cluster do Redis OSS (modo cluster desabilitado)
Se houver apenas um nó no cluster, não haverá um endpoint primário, e você poderá continuar na próxima etapa.
-
Se o cluster do Redis OSS (modo cluster desabilitado) tiver nós de réplica, você poderá encontrar seus endpoints dos nós de réplica escolhendo o nome do cluster e escolhendo a guia Nós.
A tela de nós aparece com cada nó do cluster, primário e réplicas, listados com seu respectivo endpoint.
Endpoint de nó para um cluster do Redis OSS (modo cluster desabilitado)
-
Como copiar um endpoint para a área de transferência:
-
Um endpoint por vez, localize o endpoint que você deseja copiar.
-
Escolha o ícone de cópia diretamente na frente do endpoint.
O endpoint agora é copiado para a área de transferência. Para obter informações sobre como usar o endpoint para se conectar a um nó, consulte Conexão a nós.
-
Um endpoint primário do Redis OSS (modo cluster desabilitado) se assemelha ao seguinte. Há uma diferença, dependendo de a criptografia em trânsito estar ou não habilitada.
Criptografia em trânsito não habilitada
clusterName.xxxxxx
.nodeId
.regionAndAz
.cache.amazonaws.com:port
redis-01.7abc2d.0001.usw2.cache.amazonaws.com:6379
Criptografia em trânsito habilitada
master.clusterName
.xxxxxx
.regionAndAz
.cache.amazonaws.com:port
master.ncit.ameaqx.use1.cache.amazonaws.com:6379
Para explorar mais sobre como ocalizar os endpoints, consulte os tópicos relevantes para o tipo de mecanismo e de cluster que você está executando.
Agora que você tem o endpoint de que precisa, pode fazer login em uma EC2 instância e se conectar ao cluster ou ao grupo de replicação. No exemplo a seguir, você usa o utilitário valkey-cli para se conectar a um cluster. A versão mais recente do valkey-cli também suporta SSL/TLS a conexão de clusters habilitados. encryption/authentication
O exemplo a seguir usa EC2 instâncias da Amazon executando o Amazon Linux e o Amazon Linux 2. Para obter detalhes sobre como instalar e compilar a valkey-cli com outras distribuições Linux, consulte a documentação do seu sistema operacional específico.
nota
Este processo abrange o teste de uma conexão usando o utilitário valkey-cli somente para uso não planejado. Para obter uma lista dos clientes compatíveis, consulte a Documentação do Valkey
Conexão a um cluster não criptografado com modo cluster desabilitado
Execute o comando a seguir para se conectar ao cluster
primary-endpoint
e substituí-loport number
com o endpoint do seu cluster e o número da sua porta. (A porta padrão para o Valkey e Redis OSS é 6379.)src/valkey-cli -h
primary-endpoint
-pport number
O resultado em um prompt de comando é semelhante ao seguinte:
primary-endpoint
:port number
Agora você pode executar comandos do Valkey e Redis OSS.
set x Hello OK get x "Hello"
Conectar a um cluster não criptografado com modo cluster habilitado
Execute o comando a seguir para se conectar ao cluster
configuration-endpoint
e substituí-loport number
com o endpoint do seu cluster e o número da sua porta. (A porta padrão para o Valkey e Redis OSS é 6379.)src/valkey-cli -h
configuration-endpoint
-c -pport number
nota
No comando anterior, a opção -c habilita o modo cluster em seguida aos redirecionamentos -ASK e -MOVED
. O resultado em um prompt de comando é semelhante ao seguinte:
configuration-endpoint
:port number
Agora você pode executar comandos do Valkey e Redis OSS. Observe que o redirecionamento ocorre porque você o habilitou usando a opção -c. Se o redirecionamento não estiver habilitado, o comando retornará o erro MOVED. Para obter mais informações sobre o erro MOVED, consulte Especificação do cluster
. set x Hi -> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"
Conectando-se a um cluster Encryption/Authentication habilitado
Por padrão, a valkey-cli usa uma conexão TCP não criptografada ao se conectar ao Valkey e Redis OSS. A opção é BUILD_TLS=yes
SSL/TLS ativada no momento da compilação do valkey-cli, conforme mostrado na seção anterior. Baixar e configurar o acesso à linha de comando A ativação do AUTH é opcional. No entanto, você deve habilitar a criptografia em trânsito para habilitar o AUTH. Para obter mais detalhes sobre ElastiCache criptografia e autenticação, consulteElastiCache criptografia em trânsito (TLS).
nota
Você pode usar a opção --tls
com a valkey-cli para se conectar a clusters criptografados com modo cluster habilitado e desabilitado. Se um cluster tiver um conjunto de tokens AUTH, você poderá usar a opção -a
para fornecer uma senha do AUTH.
Nos exemplos a seguir, certifique-se de substituir cluster-endpoint
e port number
com o endpoint do seu cluster e o número da sua porta. (A porta padrão para o Redis OSS é 6379.)
Conexão a clusters criptografados com modo cluster desabilitado
O exemplo a seguir conecta a um cluster habilitado para criptografia e autenticação:
src/valkey-cli -h
cluster-endpoint
--tls -ayour-password
-pport number
O exemplo a seguir conecta a um cluster somente habilitado para criptografia:
src/valkey-cli -h
cluster-endpoint
--tls -pport number
Conexão a clusters criptografados com modo cluster habilitado
O exemplo a seguir conecta a um cluster habilitado para criptografia e autenticação:
src/valkey-cli -c -h
cluster-endpoint
--tls -ayour-password
-pport number
O exemplo a seguir conecta a um cluster somente habilitado para criptografia:
src/valkey-cli -c -h
cluster-endpoint
--tls -pport number
Depois de se conectar ao cluster, você poderá executar os comandos do Valkey ou Redis OSS, conforme mostrado nos exemplos anteriores para clusters não criptografados.
Uma alternativa ao valkey-cli ou ao Redis-cli
Se o cluster não estiver habilitado para o modo cluster e você precisar fazer uma conexão com o cluster para um teste curto, mas sem passar pela compilação da valkey-cli ou redis-cli, você pode usar telnet ou openssl. Nos comandos de exemplo a seguir, certifique-se de substituir cluster-endpoint
e port number
com o endpoint do seu cluster e o número da sua porta. (A porta padrão para o Redis OSS é 6379.)
O exemplo a seguir se conecta a um cluster desativado no modo de cluster habilitado para and/or autenticação por criptografia:
openssl s_client -connect
cluster-endpoint
:port number
Se o cluster tiver uma senha definida, conecte-se primeiro ao cluster. Após a conexão, autentique o cluster usando o seguinte comando, depois pressione a tecla Enter
. No exemplo a seguir, your-password
substitua pela senha do seu cluster.
Auth
your-password
O exemplo a seguir conecta a um cluster com modo cluster desabilitado que não tenha criptografia ou autenticação habilitada:
telnet
cluster-endpoint
port number
Para se conectar ao cluster a partir de uma instância do EC2 Windows usando a CLI do OSS Valkey ou Redis, você deve baixar o pacote valkey-cli e usar o valkey-cli.exe para se conectar ao cluster OSS Valkey ou Redis a partir de uma instância do Windows. EC2
No exemplo a seguir, use o utilitário valkey-cli para se conectar a um cluster que não está habilitado para criptografia e que está executando o Valkey ou Redis OSS. Para obter mais informações sobre o Valkey e os comandos disponíveis, consulte Comandos do Valkey
Para se conectar a um cluster do Valkey ou Redis OSS não habilitado para criptografia usando o valkey-cli
-
Conecte-se à sua EC2 instância da Amazon usando o utilitário de conexão de sua escolha. Para obter instruções sobre como se conectar a uma EC2 instância da Amazon, consulte o Amazon EC2 Getting Started Guide.
Copie e cole o link https://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip
em um navegador da Internet para baixar o arquivo zip para o cliente Redis OSS a partir da versão disponível em GitHub https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504 Extraia o arquivo zip para a pasta/caminho desejado.
Abra o prompt de comando, mude para o diretório do Valkey e execute o comando
c:\Valkey>valkey-cli -h
.Valkey_Cluster_Endpoint
-p 6379Por exemplo:
c:\Valkey>valkey-cli -h cmd.xxxxxxx.ng.0001.usw2.cache.amazonaws.com -p 6379
-
Execute os comandos Valkey ou Redis OSS.
Agora, você está conectado ao cluster e pode executar comandos Valkey ou Redis OSS como os seguintes.
set a "hello"
// Set key "a" with a string value and no expiration OKget a
// Get value for key "a" "hello"get b
// Get value for key "b" results in miss (nil)set b "Good-bye" EX 5
// Set key "b" with a string value and a 5 second expiration "Good-bye"get b
// Get value for key "b" "Good-bye" // wait >= 5 secondsget b
(nil) // key has expired, nothing returnedquit
// Exit from valkey-cli