Ao usar o AWS re:Post, você concorda com os AWS re:Post Termos de uso

Como faço para testar minha conexão com um cluster ElastiCache Redis OSS ou Memcached?

9 minuto de leitura
0

Quero testar minha conexão com um cluster do Amazon ElastiCache Redis OSS ou do Amazon ElastiCache Memcached a partir de um cliente baseado em Linux.

Resolução

Observação: A resolução a seguir testa uma conexão somente para uso não planejado. Para obter uma lista de clientes Redis compatíveis, consulte Conectar com clientes Redis no site do Redis.

O Amazon ElastiCache é compatível com mecanismos de valores-chave na memória do Redis OSS e Memcached. Ao iniciar um cluster de cache do ElastiCache, escolha seu mecanismo preferido.

Para Memcached com Java, .NET ou PHP, é uma prática recomendada usar clientes do ElastiCache com Descoberta automática. Clientes do ElastiCache com Descoberta automática identificam automaticamente novos nós do ElastiCache quando eles são adicionados ao cluster de cache.

Criar o cluster ElastiCache

Para criar um cluster do ElastiCache Redis OSS, consulte Criação de um cluster para Valkey ou Redis OSS.

Para criar um cluster do Memcached, consulte Criação de um cluster para o Memcached.

Conectar-se ao cluster do Redis OSS do ElastiCache

O ElastiCache é compatível com clusters Redis OSS no modo de cluster desativado (CMD) e no modo de cluster ativado (CME). Para testar uma conexão com esses clusters, use o utilitário redis-cli ou redis6-cli. As versões mais recentes do redis-cli e do redis6-cli oferecem suporte a SSL/TLS para se conectar a clusters com criptografia ou autenticação ativada.

Baixe e compile o utilitário redis-cli na instância do Amazon Elastic Compute Cloud (Amazon EC2) da qual você deseja se conectar. Para obter mais informações, consulte Comece a usar o Amazon EC2.

Observação: O exemplo a seguir usa instâncias do Amazon EC2 que executam Amazon Linux, Amazon Linux 2 e Amazon Linux 2023. Para instalar e compilar o redis-cli e o redis6-cli com outras distribuições Linux, consulte a documentação do seu sistema operacional.

Para se conectar ao cluster do ElastiCache Redis OSS, execute um dos seguintes comandos para seu sistema operacional.

Amazon Linux 2023:

sudo yum install redis6 -y

Amazon Linux 2:

sudo amazon-linux-extras install epel -y
sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y
sudo wget http://download.redis.io/redis-stable.tar.gz  
sudo tar xvzf redis-stable.tar.gz
cd redis-stable
sudo make BUILD_TLS=yes

Amazon Linux:

sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget
sudo wget http://download.redis.io/redis-stable.tar.gz
sudo tar xvzf redis-stable.tar.gz
cd redis-stable
sudo CC=clang make BUILD_TLS=yes

Quando o Redis-cli se conecta ao Redis, ele usa uma conexão TCP não criptografada. Quando o redis-cli é compilado, a opção BUILD_TLS=yes ativa o SSL/TLS. Se o cluster ao qual você se conecta não tiver criptografia em trânsito, você não precisará da opção Build_TLS=yes.

Observação: Ao instalar o pacote redis6, você instala automaticamente o redis6-cli com suporte SSL/TLS padrão.

Para obter informações sobre como encontrar endpoints Redis, consulte Encontrando endpoints de conexão no ElastiCache.

Nas etapas a seguir, clusters criptografados ou não criptografados se referem à criptografia em trânsito.

Conecte-se a um cluster CMD não criptografado

Observação: Nos comandos a seguir, substitua change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com pelo endpoint do seu cluster e 6379 pelo seu número de porta.

Execute um dos seguintes comandos para seu sistema operacional.

Amazon Linux 2023:

redis6-cli -h change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com -p 6379

Amazon Linux e Amazon Linux 2:

src/redis-cli -h change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com -p 6379

O comando anterior retorna um prompt de comando do Redis semelhante ao exemplo a seguir:

change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com:6379>

Depois de se conectar ao cluster, você pode executar os comandos do Redis.

Exemplo de comando:

set a "hello"
OK
get a
"hello"
quit

Para obter mais informações, consulte Comandos no site do Redis.

Conecte-se a um cluster CME não criptografado

Observação: Nos comandos a seguir, substitua cluster-disable-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com pelo endpoint de configuração do seu cluster e 6379 pelo seu número de porta.

Execute um dos seguintes comandos para seu sistema operacional.

Amazon Linux 2023:

redis6-cli -h cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com -c -p 6379

Amazon Linux e Amazon Linux 2:

src/redis-cli -h cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com -c -p 6379

Observação: Nos comandos anteriores, a opção -c ativa o modo de cluster após os redirecionamentos -ASK e -MOVED. Se você não ativar o redirecionamento, o comando retornará o erro MOVED. Para obter mais informações, consulte Funções de cliente e servidor no protocolo de cluster do Redis e Especificação de cluster no Redis no site do Redis.

O comando anterior retorna um prompt de comando do Redis semelhante ao exemplo a seguir:

cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com:>

Exemplos de comandos do Redis:

set x Hi-> Redirected to slot [16287] located at 172.31.28.122:6379OK
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"

Conectar-se a um cluster com criptografia e autenticação ativadas

Para ativar AUTH, você também deve ativar a criptografia em trânsito. Para obter mais informações, consulte Criptografia em trânsito (TLS) do ElastiCache.

Para conectar-se a clusters criptografados com CME e CMD, use a opção --tls no redis-cli. Se um cluster tiver um token AUTH definido, use a opção -a para fornecer uma senha AUTH.

Observação: Na versão 7 e posteriores do Redis, a criptografia em trânsito é ativada para clusters existentes do ElastiCache. Você não precisa reconstruir ou reprovisionar seu cluster para alterar a configuração de TLS do seu cluster Redis OSS. E a disponibilidade das aplicações não é afetada.

Ao ativar a criptografia em trânsito, atualize a configuração do cliente para usar os novos endpoints específicos de TLS.

Conecte-se a clusters criptografados por CMD

Observação: Nos comandos a seguir, substitua master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com pelo endpoint de configuração do seu cluster e 6379 pelo seu número de porta.

Para se conectar a um cluster CMD com criptografia e autenticação ativadas, execute um dos seguintes comandos para seu sistema operacional.

Amazon Linux 2023:

redis6-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -a PASSWORD -p 6379

Amazon Linux e Amazon Linux 2:

src/redis-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -a PASSWORD -p 6379

Para se conectar a um cluster CMD que tenha somente a criptografia ativada, execute um dos seguintes comandos para seu sistema operacional:

Amazon Linux 2023:

redis6-cli -h master.cluster-disabled-noauth.54awdt.use1.cache.amazonaws.com --tls -p 6379

Amazon Linux e Amazon Linux 2:

src/redis-cli -h master.cluster-disabled-noauth.54awdt.use1.cache.amazonaws.com --tls -p 6379

Conecte-se a clusters criptografados pelo CME

Para se conectar a um cluster CME com criptografia e autenticação ativadas, execute um dos seguintes comandos para seu sistema operacional:

Amazon Linux 2023:

redis6-cli -h clustercfg.tlswithauth.54awdt.use1.cache.amazonaws.com --tls -c -a PASSWORD -p 6379

Amazon Linux e Amazon Linux 2:

src/redis-cli -h clustercfg.tlswithauth.54awdt.use1.cache.amazonaws.com --tls -c -a PASSWORD -p 6379

Para se conectar a um cluster CME que tenha somente a criptografia ativada, execute um dos seguintes comandos para seu sistema operacional:

Amazon Linux 2023:

redis6-cli -h clustercfg.tlswithoutauth.54awdt.use1.cache.amazonaws.com --tls -c -p 6379

Amazon Linux e Amazon Linux 2:

src/redis-cli -h clustercfg.tlswithoutauth.54awdt.use1.cache.amazonaws.com --tls -c -p 6379

Alternativa ao redis-cli

Para executar um teste curto sem a compilação redis-cli, use telnet ou openssl para se conectar a um cluster CMD.

Depois de se conectar, você pode executar os comandos do Redis.

O comando de exemplo a seguir se conecta a um cluster CMD criptografado ou autenticado:

openssl s_client -connect master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com:6379

Se você definir uma senha para o cluster, conecte-se primeiro ao cluster. Depois de se conectar, use o comando a seguir para autenticar o cluster e pressione a tecla Enter:

Auth Password

Observação: No comando do exemplo anterior, substitua Senha pela senha do seu cluster

O exemplo de comando a seguir faz a conexão com um cluster CDM sem criptografia ou autenticação ativadas:

telnet change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com 6379

Conectar-se a um cluster ElastiCache Memcached

Para se conectar a um cluster Memcached, use o utilitário telnet.

Conectar-se a um cluster Memcached sem criptografia em trânsito

Conclua as seguintes etapas:

  1. Instale o utilitário telnet na instância da qual você deseja testar uma conexão.

    Para sistemas baseados em CentOS, execute o seguinte comando:

    sudo yum install telnet

    Para sistemas baseados em Debian (Ubuntu), execute o seguinte comando:

    sudo apt-get install telnet

    Para se conectar a uma instância, consulte Conectar-se à sua instância do EC2.

  2. Para se conectar ao endpoint, execute o comando a seguir:

    telnet mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 11211

    Observação: Substitua mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com pelo seu endpoint e 11211 pela porta do seu nó.

    Exemplo de saída:

    Trying 128.0.0.1...Connected to mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com.Escape character is '^]'.
    >

    Agora você está conectado a um nó e pode executar comandos do Memcached.

    Exemplos de comandos do Memcached:

    set a 0 0 5helloSTORED
    get a
    VALUE a 0 5
    hello
    END

Conectar-se a um cluster MemCached com criptografia em trânsito

A criptografia em trânsito é compatível com clusters que executam as versões 1.6.12 e posteriores do Memcached. O Telnet não usa criptografia. Para se conectar a um cluster MemCached com criptografia ativada, use o cliente openssl.

Observação: Você pode ativar a criptografia em trânsito em um cluster somente ao criá-lo. Você não pode modificar o cluster para ativar ou desativar a criptografia em trânsito. Para obter mais informações, consulte Criptografia em trânsito (TLS) do ElastiCache.

Para se conectar ao endpoint, execute o comando a seguir:

openssl s_client -quiet -crlf -connect testwithtls.qtyxq7.cfg.apse2.cache.amazonaws.com:11211

Observação: Substitua testwithtls.qtyxq7.cfg.apse2.cache.amazonaws.com pelo seu endpoint e 11211 pela porta do seu nó.

Exemplo de saída:

depth=2 C = US, O = Amazon, CN = Amazon Root CA 1  verify return:1  depth=1 C = US, O = Amazon, CN = Amazon RSA 2048 M02  
verify return:1  
depth=0 CN = *.testwithtls.qtyxq7.apse2.cache.amazonaws.com  
verify return:1

Agora você está conectado a um nó e pode executar comandos do Memcached.

Exemplos de comandos do Memcached:

set a 0 0 5helloSTORED
get a
VALUE a 0 5
hello
END
AWS OFICIAL
AWS OFICIALAtualizada há 2 meses