Translate

domingo, 24 de setembro de 2017

Google Cloud VM Debian - Configuração para conexão remota no Postgresql


Neste post, descrevemos como se conectar remotamente no Postgresql, utilizando o Google Cloud VM Debian.


1º)  Acessar a instância da VM através do menu: Compute Engine => Instâncias da VM



2º) Escolha a instância em que está instalado o Debian e se conecte via SSH. Veja a imagem abaixo:



3º) Será aberto o terminal, em seguida, faça a autenticação no debian, como root. Para se autenticar utilizar, utilize o comando:

su
Veja a imagem abaixo:

Autenticação  no Debian 

4º) Se autenticar no cliente psql, neste caso foi feita a autenticação com o usuário "postgres" e o banco de dados "postgres", utilize o comando:

sudo -u   nome_usuario    psql nome_banco
sudo -u   postgres              psql postgres

Veja a imagem abaixo:


5º) Localize o diretório onde se encontra o arquivo "pg_hba.conf". Utilize o comando:

SHOW hba_file

Veja a imagem:



6º) Localize o diretório onde se encontra o arquivo "postgresql.conf". Utilize o comando:


SHOW config_file


Veja a imagem:



7º) Saia do cliente psql. Veja o comando:
\q



8º) Após localizar o diretório do arquivo "pg_hba.conf", vamos editá-lo. Podemos utilizar um editor de texto. Exemplo: "nano" ou "vi".
Neste, exemplo será utilizado o "nano". Utilize o comando abaixo:

nano /etc/postgresql/9.6/main/pg_hba.conf

Veja a imagem abaixo:




9º) No arquivo "pg_hba.conf", localize "127.0.0.1/32", ou seja, o ip 127.0.0.1 e mascara 32.





Após localizar o IP, nós vamos substituí-lo de acordo com o tipo de conexão desejada:

  • Para aceitar conexão de qualquer ip:  substitua o ip  127.0.0.1/32 pelo ip 0.0.0.0/0. Para fechar o editor "Nano", pressione as teclas "CTRL+X". Em seguida, será exibida uma pergunta confirmando se você deseja salvar, pressione a tecla "y" para salvar ou a tecla "n" para desistir das alterações Veja a imagem a seguir:




  • Para restringir a conexão a uma determinada faixa de ips: substitua o ip 127.0.0.1 pelo ip desejado, neste exemplo foi utilizado o ip 192.168.64.2/24, poderia ser um outro ip.  Para sair do editor "Nano", pressione as teclas "CTRL+X". Em seguida, será exibida uma pergunta, confirmando se você deseja salvar, pressione a tecla "y" ou a tecla "n" para desistir das alteraçõesVeja a imagem a seguir:


    10º) Após localizar o diretório do arquivo "postgresql.conf", vamos editá-lo.

    nano /etc/postgresql/9.6/main/postgresql.conf

    Veja a imagem abaixo:


    11º) No  arquivo "postgresql.conf", localize o item listen_adressess. Veja a imagem abaixo:


    12º)  Remova o comentário do item, listen_adressess, representados pelo "#". Em seguida, substitua, 'localhost', por '*'. Para sair do editor "Nano", pressione as teclas "CTRL+X". Em seguida, será exibida uma pergunta, confirmando se você deseja salvar, pressione a tecla "you a tecla "n" para desistir das alteraçõesVeja a imagem a seguir:



    13º) Escolher a quantidade de conexões, no padrão de instalação, o máximo são 100 conexões. O número de conexões é armazenado no parâmetro "max_connections".



    Neste exemplo, vamos alterar o número de conexões 100 para 120.



    14º) Alterar o parâmetro, "shared_buffers", que determina quanta memória é dedicada para o Postgresql para o caching de dados. Por padrão, está configurado com 128 MB.



    Se o seu sistema tem 1GB ou mais de RAM, o parametro "shared_buffer" deve estar configurado para utilizar 25% da memoria total. Neste exemplo, o sistema possui 2 GB, então vamos utilizar 512 MB para o parâmetro, shared buffer.

    Se o seu sistema possui menos de 1GB de RAM, você deve utilizar aproximadamente 15% da sua memória RAM.



    15º) Reinicie o serviço do postgresql
    sudo service postgresql restart

    16º)  No Google Cloud VM, vamos clicar no item de menu "Regras de firewall". Veja a imagem abaixo:





    17º)  Em seguida clique no link "Criar Regra de Firewall", no topo da pagina.




    18º)  Será aberto o formulário, através do qual poderemos liberar a porta padrão 5432 do Postgresql, ou uma outra porta, conforme sua necessidade.



    19º) Deverão ser preenchidos os seguintes campos:
    • Campo nome:
    • Preencha a tag e um IP:

    • Preencha o protocolo e a porta: repare que devemos separar o protocolo e a porta com ":"
    protocolo:porta

    • Clique no botão salvar


    20º) Agora vamos acessar a instância da VM através do menu:

    Compute Engine => Instâncias da VM



    21º) Clique na instância "DEBIAN". Veja a imagem abaixo:



    22º) Clique em "Editar"instância. Veja a imagem abaixo:



    23º) No campo "Tags de rede",  adicionar a tag "pg", esta tag foi incluída na regra do firewall (15º passo). Ver imagem abaixo:



    24º) Clique no botão "Salvar". Ver imagem abaixo:


    25º) Clique no link  no formato de "seta". para voltar a visualizar página inicial. Ver imagem abaixo:



    26º) Observe na página inicial, o ip externo da sua estância, neste caso é o ip 35.202.119.38 que será utilizado para fazer a conexão remota.



    27º) Agora, após a finalização da configuração da VM, será feita a conexão remota. Vamos utilizar o PgAdmin para efetuar a conexão.
    Primeiramente, clique com o botão direito em "Server", selecione o menu "Create", em seguida, selecione o submenu "Server".





    28º) Será exibido um formulário. Vamos preencher alguns campos da aba "General" e da aba "Connection" com as configurações do servidor:

    • Aba General: vamos escolher um nome para a conexão remota, neste exemplo eu escolhi "REM", mas poderia ser qualquer outro nome.





    • Aba Connection: preencha o ip, a porta, o  nome do banco, o usuário e a senha, em seguida clique no botão "Salvar". Veja a imagem abaixo:



    29º) A conexão remota foi efetuada com sucesso. Veja imagem abaixo:


    4 comentários:

    1. Excelente dica, qual fonte voce usou para colocar nas dicas ??
      grato

      ResponderExcluir
      Respostas
      1. Fico feliz por ter gostado. Segue a fonte:
        https://cloud.google.com/community/tutorials/setting-up-postgres

        Excluir
      2. Faltou um passo após editar os arquivos você deve reiniciar o servidor do postgre. A noite complementarei o tutorial.

        Excluir
      3. Atualizei o tutorial, inclui o comando para reiniciar o serviço do postgresql:

        sudo service postgresql restart

        Excluir