Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2022-11-08 GMT+08:00

Passo 3: Acessar uma instância do DCS Redis no Linux

Esta seção descreve como acessar uma instância do DCS Redis 3.0 em uma rede pública usando o redis-cli no Linux.

O acesso público ajuda o pessoal de P&D a estabelecer um ambiente local para desenvolvimento ou teste, melhorando a eficiência do desenvolvimento. No entanto, no ambiente de produção (ambiente oficial), acesse uma instância do DCS Redis por meio de uma VPC para garantir um acesso eficiente.

Pré-requisitos

Antes de usar o redis-cli para acessar uma instância do DCS Redis em uma rede pública, verifique se:

  • A versão da instância é o Redis 3.0 e o acesso público foi habilitado.
  • Se os certificados forem necessários para acessar a instância do DCS, faça download do certificado na página de detalhes da instância do DCS. Para mais detalhes, consulte Exibindo Detalhes da Instância.

Conectando-se ao Redis com criptografia SSL

  1. Assegure-se de que a regra do grupo de segurança permita o acesso público através da porta 36379.

    Quando a encriptação SSL estiver activada, permita o acesso público através da porta 36379. Assegure-se de que o cliente do Stunnel esteja instalado.

    Figura 1 Regra de grupo de segurança (porta 36379)

  2. Obtenha o endereço de acesso público e os certificados da instância na página Basic Information da instância.

    • O endereço de acesso público é exibido na seção Connection.
    • Os certificados podem ser baixados clicando em Download Certificate for Public Access na seção Connection. Após a descompactação, você obterá dcs-ca.cer (o certificado de chave pública em formato binário) e dcs-ca-bundle.pem (o arquivo de certificado em formato de texto).
    Figura 2 Visualizando o endereço de acesso público (SSL habilitado; porta 36379)

  3. Efetue login no dispositivo Linux local.
  4. Instale o cliente Stunnel.

    Utilize um dos seguintes métodos para instalar o Stunnel.

    Os métodos de instalação apt e yum são recomendados. Qualquer SO de Linux comum deve suportar pelo menos um desses métodos de instalação.

    • Método apt-get:

      O apt-get é usado para gerenciar pacotes de software DEB e aplicável a sistemas operacionais Debian como o Ubuntu. Execute o seguinte comando para instalar o Stunnel:

      apt install stunnel ou apt-get install stunnel

      Se você não conseguir encontrar o Stunnel depois de executar o comando, execute o comando apt update para atualizar a configuração e, em seguida, instale o Stunnel novamente.

    • Método do yum:

      O yum é usado para gerenciar pacotes de software RPM e aplicável aos SO como Fedora, CentOS e Red Hat. Execute o seguinte comando para instalar o Stunnel:

      yum install stunnel

  5. Abra o arquivo de configuração Stunnel stunnel.conf.

    • Se o Stunnel for instalado usando o apt-get, o arquivo de configuração é armazenado no diretório /etc/stunnel/stunnel.conf por padrão.

      Se esse diretório não existir ou não existir nenhum arquivo de configuração nele, adicione um diretório ou arquivo de configuração.

    • Se o Stunnel for instalado usando o yum, o arquivo de configuração é armazenado no diretório /usr/local/stunnel/stunnel.conf por padrão.

      Se esse diretório não existir ou não existir nenhum arquivo de configuração nele, adicione um diretório ou arquivo de configuração.

    • Se você não tiver certeza de onde armazenar o arquivo de configuração, digite o comando stunnel após a instalação para exibir o diretório para armazenar o arquivo de configuração.
    • O arquivo de configuração pode ser armazenado em qualquer diretório. Especifique este arquivo de configuração ao iniciar o Stunnel.

  6. Adicione o seguinte conteúdo ao ficheiro de configuração stunnel.conf e, em seguida, guarde e saia.

    debug = 4
    output = /var/log/stunnel.log
    sslVersion = all
    [redis-client]
    client = yes
    accept = 8000
    connect = {public access address}
    CAfile = /etc/stunnel/dcs-ca.cer
    Modifique os seguintes parâmetros conforme necessário e deixe os outros parâmetros inalterados:
    • client: indica Stunnel. O valor fixo é yes.
    • CAfile: especifica um certificado CA, que é opcional. Se um certificado CA for necessário, baixe e descomprima o certificado dcs-ca.cer conforme instruído em 2. Se não for necessário, exclua este parâmetro.
    • accept: especifica o número da porta de escuta definida pelo usuário do Stunnel. Especifique esse parâmetro ao acessar uma instância de DCS usando um cliente Redis.
    • connect: especifica o endereço de encaminhamento e o número da porta do Stunnel. Defina esse parâmetro como o endereço de acesso público da instância obtido em 2.

    Segue-se um exemplo de configuração:

    [redis-client]
    client = yes
    CAfile = D:\tmp\dcs\dcs-ca.cer
    accept = 8000
    connect = 49.**.**.211:36379

  7. Execute os seguintes comandos para iniciar o Stunnel:

    stunnel /{customdir}/stunnel.conf

    No comando anterior, {customdir} indica o diretório de armazenamento personalizado para o arquivo stunnel.conf descrito em 5. Segue-se um exemplo de comando:

    stunnel /etc/stunnel/stunnel.conf

    Para o SO de Ubuntu, execute o comando /etc/init.d/stunnel4 start para iniciar o Stunnel. O nome do serviço ou processo é stunnel4 para a versão Stunnel 4.x.

    Depois de iniciar o cliente Stunnel, execute o comando ps -ef|grep stunnel para verificar se o processo está sendo executado corretamente.

  8. Execute o seguinte comando para verificar se o Stunnel está sendo escutado:

    netstat -plunt |grep 8000|grep "LISTEN"

    8000 indica o número da porta de escuta definida pelo usuário do Stunnel configurado no campo de accept em 6.

    Se uma linha contendo o número de porta 8000 for exibida no resultado retornado, o Stunnel está sendo executado corretamente. Quando o cliente do Redis se conecta ao endereço 127.0.0.1:8000, o Stunnel encaminhará as solicitações para a instância do DCS Redis.

  9. Acesse a instância do DCS Redis.

    1. Efetue login no dispositivo Linux local.
    2. Execute o seguinte comando para baixar o pacote de código-fonte do seu cliente Redis do http://download.redis.io/releases/redis-5.0.8.tar.gz:

      wget http://download.redis.io/releases/redis-5.0.8.tar.gz

      Você também pode instalar o cliente Redis executando o seguinte comando yum ou apt:

      • yum install redis
      • apt install redis-server
    3. Execute o seguinte comando para descompactar o pacote de código-fonte do seu cliente Redis:

      tar -xzf redis-5.0.8.tar.gz

    4. Execute os seguintes comandos para ir para o diretório do Redis e compilar o código-fonte do seu cliente Redis:

      cd redis-5.0.8

      make

    5. Execute os seguintes comandos para acessar a instância do DCS Redis escolhida:

      cd src

      ./redis-cli -h 127.0.0.1 -p 8000

      No comando anterior:

      • O endereço a seguir -h indica o endereço do cliente Stunnel, que é 127.0.0.1.
      • A porta a seguir -p é a porta de escuta do cliente Stunnel, que foi configurada no campo accept em 6. 8000 é usado como exemplo.

      Não use o endereço de acesso público e a porta exibidos no console para os parâmetros -h e -p.

    6. Digite a senha. Você pode ler e gravar dados em cache somente depois que a senha for verificada.

      auth {password}

      {password} indica a senha usada para efetuar login na instância do DCS Redis escolhida. Essa senha é definida durante a criação da instância do DCS Redis.

      Você acessou a instância com êxito se a seguinte saída do comando for exibida:

      OK 
      127.0.0.1:8000>

Conectando-se ao Redis sem criptografia SSL

  1. Assegure-se de que a regra do grupo de segurança permita o acesso público através da porta 6379.

    Quando a criptografia SSL é desabilitada, o endereço de acesso público da instância pode ser acessado somente se o acesso pela porta 6379 for permitido.

    Figura 3 Regra de grupo de segurança (porta 6379)

  2. Obtenha o endereço de acesso público da instância.

    O endereço de acesso público é exibido na seção Connection da página Informações Basic Information.
    Figura 4 Exibindo o endereço de acesso público (SSL desativado; porta 6379)

  3. Efetue login no dispositivo Linux local.
  4. Execute o seguinte comando para baixar o pacote de código-fonte do seu cliente Redis do http://download.redis.io/releases/redis-5.0.8.tar.gz:

    wget http://download.redis.io/releases/redis-5.0.8.tar.gz

    Você também pode instalar o cliente Redis executando o seguinte comando yum ou apt:

    • yum install redis
    • apt install redis-server

  5. Execute o seguinte comando para descompactar o pacote de código-fonte do seu cliente Redis:

    tar -xzf redis-5.0.8.tar.gz

  6. Execute os seguintes comandos para ir para o diretório do Redis e compilar o código-fonte do seu cliente Redis:

    cd redis-5.0.8

    fazer

  7. Execute os seguintes comandos para acessar a instância do DCS Redis escolhida:

    cd src

    ./redis-cli -h {public access address} -p 6379

    Substitua {public access address} pelo endereço obtido em 2. Por exemplo:

    ./redis-cli -h 49.**.**.211 -p 6379

  8. Digite a senha. Você pode ler e gravar dados em cache somente depois que a senha for verificada.

    auth {password}

    {password} indica a senha usada para efetuar login na instância do DCS Redis escolhida. Essa senha é definida durante a criação da instância do DCS Redis.

    Você acessou a instância com êxito se a seguinte saída do comando for exibida:

    OK 
    49.**.**.211:6379>

Solução de problemas

  • Sintoma: "Erro: A redefinição da conexão por peer é exibida.

    Possible cause: O grupo de segurança está configurado incorretamente. Você precisa habilitar a porta 36379 ou 6379.

  • Quando o redis-cli é usado para se conectar a uma instância, a seguinte mensagem é exibida indicando que o host remoto fecha forçosamente uma conexão existente.

    Possible cause: A criptografia SSL foi habilitada, mas o Stunnel não está configurado durante a conexão. O endereço IP exibido no console foi usado para conexão. Neste caso, siga rigorosamente as instruções fornecidas em Conectando-se ao Redis com criptografia SSL..

  • Para obter mais informações sobre falhas de conexão do Redis, consulte Solução de problemas de Exceções de Conexão do Redis.