Zone management
Multi-provider DNS
Run multi-provider DNS with the same zone served by several providers. Configure mirror or merge behavior, nameserver counts, previews, and drift checks.
4 min read
On this page
Multi-provider DNS requirements and limits#
Adding a second provider requires Pro; Agency includes the same sync feature. Free can attach one provider. The service accepts at most four connections per zone and rejects the same connection twice.
This is API-driven active-active DNS, not primary-to-secondary AXFR. The saved draft under Zones remains the desired state. DNSMigrator reads and writes each attached provider through its own adapter.
Add providers to a zone#
Open provider settings
Open Zones → a zone → Settings → Providers. Existing rows show the connection and Nameservers used value.
Choose another connection
Under Add a provider, select Choose a connection, choose the account, and select Add. Repeat as needed.
Set nameserver counts
Choose All or 0–4 for each provider. This controls how many nameservers returned for that provider are added when they are available to planning.
Save the provider set
Select Save providers. Provider assignment is saved separately and reloads the zone, so save record edits first.
Preview every destination
Select Preview changes and inspect every provider card before typing the zone name and pushing.
Removing a provider stops future previews, pushes, backups, and drift checks for that connection. It does not delete the provider’s zone or records.
Understand nameserver handling#
The release service builds each provider plan independently. For one plan, the candidate apex NS set can contain:
- values under Settings → Record defaults → Extra nameservers; and
- the first n nameservers returned for that same provider, or all of them when Nameservers used is All.
Selecting 0 keeps record pushes enabled but excludes returned nameservers from that provider’s plan. Names are lowercased, made absolute, and deduplicated.
There is no cross-provider union in the deployed managed-zone service path. The separate core helper that can combine provider nameservers is not called by managed-zone preview or push. In addition, an existing provider zone found by the release service contributes no discovered nameservers to preview; nameservers returned while creating a missing zone can be included during the push re-plan. Explicit Extra nameservers are the predictable inputs available to both paths.
Keep record answers aligned#
Every selected provider starts from the same saved records, but the release managed-zone planner does not run the migration translation engine. For each provider it:
- omits SOA, DNSKEY, and direct apex NS records as managed settings;
- rejects records whose type is absent from that provider’s catalog;
- checks provider-specific alias forms, apex CNAME support, routing-policy support, and TXT logical-value length;
- applies ignore rules, import transforms, absent markers, and the saved purge policy; and
- compares the remaining canonical sets directly with that provider’s API read.
It does not clamp TTLs or convert unsupported types for managed-zone pushes. Zone checks warns about out-of-range TTLs and proxy metadata a provider cannot use. Fix those findings before preview instead of assuming that another provider’s representation will be synthesized.
Each Changes card shows add, change, delete, unchanged, unsupported, or error results for one connection. Unsupported records are omitted from that connection’s plan without making the whole preview fail. The direct editor has no per-provider include/exclude switch, so a saved record targets every attached provider subject to these checks.
Push to several providers#
Use this sequence after each saved change:
- select Preview changes;
- compare all provider cards and unsupported rows;
- avoid saved-zone edits and direct provider-console edits after review and while the push runs;
- type the zone name and select Push to n providers; and
- select Check for drift after provider APIs settle.
Push reads and recomputes every provider plan again. The release rejects submission when the saved version already differs from the preview, but the worker does not compare operations or repeat the version check after queueing. A provider-console edit or saved-zone edit made while the job waits can therefore alter the applied plan. See Preview and push.
A separate Before push backup is stored for every provider that can be read and opened. Providers are then written sequentially. If one fails, later providers are still attempted and earlier successful writes stay live; there is no cross-provider automatic rollback.
To recover, inspect the failed card, open the relevant provider snapshot under Backups, and load a deliberate corrective draft. Restoring one provider snapshot replaces the shared desired record list, so preview it against every attached provider before pushing.
Monitor each provider#
Manual Check for drift is available on every plan. Pro can check hourly and schedule daily backups; Agency can check every 15 minutes and schedule hourly backups. Configure the switch and schedule under Settings → Monitoring and backups.
Drift compares the same saved desired zone separately with each provider; it does not compare provider A directly with provider B. A notification is queued when the zone first changes into the drifted state. Read Drift monitoring, Backups and restore, and Notifications and webhooks.