Знакомство с Azure DNS

Azure DNS

Не так давно у Microsoft появилась довольно интересная услуга под названием Azure DNS. Суть услуги – это предоставление хостинга клиентских DNS зон причем зарегистрированных как самим Microsoft так и у других DNS провайдеров. Рассмотрим все за и против данного решения:

К положительным сторонам решения я безусловно могу отнести глобальный масштаб, другими словами, сервис размещен в большинстве ЦОДов Azure, что придает довольно большей уровень высокой доступности. Так же стоит отметить, что реализована поддержка геолокации, другими словами, если вы будете делать запрос находясь в Америке, то он будет направлен в ближайший ЦОД в Штатах.

К отрицательным сторонам стоит отнести невозможность графически управлять решением. Конечно это можно списать на то, что пока данная услуга не вышла в продакшин, но все же создает некий барьер к тестированию решения. По этому я решил написать маленькую статью, которая покажет как именно можно начать работу с Azure DNS и что для этого нужно.

Поваренный рецепт довольно прост – действующая подписка Azure и компьютер под управлением любой платформы. Кроссплатформенность достигается за счет использования не только Azure PowerShell но и Azure CLI для конфигурирования.

Регистрация зоны с помощью Azure PowerShell

Так как Azure DNS использует диспетчер ресурсов Azure (ARM), для последующей работы необходимо в него переключится, делается это так:

Switch-AzureMode -Name AzureResourceManager

Далее, либо через Add-AzureAccount или Get-AzurePublishSettingsFile, подключаемся к своей подписке Azure. Если у вас несколько подписок на одном аккаунте, напоминаю, чтобы переключатся между ними следует использовать Select-AzureSubscription.

На следующем шаге необходимо создать новую группу ресурсов в которую мы разместим новую зону DNS:

New-AzureResourceGroup -Name DNS -location "West Europe"

 New-AzureResourceGroup

Azure DNS управляется поставщиком ресурсов Microsoft.Network, по сему его необходимо предварительно зарегистрировать, для этого выполняем:

Register-AzureProvider -ProviderNamespace Microsoft.Network

Register-AzureProvider

Само создание DNS зоны выражается одним коммандлетом New-AzureDnsZone, используем его для создания зоны azurednsdemo.it-community.in.ua:

New-AzureDnsZone -Name azurednsdemo.it-community.in.ua -ResourceGroupName DNS

New-AzureDnsZone

Для просмотра этих записей используйте командлет Get-AzureDnsRecordSet:

Get-AzureDnsRecordSet -ZoneName azurednsdemo.it-community.in.ua -ResourceGroupName DNS

Get-AzureDnsRecordSet

Как видите SOA и NS записей в зоне нечего нету.

Добавление записей в зону Azure DNS при помощи Azure PowerShell

В двух словах процесс добавления новых записей будет сводится к 3-м шагам:

  1. Созданию набора записей и назначению его в переменную. Сам набор записей содержит в себе тип, имя записи, TTL.
  2. Определение значений IP адресов в созданном наборе записей.
  3. Применение конфигурации.

 

Шаг первый:

$var = New-AzureDnsRecordSet -Name www -RecordType A -ZoneName azurednsdemo.it-community.in.ua -ResourceGroupName DNS -Ttl 60

New-AzureDnsRecordSet

Шаг второй:

Добавим значение IP:

Add-AzureDnsRecordConfig -RecordSet $var -Ipv4Address 91.183.34.89

Add-AzureDnsRecordConfig

Шаг третий:

Применим изменения:

Set-AzureDnsRecordSet -RecordSet $var

Set-AzureDnsRecordSet

Готово. Проверить что запись присутсвует в зоне мы можем выполнив коммандет Get-AzureDnsRecordSet:

Get-AzureDnsRecordSet –Name www –RecordType A -ZoneName azurednsdemo.it-community.in.ua -ResourceGroupName DNS

 

Тестирование

Для тестирования можно использовать как утилиту CMD nslookup так и PowerShell коммандлет Resolve-DnsName. Единственный момент, для тестирования необходимо указать NS сервера Azure DNS.

Resolve-DnsName -Name www.azurednsdemo.it-community.in.ua -Type A -Server ns1-06.azure-dns.com

Resolve-DnsName

Для того чтобы запустить в продакшин работу Azure DNS с вашей стороны нужно в настройках регистратора зоны указать список NS серверов Azure DNS. Сам список можно получить запросив записи NS вашей зоны:

Get-AzureDnsRecordSet -ZoneName azurednsdemo.it-community.in.ua -ResourceGroupName DNS -RecordType NS

Выводы:

Azure DNS довольно интересный сервис, который показал в тестировании не плохой результат производительности плюс возможности установки маленьких значений TTL не будут лишними. Ждем графических средств администрирования.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.