Designate doesn't store any state on these boxes, and is an HA cluster, so that part should be simple.
PDNS has a local database which will need to be copied over to any newly-built host:
[] On old host: mysqldump -h <this ip> -u pdns -p pdns > pdns-dump.sql
[] stand up mysql
# cd /opt/wmf-mariadb104/
# ./scripts/mysql_install_db
[] Import data on new host:
mysql> CREATE DATABASE pdns;
# mysql -p pdns < pdns-dump.sql
# # ^ empty password for this
[] bootstrap ip aliaser (this file will get filled in later)
# echo '{}' > /var/cache/labsaliaser/labs-ip-aliases.json
[] grants
# GRANT ALL PRIVILEGES ON pdns.* TO 'pdns'@'localhost' identified by '<password>
# GRANT ALL PRIVILEGES ON pdns.* TO 'pdns'@'ipv4' identified by '<password>
# GRANT ALL PRIVILEGES ON pdns.* TO 'pdns'@'ipv6' identified by '<password>