- Автор flashr августа 31, 2011
О проблеме DNS для Азура
уже упоминалось, но оказалось все сложнее. Российский регистратор webnames не смог выставить DNS для доменов на нужные, ссылаясь на ошибки в SOA записях, даже техподдержка пока не помогла. Так что домены по 90р за штуку до добра не доведут. Поэтому я озадачисла поднятием и настройкой своего пула DNS серверов и видимо с этим столкнется любой вебмастер, который захочет работать с Азуром без использования дорогово CDN.
Алгоритм выглядит просто.
1) Заказываем на той же Агаве пару серверов IIS Web за 500р в месяц, включаем на каждом из них DNS Server, на втором настраиваем репликацию первого.Заводим нужные Зоны. Записи A и CNAME на www. Также настраиваем SOA чтобы TTL был секунд 20, а не час.
2) На primary DNS сервере ставим PowerShell из стандартного пакета, там в разделе Features есть. И пишем win-service который бы раз в 5 минут опрашивал ваши азурные сайты на предмет не изменился ли у них IP адрес. Если изменился, то выполняем PS скрипт, чтобы поделиться которыми и написан данный пост.
3) Первое, это когда служба только запускается и ей нужно определить список всех доменных зон на сервере, делается это так:
Copy Source | Copy HTML- Get-WmiObject -ComputerName localhost -Namespace 'root\MicrosoftDNS' -Class MicrosoftDNS_AType |Sort-Object -unique containername|Select containername,ipaddress
4) И второе, это когда обнаружены домены, для которых нужно поменять А записи, вызывается
такой вот скрипт. Вызов выглядит как "./update-DNSAddress -forward localhost -reverse localhost". А в файле dnsaddresslist.csv со списком нужных изменений присутствует шапка "Name,Address" и далее по домену-айпи на каждой строчке разделенных запятой.
Это базовые знания, чтобы решить проблемы динамических адресов в Azure, но при желании могу добавить ваш домен на свои обновляемые DNS server'a.
Метки: Code | microsoft