3
respostas

LoadTest - Erro de conexão com o banco de dados ao criar os ambientes com terraform

Olá, estou enfrentando o seguinte erro ao criar a infraestrutura com o terraform:

failed to initialize database, got error failed to connect to `host=terraform-20240611093853503400000006.cv280qgosq4d.us-west-2.rds.amazonaws.com user=postgres database=root`: server error (FATAL: no pg_hba.conf entry for host "10.0.2.55", user "postgres", database "root", no encryption (SQLSTATE 28000))

Github do código da API Go com os worflows: https://github.com/greglixandrao/cicd-container Github do código da infraestrutura: https://github.com/greglixandrao/Infra_CI

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Consegui habilitar logs para o ECS-service para verificar, arrumei todas as variáveis de ambiente, verifiquei os security-groups mas tudo parece ok. Procurando pela erro na internet parece algo com o banco, mas como estamos usando terraform, não sei como resolver essa questão.

Alguém passou por isso?

Brigado pessoal.

3 respostas

Oii, Gregório, tudo bem por aí? :)

O problema está relacionado à configuração do arquivo pg_hba.conf do Postgres. Esse arquivo controla quais hosts podem se conectar ao banco de dados, quais usuários podem se conectar e quais métodos de autenticação são permitidos.

Ali também indicou que o host 10.0.2.55 não possui permissão para se conectar ao root como o usuário postgres.

Você pode tentar seguindo uma destas recomendações:

  • Verificar o arquivo pg_hba.conf: no servidor onde o PostgreSQL está instalado, abra o arquivo pg_hba.conf. Este arquivo normalmente fica no diretório de dados do PostgreSQL. Um exemplo de caminho seria /var/lib/pgsql/data/pg_hba.conf ou /etc/postgresql/12/main/pg_hba.conf (o caminho pode variar dependendo da instalação).

  • Adicione uma entrada para o host: adicione uma linha no arquivo para permitir conexões do host que você queria. Por exemplo:

host    all             all             10.0.2.55/32            md5

Isso permitirá que qualquer usuário se conecte a qualquer banco de dados a partir do host 10.0.2.55 usando autenticação md5.

E, lembrando que após editar o arquivo pg_hba.conf, reinicie o serviço PostgreSQL para que as mudanças sejam efetivadas. Você pode fazer isso assim:

sudo systemctl restart postgresql

Se a dúvida persistir, estamos por aqui.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Olá Maria Isabel, bom dia! Espero que esteja bem.

Muito obrigado pela resposta. Foram essas soluções que encontrei em minhas buscas pela internet. A questão é que estou criando essa infraestrutura usando Terraform na AWS. Comparei meu arquivo pg_hba.conf com o do repositório fornecido durante o curso pelo Professor Leonardo Sartorello e ambos estão iguais.

Acredito que possa ter faltado alguma permissão que deveria ser feita na AWS? Não sei, mas também não foi passada durante o curso.

Oii, Greg!

Uma coisa que notei é que a sua estrutura está bem diferente da que foi passada - só pra compreender melhor o problema - o curso é este mesmo que você está se referindo?

Como você comentou que está usando o Terraform, a infra fica bem diferente para conseguir verificar o que está acontecendo. Só quero entender um pouco mais o contexto do erro, ok?

Notei que a região do ECS também está diferente, o instrutor usou a us-east-2, em Ohio, enquanto a do seu repositório está como us-west-2. É importante checar essa questão.

E, por fim, o repositório com a API Go com os workflows está indisponível :( você pode colocar o link atual, por favor?

Abraços!

Fico no aguardo e à disposição