Etapa 4: conexão ao nó do cluster - Amazon ElastiCache (Redis OSS)

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á.

Etapa 4: conexão ao nó do 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 nó de cluster apenas se você tiver a autorizado a fazê-lo.

Localize seus endpoints de nó

Quando seu cluster estiver no estado available (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.

Encontrando os endpoints de um cluster Redis OSS (modo de cluster desativado) (console)

Se um cluster Redis OSS (modo de cluster desativado) tiver somente um nó, o endpoint do nó será usado 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 ElastiCache (Redis OSS). 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 seu cluster ElastiCache (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 encontrar os endpoints de um cluster Redis OSS (modo de cluster desativado)
  1. Faça login no AWS Management Console e abra o ElastiCache console em https://console.aws.amazon.com/elasticache/.

  2. No painel de navegação, escolha Caches do Redis OSS.

    A tela de clusters aparecerá com uma lista que incluirá todos os caches sem servidor do Redis OSS existentes, clusters Redis OSS (modo de cluster desativado) e Redis OSS (modo de cluster ativado). Selecione o cluster que você criou na seção Criação de um cluster Redis OSS (modo de cluster desativado) (console).

  3. Para encontrar os endpoints Primário e/ou Leitor do cluster, escolha o nome do cluster (e não o botão de opção).

    Imagem: endpoint primário para um cluster Redis OSS (modo de cluster desativado)

    Endpoints primários e Reader para um cluster Redis OSS (modo de cluster desativado)

    Se houver apenas um nó no cluster, não haverá um endpoint primário, e você poderá continuar na próxima etapa.

  4. Se o cluster Redis OSS (modo de cluster desativado) tiver nós de réplica, você poderá encontrar os endpoints do nó de réplica do cluster escolhendo o nome do cluster e, em seguida, escolhendo a guia Nodes.

    A tela de nós aparece com cada nó do cluster, primário e réplicas, listados com seu respectivo endpoint.

    Imagem: endpoints de nós para um cluster Redis OSS (modo de cluster desativado)

    Endpoints de nós para um cluster Redis OSS (modo de cluster desativado)

  5. Como copiar um endpoint para a área de transferência:

    1. Um endpoint por vez, localize o endpoint que você deseja copiar.

    2. 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 de cluster desativado) se parece com o 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 necessário, você pode fazer login em uma instância do EC2 e se conectar ao cluster ou ao grupo de replicação. No exemplo a seguir, você usa o utilitário redis-cli para se conectar a um cluster. A versão mais recente da redis-cli também oferece suporte a SSL/TLS para conexão com clusters habilitados para criptografia e autenticação.

O exemplo a seguir usa instâncias do Amazon EC2 executando o Amazon Linux e o Amazon Linux 2. Para obter detalhes sobre como instalar e compilar a redis-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 redis-cli somente para uso não planejado. Para obter uma lista dos clientes Redis OSS compatíveis, consulte a documentação do Redis OSS. Para obter exemplos de uso dos AWS SDKs com ElastiCache, consulteConceitos básicos do ElastiCache e dos SDKs da AWS.

Conexão a um cluster não criptografado com modo cluster desabilitado

  1. Execute o seguinte comando para se conectar ao cluster e substitua primary-endpoint e port-number pelo endpoint do seu cluster e pelo número da porta. (A porta padrão para Redis OSS é 6379.)

    src/redis-cli -h primary-endpoint -p port number

    O resultado em um prompt de comando do Redis OSS é semelhante ao seguinte:

    primary-endpoint:port number
  2. Agora você pode executar comandos do Redis OSS.

    set x Hello OK get x "Hello"

Conectar a um cluster não criptografado com modo cluster habilitado

  1. Execute o seguinte comando para se conectar ao cluster e substitua configuration-endpoint e port-number pelo endpoint do seu cluster e pelo número da porta. (A porta padrão para Redis OSS é 6379.)

    src/redis-cli -h configuration-endpoint -c -p port 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 do Redis OSS é semelhante ao seguinte:

    configuration-endpoint:port number
  2. Agora você pode executar comandos do 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 a especificação do cluster Redis OSS.

    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"

Conexão a um cluster com criptografia/autenticação habilitada

Por padrão, o redis-cli usa uma conexão TCP não criptografada ao se conectar ao Redis OSS. A opção BUILD_TLS=yes habilita o SSL/TLS no momento da compilação da redis-cli, conforme mostrado na seção Baixar e configurar o redis-cli. 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 redis-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, substitua cluster-endpoit e port-number pelo endpoint do seu cluster e seu número de porta. (A porta padrão para 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/redis-cli -h cluster-endpoint --tls -a your-password -p port number

O exemplo a seguir conecta a um cluster somente habilitado para criptografia:

src/redis-cli -h cluster-endpoint --tls -p port 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/redis-cli -c -h cluster-endpoint --tls -a your-password -p port number

O exemplo a seguir conecta a um cluster somente habilitado para criptografia:

src/redis-cli -c -h cluster-endpoint --tls -p port number

Depois de se conectar ao cluster, você pode executar os comandos do Redis OSS conforme mostrado nos exemplos anteriores para clusters não criptografados.

Alternativa com 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 redis-cli, você pode usar telnet ou openssl. Nos exemplos de comandos a seguir, substitua cluster-endpoit e port-number pelo endpoint do seu cluster e seu número de porta. (A porta padrão para Redis OSS é 6379.)

O exemplo a seguir conecta a um cluster habilitado para criptografia e/ou autenticação com modo cluster desabilitado:

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, substitua your-password 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 Redis OSS a partir de uma instância EC2 do Windows usando a CLI do Redis OSS, você deve baixar o pacote redis-cli e usar o redis-cli.exe para se conectar ao cluster do Redis OSS a partir de uma instância EC2 do Windows.

No exemplo a seguir, você usa o utilitário redis-cli para se conectar a um cluster sem criptografia habilitada e executando o Redis OSS. Para obter mais informações sobre o Redis OSS e os comandos disponíveis do Redis OSS, consulte Comandos do Redis OSS no site do Redis OSS.

Para se conectar a um cluster Redis OSS que não está habilitado para criptografia usando redis-cli
  1. Conexão à sua instância do Amazon EC2 com o utilitário de conexão de sua escolha. Para obter instruções sobre como se conectar a uma instância do Amazon EC2, consulte o Guia de conceitos básicos do Amazon EC2.

  2. 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, vá para o diretório Redis OSS e execute o comando. c:\Redis>redis-cli -h Redis_Cluster_Endpoint -p 6379

    Por exemplo: .

    c:\Redis>redis-cli -h cmd.xxxxxxx.ng.0001.usw2.cache.amazonaws.com -p 6379
  3. Execute os comandos do Redis OSS.

    Agora você está conectado ao cluster e pode executar comandos do Redis OSS como os seguintes.

    set a "hello" // Set key "a" with a string value and no expiration OK get 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 seconds get b (nil) // key has expired, nothing returned quit // Exit from redis-cli