Azure DNS PowerDNS Authoritative
Migrate DNS from Azure DNS to PowerDNS.
9 record types move as they are. Nothing else needs special handling.
Free preview. Read-only. Nothing changes until you apply.
What works differently
Generated from the same provider capability data the migration engine uses.
Moves as-is
- A
- AAAA
- CNAME
- MX
- TXT
- NS
- SRV
- CAA
- PTR
A straightforward move.
A typical Azure DNS zone at PowerDNS
Example records for example.com. Open any flagged row to read why it changed.
Azure DNS PowerDNS
- UnsupportedA@
Not migrated
@ is an alias to an Azure resource. It needs static IP addresses at PowerDNS.
- ExactMX@
10 mx1.mail.example.net. +1
- ExactTXT@
"v=spf1 include:_spf.example.net -all"
- ExactCAA@
0 issue "letsencrypt.org"
- ExactTXT_dmarc
"v=DMARC1; p=reject; rua=mailto:dmarc@example.com"
- ExactSRV_sip._tls
100 1 443 sip.example.net.
- ExactAapp
192.0.2.30
- ExactCNAMEwww
example.com.
| Status | Type | Name | At PowerDNS | TTL | Details |
|---|---|---|---|---|---|
| Unsupported | A | @ | Not migrated | — | |
| Exact | MX | @ |
| 1h | |
| Exact | TXT | @ |
| 1h | |
| Exact | CAA | @ |
| 1h | |
| Exact | TXT | _dmarc |
| 1h | |
| Exact | SRV | _sip._tls |
| 1h | |
| Exact | A | app |
| 5m | |
| Exact | CNAME | www |
| 1h |
How the move works
- 1
Connect Azure DNS
Connect Azure DNS with read-only access (Service principal (client ID + secret)).
- 2
Connect PowerDNS
Connect PowerDNS (API URL + API key (X-API-Key) + server ID). Write access is only used when you apply.
- 3
Review the preview
Check every record marked Review or Unsupported. Each one explains what changes and why.
- 4
Apply to PowerDNS
We snapshot the PowerDNS zone, write in batches, and leave Azure DNS untouched.
- 5
Verify
We query PowerDNS's own nameservers for every record and compare the answers before you switch.
- 6
Switch nameservers
Lower TTLs a day or two ahead, remove any DS record if DNSSEC is on, then point the domain at the new nameservers at your registrar.
Good to know about Azure DNS
- Azure alias records point at Azure resource IDs, which don't exist outside Azure.
- Apex CNAMEs are not allowed. Use an alias record to an Azure resource or A/AAAA records.
Access we need: Reader on the DNS zone for the preview, DNS Zone Contributor to apply.
Good to know about PowerDNS
- We only connect to public HTTPS addresses: expose the PowerDNS webserver through a reverse proxy with TLS and allow-list our egress IPs; private or internal addresses are refused.
- ALIAS records only resolve if expand-alias and a resolver are configured on the server, and DNAME needs dname-processing.
- Disabled records are not imported, and an RRset we update is replaced as a whole, so disabled entries inside it are dropped.
Access we need: The PowerDNS API key grants full read/write access to every zone on the server; there is no read-only key. Restrict it with webserver-allow-from.
Questions
Will there be downtime moving from Azure DNS to PowerDNS?
Not if both providers serve the same answers during the switch. The records are copied to PowerDNS and verified before you change nameservers, so resolvers get the same answer from either side while caches expire.
Do I have to delete anything at Azure DNS?
No. We never write to Azure DNS. Keep the old zone for a week after cutover so you can switch back instantly if anything looks wrong.
What about DNSSEC?
If DNSSEC is on, remove the DS record at your registrar and wait for it to expire before switching nameservers. Then enable DNSSEC at PowerDNS and publish its new DS record. The cutover plan walks you through each step.
Ready to see your own zone?
Start a free preview