Azure DNS
O Azure DNS é um serviço de hospedagem de domínios na Azure que permite gerenciar e resolver nomes de domínio sem precisar de servidores DNS externos. Ele oferece uma maneira escalável e segura para gerenciar registros DNS e garantir que seu domínio seja acessível na internet ou em redes internas. Na AWS temos o Route 53.
É possível comprar um domínio na Azure no App Service Domain o que eu não recomendo muito. Quando se fala em compra de domínio prefiro fazer isso separadamente e criar um redirecionamento do domínio para o nameserver de uma zona na Azure.
Se tiver um domínio já registrado e provavelmente deve ter, o serviço que estamos buscando é DNS Zones.
Crie uma zona para o seu domínio. Por exemplo o domínio puziol.com.br é meu e eu quero fazer uma zona para azure.puziol.com.br.


E já temos os nameservers para configurar lá no cloudflare no subdomínio azure que eu acabei de inventar.

E na cloudflare colocamos isso.

Pronto, a partir de agora podemos colocar as entradas do que quisermos nessa zona.

Para o terraform seria algo como.
provider "azurerm" {
features {}
}
provider "cloudflare" {
email = "[email protected]"
api_key = "your-api-key"
}
resource "azurerm_resource_group" "example" {
name = "example-resources"
location = "East US"
}
resource "azurerm_dns_zone" "example" {
name = "azure.puziol.com.br"
resource_group_name = azurerm_resource_group.example.name
}
resource "cloudflare_record" "ns_records" {
for_each = toset(azurerm_dns_zone.example.name_servers)
name = "azure"
type = "NS"
ttl = 300
proxied = false
value = each.key
zone_id = "XXXXXXXXXXXXXXXXXXXXXXXXXXX" # Substitua pelo ID da sua zona DNS no Cloudflare
}
resource "azurerm_dns_a_record" "example" {
name = "lb"
zone_name = azurerm_dns_zone.example.name
resource_group_name = azurerm_resource_group.example.name
ttl = 300
records = ["10.0.180.17"] # Possível IP de um Load Balancer
}