Обзор зон и записей DNS

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

Имена доменов

Система доменных имен — это иерархия доменов. Иерархия начинается с корневого домена с именем '.'. Ниже находятся домены верхнего уровня, такие как com, net, org, uk и jp. Под этими доменами верхнего уровня расположены домены второго уровня, например org.uk и co.jp. Эти домены в иерархии DNS глобально распределены на DNS-серверах по всему миру.

Регистратор доменных имен — это организация, которая позволяет приобрести доменное имя, например contoso.com. Купив доменное имя, вы получаете право управлять иерархией DNS под этим именем, например настроить перенаправление на веб-сайт вашей компании при вводе адреса www.contoso.com. Регистратор может размещать домен на своих собственных серверах доменных имен от вашего имени, либо вы можете указать альтернативные серверы доменных имен.

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

Azure DNS в настоящее время не поддерживает приобретение доменных имен. Если необходимо приобрести доменное имя, требуется использовать регистратор доменных имен стороннего поставщика. Регистратор обычно взимает небольшую годовую плату. Затем вы сможете разместить домены в Azure DNS, чтобы управлять записями DNS. Дополнительные сведения см. в статье Делегирование домена в Azure DNS.

Зоны DNS

Зона DNS используется для размещения DNS-записей определенного домена. Чтобы разместить свой домен в Azure DNS, необходимо создать зону DNS для этого доменного имени. Каждая запись DNS для вашего домена создается внутри этой зоны DNS.

Например, домен contoso.com может содержать несколько записей DNS, включая mail.contoso.com (для почтового сервера) и www.contoso.com (для веб-сайта).

При создании зоны DNS в Azure DNS учитывайте следующее.

  • Имя зоны должно быть уникальным в пределах группы ресурсов, а зона не должна существовать. В противном случае операция завершится ошибкой.
  • То же имя зоны можно использовать повторно в другой группе ресурсов или другой подписке Azure.
  • Если нескольким зонам присвоено одно и то же имя, каждому экземпляру назначаются разные адреса серверов доменных имен. С помощью регистратора доменных имен можно настроить только один набор адресов.

Примечание

Для создания зоны DNS с доменным именем в Azure DNS необязательно быть его владельцем. Однако, чтобы настроить серверы доменных имен Azure DNS в качестве правильных серверов для доменного имени с помощью регистратора доменных имен, необходимо быть владельцем домена.

Дополнительные сведения см. в статье Делегирование домена в Azure DNS.

Записи DNS

Имена записей

В Azure DNS записи указываются с помощью относительных имен. Полное доменное имя включает в себя имя зоны, а относительное имя — нет. Например, относительное имя записи www в зоне contoso.com дает запись с полным именем www.contoso.com.

Запись вершины — это запись DNS в корне (или вершины) зоны DNS. Например, в зоне DNS contoso.com записи вершины также присвоено полное доменное имя contoso.com (такое имя иногда называется доменом без contoso.com). Обычно относительное имя \'\@\' представляет записи вершин.

Типы записей

У каждой записи DNS есть имя и тип. Записи разделяются на разные типы в зависимости от данных, которые они содержат. Наиболее распространенный тип — запись A, которая сопоставляет имя с IPv4-адресом. Другой распространенный тип — запись MX, которая сопоставляет имя с почтовым сервером.

Azure DNS поддерживает все общие типы записей DNS: A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV и TXT. Обратите внимание, что записи SPF, представлены в виде записей TXT.

Наборы записей

В некоторых случаях необходимо создать несколько записей DNS с заданным именем и типом. Например, предположим, что веб-сайт www.contoso.com размещается по двум разным IP-адресам. Для этого веб-сайта требуются две разные записи A — по одной для каждого IP-адреса: Вот пример набора записей:

www.contoso.com.        3600    IN    A    134.170.185.46
www.contoso.com.        3600    IN    A    134.170.188.221

Azure DNS управляет всеми записями DNS, используя наборы записей. Набор записей (также называется набором записей ресурсов) — это коллекция записей DNS в зоне, которые имеют одно имя и принадлежат к одному типу. Большинство наборов записей содержат одну запись. Однако встречаются и наборы с несколькими записями (как в примере выше).

Например, предположим, что вы уже создали в зоне contoso.com запись А www, указывающую на IP-адрес 134.170.185.46 (первая запись выше). Чтобы создать вторую запись, не нужно создавать дополнительный набор записей — следует добавить запись в уже имеющийся набор записей.

Наборы записей типа SOA и CNAME являются исключениями. По стандартам DNS несколько записей с одним и тем же именем для этих типов не допускаются, поэтому такие наборы записей могут содержать только одну запись.

Срок жизни

Срок жизни (TTL) указывает продолжительность кэширования каждой записи клиентами до повторного запроса. В приведенном выше примере TTL равен 3600 секундам или 1 часу.

В Azure DNS TTL указывается для набора записей, а не для каждой записи, поэтому одно значение используется для всех записей в рамках набора записей. Вы можете указать любое значение TTL — от 1 до 2 147 483 647 секунд.

Записи с подстановочными знаками

Azure DNS поддерживает записи с подстановочными знаками. Эти записи возвращаются в ответ на любой запрос с совпадающим именем, если нет более близкого совпадения из набора записей без подстановочных знаков. Azure DNS поддерживает наборы записей с подстановочными знаками для всех типов записей, за исключением NS и SOA.

Чтобы создать набор записей с подстановочными знаками, используйте знак * вместо имени набора записей. Можно использовать имя со знаком * как крайнюю метку слева, например *.foo.

Записи авторизации ЦС

Запись авторизации ЦС позволяет владельцам доменов указывать, какие центры сертификации уполномочены выдавать сертификаты для их домена. В определенных обстоятельствах эта запись позволяет центрам сертификации избежать ошибочной выдачи сертификатов. Записи авторизации ЦС имеют три свойства:

  • Flags. Это поле является целым числом от 0 до 255, которое представляет критический флаг с особым значением для каждого RFC.
  • Tag. Строка ASCII, которая может иметь одно из следующих значений:
    • issue — если необходимо указать ЦС, которые могут выпускать сертификаты (всех типов);
    • issuewild — если необходимо указать ЦС, которые могут выпускать сертификаты (только шаблоны);
    • iodef — адрес электронной почты или имя узла, по которым ЦС может отправлять уведомления о запросах на несанкционированную выдачу сертификатов.
  • Value. Значение для определенного выбранного тега.

Записи CNAME

Наборы записей типа CNAME не могут сосуществовать с другими наборами записей с тем же именем. Например, невозможно одновременно создать набор записей CNAME и запись A с относительными именами www.

Так как вершина зоны (имя = @) будет всегда содержать наборы записей при создании зоны, невозможно создать набор записей CNAME на вершине зоны.

Это связано со стандартами DNS, а не ограничениями Azure DNS.

Записи NS

Набор записей NS на вершине зоны (имя @) автоматически создается вместе с каждой зоной DNS и автоматически удаляется при удалении зоны. Его невозможно удалить отдельно.

Этот набор записей содержит имена серверов доменных имен Azure DNS, назначенные зоне. Вы можете добавить больше серверов имен в этот набор записей NS для поддержки совместных доменов с несколькими поставщиками DNS. Вы также можете изменить срок жизни и метаданные для этого набора записей. Однако удаление или изменение предварительно заполненных серверов имен Azure DNS запрещено.

Это ограничение распространяется только на запись NS, установленную на вершине зоны. Другие наборы записей NS в зоне (используемые для делегирования дочерних зон) можно создавать, изменять и удалять без ограничений.

Записи SOA

Набор записей SOA автоматически создается на вершине каждой зоны (имя = @) и автоматически удаляется при удалении зоны. Записи SOA невозможно создать или удалить отдельно.

Можно изменить все свойства записи SOA, за исключением свойства "host". Это свойство предварительно настроено для указания первичного сервера доменных имен, предоставленного Azure DNS.

Серийный номер зоны в записи SOA не обновляется автоматически при внесении изменений в записи зоны. Его можно обновить вручную, изменив запись SOA, если потребуется.

Записи SPF

Записи инфраструктуры политики отправителей (SPF) используются для указания почтовых серверов, которые могут отправлять электронную почту от имени доменного имени. Правильная конфигурация записей SPF очень важна, чтобы получатели не помечали ваши сообщения электронной почты как "Нежелательная почта".

В RFC DNS новый тип записи SPF был изначально представлен для поддержки этого сценария. Для поддержки старых серверов доменных имен в них также может использоваться тип записи TXT, чтобы указывать записи SPF. Эта неоднозначность привела к путанице, которую удалось устранить с помощью документа RFC 7208. В нем сказано, что записи SPF должны создаваться с помощью записей типа TXT. Также там сказано, что записи типа SPF являются устаревшими.

Записи SPF поддерживаются в Azure DNS, и их необходимо создавать с помощью записи типа TXT. Устаревший тип записи SPF не поддерживается. Во время импорта файла зоны DNS все записи SPF, которые используют тип SPF, преобразуются в записи типа TXT.

Записи SRV

Различные службы используют записи SRV, чтобы указать расположения сервера. Указание записи SRV в Azure DNS

  • Службу и протокол необходимо указать как часть имени набора записей, начинающуюся с символа подчеркивания. Например, _sip._tcp.name. В имени записи на вершине зоны не нужно указывать @, вместо этого можно просто использовать службу и протокол, например _sip._tcp.
  • Приоритет, вес, порт и целевое значение указываются в качестве параметров каждой записи в наборе записей.

Записи типа TXT

Записи типа TXT используются для сопоставления доменных имен с произвольными текстовыми строками. Они используются в разных приложениях, в частности в тех, которые относятся к конфигурации электронной почты, например инфраструктура политики отправителей (SPF) и DomainKeys Identified Mail (DKIM).

По стандартам DNS одна запись типа TXT может содержать несколько строк, в каждой из которых может быть до 254 знаков. При использовании нескольких строк они объединяются клиентами и рассматриваются в качестве одной строки.

При вызове REST API Azure DNS необходимо указать каждую строку TXT отдельно. Используя портал Azure, PowerShell или интерфейс командной строки, следует указать одну строку в записи, которая при необходимости автоматически разделяется на сегменты по 254 знака.

Не следует путать несколько строк в записи DNS с несколькими записями типа TXT в наборе записей типа TXT. Набор записей типа TXT может содержать несколько записей, каждая из которых может содержать несколько строк. Azure DNS поддерживает общую длину строки не более 1024 знаков в каждом наборе записей типа TXT (во всех записях).

Теги и метаданные

Теги

Теги — это список пар "имя — значение", которые используются Azure Resource Manager для пометки ресурсов. Azure Resource Manager использует теги, чтобы обеспечить отфильтрованные представления счетов Azure, а также позволяет задать политику для определенных тегов. Дополнительные сведения о тегах см. в статье Использование тегов для организации ресурсов в Azure.

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

Метаданные

В качестве альтернативы тегам наборов записей Azure DNS поддерживает создание заметок к наборам записей с помощью метаданных. Так же как и теги, метаданные позволяют связывать пары "имя — значение" с каждым набором записей. К примеру, эта функция может пригодиться для записи назначения каждого набора записей. В отличие от тегов метаданные нельзя использовать, чтобы обеспечить отфильтрованное представление счетов Azure, и указывать в политике Azure Resource Manager.

Теги Etag

Предположим, что два человека или два процесса пробуют изменить запись DNS одновременно. У какого из них это получится? И будет ли этот человек или процесс знать, что они заменили изменения кого-то другого?

Служба Azure DNS использует теги Etag для безопасной обработки параллельных изменений одного ресурса. Теги ETag не связаны с тегами Azure Resource Manager. С каждым ресурсом DNS (зоной или набором записей) связан Etag. При извлечении ресурса также передается его значение Etag. При обновлении ресурса вы можете вернуть Etag, чтобы служба Azure DNS могла сопоставить его с Etag на сервере. Так как каждое обновление ресурса приводит к повторному созданию Etag, несовпадение Etag указывает на параллельное изменение. Теги Etag можно также использовать при создании ресурса для проверки того, что ресурс не существует.

По умолчанию PowerShell для Azure DNS использует теги Etag для блокировки одновременных изменений зон и наборов записей. С помощью необязательного параметра -Overwrite можно отключить проверки тегов Etag. В этом случае все одновременные изменения перезаписываются.

На уровне API REST службы Azure DNS теги Etag указываются с помощью заголовков HTTP. Их поведение описывается в следующей таблице:

Заголовок Поведение
None PUT всегда завершается успешно (без проверки Etag)
If-match <etag> PUT завершается успешно, только если ресурс существует и Etag соответствует
If-match * PUT завершается успешно, только если ресурс существует
If-none-match* PUT завершается успешно, только если ресурс не существует

Ограничения

При использовании Azure DNS применяются приведенные ниже ограничения по умолчанию.

Общедоступные зоны DNS

Ресурс Ограничение
Количество общедоступных зон DNS на подписку 250 1
Количество наборов записей на общедоступную зону DNS 10 000 1
Количество записей в наборе записей в общедоступной зоне DNS 20
Number of Alias records for a single Azure resource 20

1 Если вам нужно увеличить эти ограничения, обратитесь в Службу поддержки Azure.

Частные зоны DNS

Ресурс Ограничение
Количество частных зон DNS на подписку 1000
Количество наборов записей на частную зону DNS 25000
Количество записей в наборе записей для частных зон DNS 20
Количество связей с виртуальной сетью на частную зону DNS 1000
Количество связей с виртуальной сетью на частную зону DNS с включенной автоматической регистрацией 100
Количество частных зон DNS, с которыми можно связать виртуальную сеть с включенной автоматической регистрацией 1
Количество частных зон DNS, с которыми можно связать виртуальную сеть 1000
Количество запросов DNS, которые виртуальная машина может отправить в сопоставитель Azure DNS, в секунду 1000 1
Максимальное количество запросов DNS, помещенных в очередь (ожидающих ответа), на виртуальную машину 200 1

1 Эти ограничения применяются к каждой отдельной виртуальной машине, а не к уровню виртуальной сети. Запросы DNS свыше объема этих ограничений удаляются.

Дальнейшие действия