Resolução de DNS Interno pelo Fluxo Das APIs

 

Por vezes existe a necessidade de trabalhar com endereços DNS não externalizados, por questões de boas praticas, definições de segurança, arquitetura da plataforma Sensedia e escalabilidade da mesma, não são realizadas configurações diretamente no ambiente Sensedia para esta finalidade como configurar o servidor de resolução do backend, configurar manualmente o endereço dentro do "/etc/hosts" entre outros meios.

Para a situação mencionada acima, a própria plataforma permite que seja realizado a configuração da resolução destes DNS, tornando o cenário funcional sem a realização das configurações citadas anteriormente, que podem afetar a disponibilidade da plataforma.

A seguir conferimos como funciona esta configuração.

 

Configurando a Resolução de DNS no Fluxo da API

Imagine um cenário onde temos o DNS interno que nosso backend interpreta for igual a "endereco.backend.local", endereço IP "192.168.0.1 que responde pela porta http (80).

DNS INTERNO: endereco.backend.local
IP: 192.168.0.1
PORTA: http (80)

 Pelo gateway nos comunicamos com o backend diretamente pelo  IP informado (192.168.0.1) mas para que o backend interprete qual o host utilizado pelo dns internamente, basta informarmos pela chamada enviando um header com o endereço (endereco.backend.local).

 

No destination do recurso colocamos o endereço IP do servidor, bem como a porta onde ocorre a execução do serviço, assim o gateway irá fazer o encaminhamento para o IP do backend. 

 

No flow de sua API, na operação/recurso em que utilizará este backend será necessário a inclusão do interceptor de HEADER, onde neste devemos realizar a configuração de forma similar a imagem abaixo:

 

Observe que foi configurado os seguintes campos, Name: Host, Type: Customvalue: endereco.backend.local, esta configuração fará com que toda requisição que chegue ao gateway seja direcionada ao backend correto e que este encaminhe também o host configurado no Header e a chamada sendo corretamente direcionada ao serviço correto, eliminando a necessidade de configurações direto no ambiente que podem comprometer a estabilidade da plataforma.

 

Créditos a André Chiosini e Camila Paulino por estas dicas.

Tem mais dúvidas? Envie uma solicitação

Comentários

Powered by Zendesk