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
- 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)
- 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)
- Efetue login no dispositivo Linux local.
- 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
- Método apt-get:
- 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.
- 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.
- 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
- 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.
- 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.
- Acesse a instância do DCS Redis.
- Efetue login no dispositivo Linux local.
- 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
- Execute o seguinte comando para descompactar o pacote de código-fonte do seu cliente Redis:
- Execute os seguintes comandos para ir para o diretório do Redis e compilar o código-fonte do seu cliente Redis:
make
- Execute os seguintes comandos para acessar a instância do DCS Redis escolhida:
./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.
- Digite a senha. Você pode ler e gravar dados em cache somente depois que a senha for verificada.
{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
- 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)
- 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)
- Efetue login no dispositivo Linux local.
- 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
- Execute o seguinte comando para descompactar o pacote de código-fonte do seu cliente Redis:
tar -xzf redis-5.0.8.tar.gz
- 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
- 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
- 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.