Azure DNS Private Resolver

Anselmo Borges
Rescue Point
Published in
4 min readApr 4, 2023
Corrigindo erros do legado, rs.

O cenário

Imagina que um dia você teve um Synapse, ou um SQL publico, aberto pra internet. A comunicação do seu ambiente on premises era feito assim mas sua empresa fez um bom investimento em um Express Route, fazendo a comunicação de forma interna.

Os caras vão, criam um Azure Private Endpoint pro seu banco de dados (no exemplo um Synapse) e em vez acessar pelo Host público (rescue.datababase.windows.net que resolvia o IP público 13.85.217.196), passa a resolver o alias do private endpoint criado pra ele (rescue.privatelink.datababase.windows.net que resolve o IP privado 10.25.65.68).

Até ai tudo certo, de dentro da Cloud Azure funciona que é uma maravilha, pois o DNS server do ambiente é interno da Microsoft e o que for criado lá dentro resolve de boas.

Os Problemas

Imagina que você tem um servidor no seu ambiente on premisses, que tem que acessar o Synapse, se liga o que acontece:

  • Problema 1: Se eu tentar resolver o host publico do Synapse (rescue.datababase.windows.net), eu não acho o Alias criado com o ip privado do Private endpoint, eu estaria usando um DNS que não conhece o domínio Microsoft e só vai me trazer o IP de domínio público do Synapse, como desativei o acesso público, ele não funciona.
  • Problema 2: Tudo bem então, vou resolver o host privado, o host do private endpoint (rescue.privatelink.datababase.windows.net). Ele não vai achar o IP privado do cara e se pá nem vai reconhecer quem é esse host, mais uma vez estou usando um DNS server on premises, que só reconhece o domínio local e não reconhece o Microsoft.

O Desenho abaixo explica bem o cenário:

Que cilada eim Bino?

Eu imagino que você pensou em algumas gambiarras (eu também pensei), como colocar no arquivo hosts da maquina a resolução, fazer uma entrada no DNS on premisses, mas se liga, a cada novo serviço que você criar na cloud, vai fazer todo esse rolê na mão?

Que vergonha cara! auhahuhauhauhua

A solução

A Azure lançou em outubro de 2022 um serviço chamado Azure DNS Private resolver, que tem o intuito de pegar o que você tem de resolução no mundo on premises e jogar pro DNS Azure e pegar suas resoluções Azure e jogar pro seu DNS on premisses. Sem uso de maquina nem nada, teoricamente, ele cria um recurso que vai usar 2 IPs em redes distintas, um servirá de entrada e outro de saída.

Antes vou te mostrar um desenho de como você resolveria esses nomes se esse servidor estivesse dentro da Cloud Azure, resolvendo o DNS Azure.

Aqui estou simulando como se o a maquina fosse Azure e minhas resoluções publicas e privadas fossem no DNS Server da Azure

Fiz o cenário e resolve de boa internamente, depois pra simular, criei o Azure DNS Private resolver na rede Azure e fechei uma VPN entre meu ambiente local e essa rede, simulando que a rede Azure faria uma extensão da minha local.

Como eu não tinha um DNS server local, adicionei na minha placa de conexão com a VPN mais um DNS server, que era o IP de saída do DNS Private resolver. O cenário foi o seguinte:

Nesse exemplo chumbei um 3o DNS server no servidor que usa o DNS Private resolver da Azure

Não é a maneira correta de configurar, mas consegui fazer o teste de resolução, o correto é fazer o DNS Local e o DNS Azure, trocarem as informações de registros de entrada e saída conforme eles forem nascendo, sem a necessidade de interação manual.

Esse seria o cenário com trocas registros dos DNSs

Se quiser fazer um deep dive nesse serviço, tem um vídeo muito completo de como isso funciona no Youtube do John Savill, segue o link abaixo.

Em 28 minutos ele te dá uma aula sobre o assunto.

E pra uma documentação mais detalhada de como funciona, segue o material da Microsoft que fala a respeito da solução.

Não é um post de dados, mas meus conhecimentos de infra estrutura sempre me salvam num perrengue com dados! Espero que te ajude, porque isso vai me salvar aqui!

Abraço e até o próximo!
Anselmo Borges.

--

--

Anselmo Borges
Rescue Point

Bigdata Engineer, Cloud Architect, Nerd, Alcoholic, Brazilian Jiujitsu Black belt and hide and seek World champion.