Skip to content

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.

Every record type Azure DNS supports has a direct equivalent at PowerDNS.

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.

How the move works

  1. 1

    Connect Azure DNS

    Connect Azure DNS with read-only access (Service principal (client ID + secret)).

  2. 2

    Connect PowerDNS

    Connect PowerDNS (API URL + API key (X-API-Key) + server ID). Write access is only used when you apply.

  3. 3

    Review the preview

    Check every record marked Review or Unsupported. Each one explains what changes and why.

  4. 4

    Apply to PowerDNS

    We snapshot the PowerDNS zone, write in batches, and leave Azure DNS untouched.

  5. 5

    Verify

    We query PowerDNS's own nameservers for every record and compare the answers before you switch.

  6. 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