Todo IP público do Azure já vem com uma proteção básica contra DDoS, incluída sem custo — o Azure DDoS Protection Standard é uma camada adicional, paga, com telemetria detalhada, mitigação mais agressiva e SLA de garantia de disponibilidade. A pergunta que este artigo tenta responder de verdade, sem forçar uma recomendação, é: com uma taxa mensal fixa de aproximadamente US$ 2.944, quando esse custo realmente se justifica?
Este é o quarto artigo da série artigos-network (depois do Application Gateway com WAF v2), e é diferente dos anteriores em um ponto importante: não vamos simular um ataque real. Fazer isso sem aprovação prévia da Microsoft viola os termos de uso do Azure — a validação aqui é de configuração, não de mitigação em ação.
Atenção ao custo: diferente dos artigos anteriores desta série (custo de centavos por um teste rápido), o Azure DDoS Protection Standard tem uma taxa fixa mensal alta, cobrada proporcionalmente por hora. Não deixe esse recurso no ar além do necessário — mesmo um teste de algumas horas gera um custo real, não trivial.
Sumário
- Pré-requisitos
- DDoS Protection Basic vs. Standard
- Quando o Azure DDoS Protection Standard vale a pena
- Criando o DDoS Protection Plan com Terraform
- Proteção por IP público individual
- terraform plan e apply
- Validando a configuração (sem simular ataque)
- Conclusão: vale a pena?
- Referências oficiais
Pré-requisitos
Antes de criar o Azure DDoS Protection Standard com Terraform, você vai precisar do Azure CLI autenticado (az login), do Terraform >= 1.5 e de permissão de Network Contributor na subscription. O provider usado é o azurerm ~> 4.0.
az account show --query "{name:name, id:id}" -o table
DDoS Protection Basic vs. Standard
A proteção Basic já está ativa em todo IP público do Azure, sem nenhuma configuração e sem custo — ela mitiga ataques volumétricos comuns na camada de rede, mas não oferece telemetria, relatórios pós-ataque, nem SLA de disponibilidade. O Azure DDoS Protection Standard adiciona: monitoramento adaptável ao tráfego específico da sua aplicação, mitigação automática mais granular, alertas em tempo real via Azure Monitor, relatórios de mitigação detalhados, e um SLA financeiro caso a proteção falhe durante um ataque documentado.
Quando o Azure DDoS Protection Standard vale a pena
A taxa fixa mensal cobre até 100 recursos públicos protegidos — ou seja, o custo por recurso despenca se você tem muitos IPs públicos numa mesma subscription. Faz sentido considerar o Azure DDoS Protection Standard quando: (1) a aplicação é voltada ao público geral na internet e uma indisponibilidade tem custo de negócio direto e mensurável; (2) você já sofreu ou tem motivo concreto pra esperar tentativas de ataque volumétrico; (3) existe uma exigência de compliance ou contrato que peça telemetria e SLA formal de DDoS. Para a maioria dos ambientes de desenvolvimento, teste, ou aplicações internas sem exposição pública relevante, a proteção Basic gratuita já cobre o cenário real de risco — e gastar ~US$ 2.944/mês nesse caso não se justifica.
Criando o DDoS Protection Plan com Terraform
O plano em si não pertence a uma única região — ele pode proteger VNets de regiões (e até subscriptions, com o compartilhamento certo de permissões) diferentes, todas cobertas pela mesma taxa mensal única. Vem do novo módulo terraform-ddos-protection-modules; a associação com a VNet usa o suporte a ddos_protection_plan_id que o terraform-virtual-network-modules ganhou recentemente:
module "ddos_plan" {
source = "../../terraform-ddos-protection-modules"
name = "ddosplan-blog-castilho"
resource_group_name = module.rg.name
location = var.location
tags = var.tags
}
module "vnet" {
source = "../../terraform-virtual-network-modules"
name = "vnet-ddos-blog-castilho"
resource_group_name = module.rg.name
location = var.location
address_space = [var.vnet_address_space]
ddos_protection_plan_id = module.ddos_plan.id
subnets = [
{ key = "ddos", name = "snet-ddos", address_prefixes = [var.subnet_prefix] },
]
tags = var.tags
}
Proteção por IP público individual
Desde que o Azure passou a permitir controle por recurso individual, um IP público pode herdar a proteção da VNet, ter proteção forçada, ou ficar explicitamente fora — útil quando só alguns IPs de uma VNet grande realmente precisam de telemetria dedicada do Azure DDoS Protection Standard. O módulo terraform-public-ip-modules ganhou recentemente o parâmetro ddos_protection_mode pra cobrir esse caso:
module "pip_protected" {
source = "../../terraform-public-ip-modules"
name = "pip-ddos-blog-castilho"
resource_group_name = module.rg.name
location = var.location
ddos_protection_mode = "Enabled"
tags = var.tags
}
terraform plan e apply
terraform init -backend-config=backend.hcl
terraform plan -out=tfplan.out
terraform apply tfplan.out
Esse ambiente cria 5 recursos: Resource Group, DDoS Protection Plan, VNet + subnet, e o Public IP protegido. Este é o momento de decisão real de custo — assim que o apply completa, a cobrança da taxa mensal do Azure DDoS Protection Standard começa a correr proporcionalmente por hora. Neste artigo, o ambiente ficou no ar só o tempo necessário pra confirmar a configuração, e foi destruído logo em seguida.

Validando a configuração (sem simular ataque)
Diferente do artigo do Application Gateway com WAF v2, onde testamos um bloqueio de verdade com uma requisição maliciosa real, aqui a validação possível é de configuração — confirmar que o Azure DDoS Protection Standard está de fato provisionado e vinculado corretamente, sem gerar tráfego de ataque:
az network ddos-protection show -g rg-blog-castilho-ddos-prod -n ddosplan-blog-castilho \
--query "{estado:provisioningState, vnets:virtualNetworks[].id}"
# {
# "estado": "Succeeded",
# "vnets": ["/subscriptions/.../vnet-ddos-blog-castilho"]
# }
az network public-ip show -g rg-blog-castilho-ddos-prod -n pip-ddos-blog-castilho \
--query "ddosSettings"
# { "protectionMode": "Enabled" }
O plano está Succeeded, vinculado à VNet certa, e o Public IP individual confirma protectionMode: Enabled. Pra testar mitigação de verdade, a Microsoft oferece um programa de DDoS simulation testing através de parceiros aprovados (BreakingPoint Cloud, entre outros) — gerar tráfego de ataque contra seus próprios recursos sem passar por esse processo é proibido pelos termos de uso do Azure, mesmo sendo “seus” recursos.
Conclusão: vale a pena?
Depende — e essa é a resposta honesta. O Azure DDoS Protection Standard resolve um problema real pra aplicações públicas com custo de indisponibilidade alto, mas é uma das configurações mais caras que essa série de artigos vai cobrir, e não existe um “sempre configure isso” universal aqui, ao contrário do NAT Gateway ou do WAF. A decisão certa é olhar o perfil de exposição real da aplicação, o custo de uma indisponibilidade, e comparar com a taxa fixa mensal — não simplesmente ativar por precaução.
Próximo artigo da série artigos-network: Network Watcher (Flow Logs e Connection Monitor).
Referências oficiais
- Azure DDoS Protection overview — Microsoft Learn
- Azure DDoS Protection pricing
- DDoS simulation testing — Microsoft Learn
- azurerm_network_ddos_protection_plan — Terraform Registry
Interessado em saber mais sobre esse assunto?