Esta página foi traduzida pela API Cloud Translation.
Switch to English

Como se conectar a uma instância do Redis

Nesta página, você aprende como se conectar a uma instância do Redis usando o Compute Engine e o Google Kubernetes Engine. Ela também fornece instruções para testar comandos básicos do Redis com o Telnet.

Para uma lista dos ambientes do Google Cloud compatíveis com o Memorystore para Redis, consulte Ambientes compatíveis. Alguns ambientes sem servidor compatíveis com o Memorystore exigem um conector de acesso VPC sem servidor. Consulte Requisitos do conector de acesso VPC sem servidor para mais detalhes.

Como se conectar a uma instância do Redis a partir de uma VM do Compute Engine usando telnet

É possível conectar-se à instância do Redis a partir de qualquer instância de VM do Compute Engine localizada no mesmo projeto, região e rede que a instância do Redis.

  1. Se você ainda não tiver uma VM do Compute Engine no mesmo projeto, região e rede que sua instância do Redis, crie uma e conecte-se a ela seguindo o Guia de início rápido sobre como usar uma VM do Linux.

  2. Instale telnet usando apt-get:

    sudo apt-get install telnet
    
  3. A partir do terminal, use o telnet para acessar o endereço IP da instância do Redis, substituindo variables pelos valores apropriados.

    telnet instance-ip-address 6379
    

    Se for bem-sucedido, o comando retornará este resultado:

    Trying instance-ip-address…
    Connected to instance-ip-address
    
  4. Na sessão telnet, digite alguns comandos do Redis:

    Insira:

    PING
    

    Result:

    PONG
    

    Enter

    SET HELLO WORLD
    

    Result:

    +OK
    

    Insira:

    GET HELLO
    

    Result:

    $5
    WORLD
    

Como se conectar a uma instância do Redis a partir de uma VM do Compute Engine usando redis-cli

É possível conectar-se à instância do Redis a partir de qualquer instância de VM do Compute Engine localizada no mesmo projeto, região e rede que a instância do Redis.

  1. Se você ainda não tem uma VM do Compute Engine no mesmo projeto, região e rede que sua instância do Redis, crie uma e conecte-se a ela seguindo o Guia de início rápido sobre como usar uma VM do Linux.

  2. Instale redis-cli na VM do Compute Engine executando o seguinte comando no terminal SSH do Compute Engine:

    sudo apt-get install redis-server
    
  3. Execute o seguinte comando no terminal do Compute Engine, substituindo variables pelos valores apropriados.

    redis-cli -h redis-instance-ip-address
    

    Agora você está conectado à instância do Redis usando redis-cli.

  4. Após concluir o teste de conexão com a instância do Redis, exclua a VM do Compute Engine usada para se conectar à instância do Redis. Isso ajuda a evitar cobranças na sua Conta de faturamento do Cloud.

Como se conectar a uma instância do Redis que usa o AUTH

Nesta seção, descrevemos como se conectar a uma instância do Redis que tem o recurso AUTH ativado.

  1. Se você ainda não tem uma VM do Compute Engine no mesmo projeto, região e rede que sua instância do Redis, crie uma e conecte-se a ela seguindo o Guia de início rápido sobre como usar uma VM do Linux.

  2. Instale redis-cli na VM do Compute Engine executando o seguinte comando no terminal SSH do Compute Engine:

    sudo apt-get install redis-server
    
  3. Consiga a string AUTH de sua instância

  4. Execute o seguinte comando e use redis-cli para autenticar e se conectar à instância, substituindo variables pelos valores apropriados:

    redis-cli -h instance-ip-address -a auth-string
    

    Ou:

    redis-cli -h instance-ip-address
    AUTH auth-string
    
  5. Execute os comandos SET e GET do Redis para verificar se você estabeleceu uma conexão autenticada com a instância.

  6. Após concluir o teste de conexão com a instância do Redis, exclua a VM do Compute Engine usada para se conectar à instância do Redis. Isso ajuda a evitar cobranças na sua Conta de faturamento do Cloud.

Como se conectar a uma instância do Redis com segurança usando stunnel e telnet

Nesta seção, você verá um exemplo de como se conectar a uma instância do Redis com o TLS ativado usando o stunnel.

  1. Se você ainda não tiver uma instância do Redis com o TLS ativado, crie uma seguindo Como criar uma instância do Redis com o TLS.

  2. Se você ainda não tiver uma VM do Compute Engine na mesma região, projeto e rede que a instância do Redis da etapa anterior, crie uma e conecte-se a ela seguindo o Guia de início rápido sobre como usar um Linux VM.

    1. Instale as ferramentas necessárias para este guia executando os seguintes comandos:

      sudo apt-get install stunnel4
      
      sudo apt-get install telnet
      
  3. Configure a VM do Compute Engine para uso com o stunnel:

    1. Crie um novo arquivo para colocar a Autoridade de certificação (CA, na sigla em inglês) executando o seguinte comando:

      sudo vim /tmp/server_ca.pem
      
    2. Visualize as autoridades de certificação da instância do Redis executando o seguinte comando no terminal padrão que você usa para gerenciar os recursos do Google Cloud, e não o terminal do Compute Engine:

      gcloud beta redis instances describe instance-id --region=region
      

      Pode haver até três CAs.

    3. Copie todas as autoridades de certificação visíveis, incluindo a linha -----BEGIN CERTIFICATE----- e as linhas -----END CERTIFICATE-----, e cole e salve o arquivo server_ca.pem criado anteriormente.

    4. Faça o seguinte comando para colocar as informações de configuração do stunnel executando o seguinte comando:

      sudo vim /etc/stunnel/redis-client.conf
      

      Cole o seguinte texto no arquivo, substituindo redis-instance-ip pelo endereço IP da instância do Redis:

      output=/tmp/stunnel.log
      CAfile=/tmp/server_ca.pem
      client=yes
      pid=/var/run/stunnel.pid
      verifyChain=yes
      sslVersion=TLSv1.2
      [redis]
      accept=127.0.0.1:6378
      connect=redis-instance-ip:6378
      
    5. Reinicie o stunnel executando os seguintes comandos:

      sudo stunnel /etc/stunnel/redis-client.conf
      
      sudo systemctl restart stunnel4
      
  4. Para se conectar à instância do Redis usando o Telnet, execute o seguinte comando:

    telnet localhost 6378
    
  5. Na sessão Telnet, dê um ping na instância do Redis:

    Insira:

    PING
    

    Result:

    PONG
    

Como se conectar a uma instância do Redis a partir de um cluster do Google Kubernetes Engine

É possível conectar-se às instâncias do Redis a partir dos clusters do Google Kubernetes Engine que estão na mesma região e utilizam a mesma rede dessas instâncias.

Como se conectar a partir de um pod, executando um shell bash

  1. Acesse a página do GKE no Console do Cloud.
    GKE
  2. Clique no cluster do GKE em que você gostaria de se conectar. Se você ainda não tiver um, crie-o na mesma zona e região da sua instância do Redis com os aliases de IP ativados. Para instruções sobre como criar um cluster com aliases de IP ativados, consulte a documentação sobre aliases de IP.
  3. Clique no botão Conectar, à direita do nome do cluster e, em seguida, clique no botão Executar no Cloud Shell, na janela que aparece.
  4. Use o comando a seguir para configurar o acesso de linha de comando kubectl:
    gcloud container clusters get-credentials CLUSTER_NAME --zone=CLUSTER_ZONE --project=PROJECT_ID
    • CLUSTER_NAME é o nome do cluster;
    • CLUSTER_ZONE é a zona em que o cluster está. É preciso que seja também a zona em que está a instância do Redis.
    • PROJECT_ID é o projeto em que estão o cluster e as instâncias do Redis.
    Você receberá a mensagem de conclusão: kubeconfig generated for CLUSTER_NAME
  5. Se a versão do seu cluster for 1.8 ou superior e tiver aliases de IP ativados, pule esta etapa. Se a versão do seu cluster for 1.7 ou inferior, ou se o cluster da versão 1.8 ou superior não tiver aliases de IP ativados, siga estas etapas de solução alternativa, antes de tentar se conectar à sua instância: Para mais informações sobre aliases de IP, incluindo como criar um cluster com essa configuração ativada, consulte a Documentação de aliases de IP.
  6. Use o seguinte comando para se conectar a um shell bash:
    kubectl run -i --tty busybox --image=busybox -- sh
  7. Use o Telnet para a instância do Redis usando o endereço do host e o número da porta:
    telnet HOST-IP PORT
  8. Digite um comando básico do Redis para verificar a conexão:
    PING
    +PONG
  9. Para fechar a conexão telnet, pressione Control+C (ou Command+C no Mac). Para sair do shell bash no seu pod, insira "return". Se você tiver terminado e não precisar mais se conectar ao Redis, execute o seguinte comando no diretório /k8s-custom-iptables/:
    ./uninstall.sh

Como se conectar a uma instância do Redis a partir de um pod do Google Kubernetes Engine

Antes de começar, é preciso ter um cluster do GKE. Se você ainda não tiver um, crie-o na mesma zona e região da sua instância do Redis, com os aliases de IP ativados. Para instruções sobre como criar um cluster com aliases de IP ativados, consulte a documentação sobre aliases de IP.

  1. No canto superior direito do console, clique no botão Ativar o Google Cloud Shell Ativar o Cloud Shell.
  2. Use o comando a seguir para configurar o acesso de linha de comando kubectl:
    gcloud container clusters get-credentials CLUSTER_NAME --zone CLUSTER_ZONE --project PROJECT_ID
    • CLUSTER_NAME é o nome do cluster;
    • CLUSTER_ZONE é a zona em que o cluster está. É preciso que seja também a zona em que está a instância do Redis.
    • PROJECT_ID é o projeto em que estão o cluster e as instâncias do Redis.
    Você receberá a mensagem de conclusão: kubeconfig generated for CLUSTER_NAME
  3. Se a versão do seu cluster for 1.8 ou superior e tiver aliases de IP ativados, pule esta etapa. Se a versão do seu cluster for 1.7 ou inferior, ou se o cluster da versão 1.8 ou superior não tiver aliases de IP ativados, siga estas etapas de solução alternativa, antes de tentar se conectar à sua instância: Para mais informações sobre aliases de IP, incluindo como criar um cluster com essa configuração ativada, consulte a Documentação de aliases de IP.
  4. Use o seguinte comando para iniciar um pod do Redis executando o redis-cli:
    kubectl run -i --tty redisbox --image=gcr.io/google_containers/redis:v1 -- sh
  5. Execute um comando redis-cli, substituindo HOST-IP pelo endereço IP do host da sua instância do Redis:
    redis-cli -h HOST-IP info
  6. Como opção, execute um comando comparativo de mercadodo Redis, substituindo HOST-IP pelo endereço IP do host da sua instância do Redis:
    redis-benchmark -c 100 -n 100000 -d 1024 -r 100000 -t PING,SET,GET,INCR,LPUSH,RPUSH,LPOP,RPOP,SADD,SPOP,MSET -h HOST-IP -q
  7. Para sair do pod do Redis, digite return. Se você tiver terminado e não precisar mais se conectar ao Redis, execute o seguinte comando no diretório /k8s-custom-iptables/:
    ./uninstall.sh

A seguir

Conecte-se à sua instância do Redis usando um aplicativo de amostra, que é executado em: