How to Design Multi-Provider DNS and DDoS Protection for Azure and AWS Workloads
Retrospective: this article looks back at events from October 2016, written in 2026 with the benefit of hindsight.
The 2016 Dyn attack proved that DNS can take a healthy application offline. Here is a practical way to design DNS and DDoS protection for workloads running in Azure and AWS.
Start with what you are protecting
List your customer-facing domains and rank them: revenue-critical (storefront, customer portal, login), important (marketing site), and internal. Only the first group usually justifies multi-provider DNS.
Option 1: Two authoritative DNS providers
Run the same zone on two providers — for example Amazon Route 53 and Azure DNS, or a cloud provider plus a specialist DNS service — and list name servers from both at your registrar. Resolvers will try the other provider if one stops answering.
- Choose a single source of truth for records (infrastructure as code works best).
- Push changes to both providers from the same pipeline so they never drift.
- Avoid provider-specific features (alias records, traffic policies) on the critical records, or replicate them carefully on both sides.
- Test by temporarily removing one provider's name servers in a staging domain.
Option 2: One provider, with a fast fallback
If dual-provider complexity is too high, keep a pre-built copy of the zone at a second provider and document the registrar change. Lower the TTL on your NS records ahead of time so a switch propagates faster.
Layer DDoS protection on the application
- AWS: Shield Standard is on by default. Put public endpoints behind CloudFront or an Application Load Balancer with AWS WAF rate-based rules, and consider Shield Advanced for critical apps.
- Azure: Use Azure Front Door or Application Gateway with Web Application Firewall, and evaluate Azure DDoS Protection for virtual networks hosting public IPs.
Common mistakes
- Forgetting the registrar account itself — protect it with strong MFA and registrar lock.
- Very low TTLs everywhere, which increases query load during an attack.
- No runbook: when DNS fails, nobody knows who can change name servers.
Verify
Run a tabletop exercise: "Our DNS provider is down for six hours." If the answer involves waiting, your design is not finished.