16 de abril de 20265 min de leitura

DNS Fallback em Azure Private Zones: Solução para Conectividade em Ambientes Híbridos

Introdução

O Azure Private Endpoint é a espinha dorsal de uma estratégia de rede segura no Azure, permitindo que serviços de PaaS, como Azure SQL Managed Instance, Azure Container Registry, Azure Key Vault e Azure Storage Account, sejam acessados via endereços IP privados dentro de uma Virtual Network (VNet).

Quando habilitamos um Private Endpoint, o Azure DNS altera automaticamente a resolução de nomes via CNAME Redirection:

  • myserver.database.windows.net
  • myserver.privatelink.database.windows.net
  • Private IP

As Azure Private DNS Zones são então responsáveis por resolver esse FQDN dentro da sua VNet. No entanto, essa arquitetura impõe uma limitação crítica de DNS em cenários de alta complexidade, tais como:

  • Arquiteturas de cloud híbrida (ex: conectividade entre AWS e Azure SQL MI)
  • Deployments multi-region (necessidade de acessar recursos em regiões de DR)
  • Ambientes cross-tenant / cross-subscription
  • Redes segmentadas (MultiVNet)

Se a sua Private DNS zone não contiver o registro solicitado, o Azure DNS retorna um código NXDOMAIN (NonExistent Domain). Quando um resolver recebe essa resposta negativa, ele interrompe a tentativa e não envia resposta ao cliente de rede, causando a falha da consulta. Na ponta prática do seu negócio, isso se traduz em:

❌ falha de conectividade na aplicação
❌ timeout de conexão com o banco de dados
❌ erros de resolução de DNS em pods do Kubernetes (AKS)
❌ interrupção de processos de DR (Disaster Recovery)

Problem statement

No fluxo tradicional de resolução via Private Endpoint:

  1. A query de DNS é originada pela aplicação.
  2. O Azure DNS verifica a Private DNS Zone vinculada.
  3. Se o registro não for encontrado: retorna NXDOMAIN.

Historicamente, o Azure não tentava uma resolução de fallback via DNS público por padrão. Isso gerava um cenário de 'falha permanente', onde a conexão só poderia ocorrer se o registro existisse nativamente naquela zona específica. Para empresas brasileiras operando modelos multi-cloud ou com expansão regional, isso frequentemente exigia a implementação de DNS forwarders (custom DNS handlers) complexos e de difícil manutenção.

Otimização: A política de Fallback to Internet (NxDomainRedirect)

Para endereçar esse gap, a Microsoft introduziu a política de resolução resolutionPolicy = NxDomainRedirect. Essa propriedade força o Azure a realizar uma nova tentativa de resolução usando o conjunto de Azure recursive resolvers público caso o domínio original receba uma resposta NXDOMAIN na zona de rede privada.

Quando essa política é aplicada:

✅ O Azure DNS refaz a consulta automaticamente.
✅ A resolução do public endpoint é tentada com sucesso.
✅ A conectividade da aplicação é mantida sem intervenção manual.
✅ Elimina-se a necessidade de gerenciar DNS forwarders customizados.

Essa configuração é aplicada diretamente no nível do virtual network link de cada Private DNS zone. No portal do Azure, você verá a opção como: "Enable fallback to internet".

Como funciona (Fluxo Lógico)

  • Sem fallback: Aplicação → Azure DNS → Private DNS Zone → (Registro ausente) → NXDOMAIN → Falha.
  • Com fallback: Aplicação → Azure DNS → Private DNS Zone → (Registro ausente) → NXDOMAIN → Azure recursive resolver → Resolução pública → Success.

O resolver recursivo do Azure tentará a resolução novamente usando o QNAME público sempre que receber um NXDOMAIN vindo do escopo da zona privada.

Exemplo de caso real: Conectividade entre AWS e Azure SQL MI

Imagine uma aplicação em instâncias EC2 na AWS tentando acessar uma SQL Managed Instance no Azure em uma região que não é a primária (contexto de DR). Sem o fallback, o DNS não encontra o registro na zona privatelink.database.windows.net e a conexão falha. Com o fallback ativado, a query é redirecionada para a resolução pública e o acesso via endpoint público é validado, permitindo a conexão.

Configuração de setup

Método 1 – Via Azure Portal

  1. Navegue até Private DNS Zones.
  2. Selecione a sua zona (ex: privatelink.database.windows.net).
  3. Acesse Virtual network links.
  4. Selecione a sua VNet.
  5. Habilite a opção "Enable fallback to internet" e clique em Save.

Método 2 – Via Azure CLI

az network private-dns link vnet update \
      --resource-group RG-Network \
      --zone-name privatelink.database.windows.net \
      --name VNET-Link \
      --resolution-policy NxDomainRedirect

Considerações de Segurança

O NxDomainRedirect atua estritamente na camada de DNS e não expõe dados sensíveis. O fluxo de tráfego de rede continua sendo rigosamente inspecionado por:

  • NSG (Network Security Groups)
  • Azure Firewall
  • UDRs (User Defined Routes)
  • Service Endpoint Policies

O fallback não altera as regras do seu firewall de rede; se o tráfego não for permitido por uma NSG ou Azure Firewall, a conexão ainda falhará, garantindo a postura de segurança da sua infraestrutura.

Conclusão

A adoção de NxDomainRedirect é uma recomendação fortemente consultiva para ambientes híbridos e multi-region. Ao reduzir a complexidade da infraestrutura DNS e eliminar gargalos causados por dependências de forwarders customizados, sua equipe de engenharia ganha uma infraestrutura mais resiliente e pronta para o crescimento.


Artigo originalmente publicado em Azure Updates - Latest from Azure Charts.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset