Instalação de uma interface web para o Redis no Jelastic

em Geral, Jelastic Cloud.

O Jelastic Locaweb é uma plataforma cloud do tipo PaaS (plataforma como serviço), bastante flexível. Apesar de facilitar bastante o processo de administração e escalabilidade das máquias, ele não restringe aquilo que você pode fazer com os seus servidores, como acontece na maior parte dos provedores de PaaS.

Em quase todos os bancos de dados que estão disponíveis no Jelastic, há a opção de acesso tanto pela interface web. Isso só não acontece em dois casos: no Redis e Cassandra. Talvez, pelo fato de que a maior parte dos usuários desses bancos de dados prefira interagir com eles através da linha de comando.

Isso não quer dizer que uma interface web não seja útil em alguns casos ou que não seja possível instalá-la no Jelastic. Neste post, veremos como instalar o Redis Commander, uma interface web de código aberto para o banco de dados chave-valor Redis.

Instalação do Node.js

Como o Redis Commander é feito em Node.js, o primeiro passo depois que o Redis já estiver sendo executado no Jelastic, é instalar o Node.js. No nosso caso, optamos por instalar o programa na mesma máquina onde o banco de dados está em execução.

Para isso utilizaremos o NVM um gerenciador de versões do Node.js através do acesso SSH. Se você ainda não sabe como fazer um acesso SSH no Jelastic, sugiro que assiste a este episódio do TecnoPapo onde abordamos o tema.

A instalação do NVM é muito simples, pois trata-se de um script em Bash. Basta executarmos a seguinte linha de comando no terminal da sessão SSH:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh

Em seguida, é preciso exportar o path para o ambiente:

export NVM_DIR="/opt/repo/.nvm"

Uma vez feito isso, você já deve ter acesso ao comando nvm. Digitando nvm sem argumentos, você verá as opções disponíveis. Para instalarmos a última versão LTS do Node, digitaremos:

nvm install --lts
nvm alias default stable

Instalação do Redis Commander

Depois de concluído é possível se certificar em relação a versão do Node.

jelastic@node121006-commander ~ $ node -v
v6.9.4

Agora fica fácil instalar o Redis Commander através do NPM, o gerenciador de dependências do próprio node:

npm i redis-commander -g

Uma vez feito isso, é possível iniciar o redis-commander na linha de comando. Para isso, precisamos passar diversos atributos para que o programa seja capaz de fazer a conexão com o banco de dados. Ao digitar redis-commander --help no terminal, você verá quais são as opções disponíveis:

redis-commander options

A mais importante delas é definir um usuário e senha para o acesso ao Redis Commander através da opção --http-u e --http-p para impedir acesso não autorizado ao seu painel. Algumas atributos tem opções padrão e no nosso caso, só precisamos utilizar a seguinte linha:

redis-commander --http-u 'usuario' --http-p 'senhaforte'

Liberando a porta do serviço

O Jelastic é bastante cuidadoso quando o assunto é segurança. Por isso, nada de deixar todas as portas abertas. No caso de um nó destinado a execução do banco de dados, apenas as portas do banco de dados estarão abertas. Por padrão, o Redis Commander roda na porta 8081 (apesar de ser possível alterar isso com a opção --port).

Uma vez que o serviço estiver rodando, é necessário abrir ou redirecionar o tráfego para a porta em que o programa estiver rodando.

A maneira mais simples de fazer isso é criando um endpoint que redirecionará o trafégo de uma porta disponível no servidor, para a porta onde está o Redis Commander. Quando se clica nas configurações do ambiente, é possível selecionar a opção “Endpoints” do menu que se abre. Então, basta adicionar um endpoint especificando a porta onde o serviço está rodando e o Jelastic atribuirá uma porta aleatória para redirecionar o tráfego para o serviço.

Na imagem abaixo, a porta pública 11057 foi atribuída a porta privada 8081, padrão do Commander. Desta forma, basta acessarmos a porta 11057 para ter acesso ao serviço. Uma vez atribuída, a porta não muda, a não ser que você exclua este endpoint e crie outro novo.

Endpoint para o Redis Commander criado no painel do Jelastic

Conclusão

Uma vez feito isso, você terá acesso a um painel onde é possível utilizar e configurar o Redis (inclusive utilizando seu shell do Redis para executar comandos) sem que seja necessário ter acesso a todo o servidor. Abaixo, é possível conferir a interface da aplicação:

Endpoint para o Redis Commander criado no painel do Jelastic

Se quiser saber mais sobre o Jelastic Locaweb, acesse a página do produto: http://www.locaweb.com.br/cloud/jelastic