This article describes how to migrate from BIND DNS services to the Azure DNS service.

Important: You can use the instructions of this article for installations with CloudBlue Commerce 21.0 or later.

To migrate from BIND DNS services to the Azure DNS service, complete the following steps on your installation:

  1. Register the Azure DNS service if it is not already registered.
  2. Obtain the nameservers-sync.py script and upload it to your cloud management node. The script is in the internal part of this article.
  3. Prepare a list of the identifiers of the BIND services you want to migrate from. You can obtain identifiers of DNS services at Services > Domains > the DNS tab > the Nameservers subtab.
  4. Prepare the identifier of the Azure DNS service you want to migrate to. You can obtain identifiers of DNS services at Services > Domains > the DNS tab > the Nameservers subtab.
  5. Prepare a list of the DNS resources and DNS service templates where the BIND services are specified in activation parameters. To do this, execute this command for each BIND service:
    python nameservers-sync.py --check --from=SOURCE_DNS_SERVICE_ID --to=TARGET_DNS_SERVICE_ID
    where
    SOURCE_DNS_SERVICE_ID is the identifier of a BIND service
    TARGET_DNS_SERVICE_ID is the identifier of the Azure DNS service
    Note: Output of this command contains DNS resources where a source DNS service is specified in activation parameters, and domains that are served by that source DNS service. By using these DNS resources, you can obtain the DNS service templates the DNS resources are included in.
    Examples:
    python nameservers-sync.py --check --from=1 --to=3
    python nameservers-sync.py --check --from=2 --to=3
  6. For these DNS resources and DNS service templates, perform the following actions:
    1. In the Nameserver supplier activation parameter, specify the Azure DNS service.
    2. In the First nameserver, Second nameserver, and Third nameserver activation parameters, specify No nameserver.
  7. Move DNS zones from the BIND services to the Azure DNS service. To do this, execute this command for each BIND service:
    python nameservers-sync.py --sync --from=SOURCE_DNS_SERVICE_ID --to=TARGET_DNS_SERVICE_ID
    where
    SOURCE_DNS_SERVICE_ID is the identifier of a BIND service
    TARGET_DNS_SERVICE_IDS is the identifier of the Azure DNS service
    Examples:
    python nameservers-sync.py --sync --from=1 --to=3
    python nameservers-sync.py --sync --from=2 --to=3
    Check that the output of the script does not contain failed domains. If there are failed domains, you must fix these domains and perform this step again.
    Note: You can obtain detailed logs in /var/log/pa/nameservers_sync.log.
  8. Wait for the following tasks to complete:
    • Update Azure supplier for tenant: ... (Azure) service #... (these tasks create DNS zones and DNS records in Azure DNS)
    • Update registration nameservers for hosted domains (these tasks update domain registration information in registrars)
  9. Check that the BIND services are now not in use. You can check this at Services > Domains > the DNS tab > the Nameservers subtab.
  10. Unregister the BIND services.

Internal Part

See this internal article.