Обзор частных записей DNS
В этой статье содержатся сведения о поддержке записей DNS в зонах Частная зона DNS Azure. Общие сведения о частных зонах DNS см. в статье "Что такое зона Azure Частная зона DNS"?
Записи DNS
Имена записей
Записи задаются с помощью относительных имен. Полное доменное имя включает в себя имя зоны, а относительное имя — нет. Например, относительное имя записи www
в зоне contoso.com
дает запись с полным именем www.contoso.com
.
Запись вершины — это запись DNS в корне (или вершины) зоны DNS. Например, в зоне DNS contoso.com
записи вершины также присвоено полное доменное имя contoso.com
(такое имя иногда называется доменом без префикса). Обычно относительное имя \'\@\' представляет записи вершин.
Типы записей
У каждой записи DNS есть имя и тип. Записи разделяются на разные типы в зависимости от данных, которые они содержат. Наиболее распространенный тип — запись A, которая сопоставляет имя с IPv4-адресом. Другой распространенный тип — запись MX, которая сопоставляет имя с почтовым сервером.
Azure Частная зона DNS поддерживает следующие распространенные типы записей DNS: A, AAAA, CNAME, MX, PTR, SOA, SRV и TXT.
Примечание.
Поле узла в записи SOA не редактируется.
Наборы записей
В некоторых случаях необходимо создать несколько записей DNS с заданным именем и типом. Например, предположим, что веб-сайт www.contoso.com размещается по двум разным IP-адресам. Для этого веб-сайта требуются две разные записи A — по одной для каждого IP-адреса: Вот пример набора записей:
www.contoso.com. 3600 IN A 10.10.1.5
www.contoso.com. 3600 IN A 10.10.1.10
Azure DNS управляет всеми записями DNS, используя наборы записей. Набор записей (также называется набором записей ресурсов) — это коллекция записей DNS в зоне, которые имеют одно имя и принадлежат к одному типу. Большинство наборов записей содержат одну запись. Однако примеры, как показано здесь, в которых набор записей содержит несколько записей, не являются редкими.
Например, предположим, что вы уже создали запись A www в зоне "contoso.com", указав IP-адрес "10.10.1.5" (первая запись, показанная ранее). Чтобы создать вторую запись, не нужно создавать дополнительный набор записей — следует добавить запись в уже имеющийся набор записей.
Наборы записей типа SOA и CNAME являются исключениями. По стандартам DNS несколько записей с одним и тем же именем для этих типов не допускаются, поэтому такие наборы записей могут содержать только одну запись.
Срок жизни
Время жизни или TTL указывает, сколько времени каждая запись кэшируется клиентами перед запросом. В предыдущем примере срок жизни составляет 3600 секунд или 1 час.
В Azure DNS TTL указывается для набора записей, а не для каждой записи, поэтому одно значение используется для всех записей в рамках набора записей. Вы можете указать любое значение TTL — от 1 до 2 147 483 647 секунд.
Записи с подстановочными знаками
Azure DNS поддерживает записи с подстановочными знаками. Подстановочные знаки возвращаются в ответ на любой запрос с соответствующим именем, если не существует более близкого совпадения из набора записей, не относящихся к неуправляемой системе. Azure DNS поддерживает наборы записей с подстановочными знаками для всех типов записей, за исключением NS и SOA.
Чтобы создать набор записей с подстановочными знаками, используйте знак * вместо имени набора записей. Можно использовать имя со знаком * как крайнюю метку слева, например *.foo.
Записи CNAME
Наборы записей типа CNAME не могут сосуществовать с другими наборами записей с тем же именем. Например, нельзя создать набор записей CNAME с относительным именем и записью A с относительным именем www
www
одновременно.
Так как вершина зоны (name = @) всегда содержит наборы записей NS и SOA во время создания зоны, невозможно создать набор записей CNAME на вершине зоны.
Это связано со стандартами DNS, а не ограничениями Azure DNS.
Записи SOA
Набор записей SOA автоматически создается на вершине каждой зоны (имя = @) и автоматически удаляется при удалении зоны. Записи SOA нельзя создавать или удалять отдельно.
Вы можете изменить все свойства записи SOA, кроме host
свойства. Это свойство получает предварительно настроенное для ссылки на имя основного сервера имен, предоставленное Azure DNS.
Серийный номер зоны в записи SOA не обновляется автоматически при внесении изменений в записи зоны. Его можно обновить вручную, изменив запись SOA, если потребуется.
Записи SRV
Различные службы используют записи SRV, чтобы указать расположения сервера. Указание записи SRV в Azure DNS
- Служба и протокол должны быть указаны как часть имени набора записей, префиксированного символами подчеркивания, например "_sip._tcp.name". Для записи в вершине зоны нет необходимости указывать "@" в имени записи, просто используйте службу и протокол, например "_sip._tcp".
- Приоритет, вес, порт и целевое значение указываются в качестве параметров каждой записи в наборе записей.
Записи типа TXT
Записи типа TXT используются для сопоставления доменных имен с произвольными текстовыми строками. Они используются в нескольких приложениях.
Стандарты DNS позволяют одной записи TXT содержать несколько строк, каждая из которых может содержать до 255 символов. Где используются несколько строк, они объединяются клиентами и обрабатываются как одна строка.
При вызове REST API Azure DNS необходимо указать каждую строку TXT отдельно. При использовании интерфейсов портал Azure, PowerShell или CLI следует указать одну строку для каждой записи. Эта строка автоматически делится на 255-символьные сегменты при необходимости.
Не следует путать несколько строк в записи DNS с несколькими записями типа TXT в наборе записей типа TXT. Набор записей типа TXT может содержать несколько записей, каждая из которых может содержать несколько строк. Azure DNS поддерживает общую длину строки до 4096 символов в каждом наборе записей TXT (во всех объединенных записях*
).
*
Поддержка символов 4096 в настоящее время доступна только в общедоступном облаке Azure. Национальные облака ограничены 1024 символами до завершения развертывания поддержки 4k.
Теги и метаданные
Теги
Теги — это список пар "имя — значение", которые используются 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. Их поведение описывается в следующей таблице:
Верхний колонтитул | Поведение |
---|---|
нет | PUT всегда завершается успешно (без проверки Etag) |
If-match <etag> | PUT завершается успешно, только если ресурс существует и Etag соответствует |
If-match * | PUT завершается успешно, только если ресурс существует |
If-none-match* | PUT завершается успешно, только если ресурс не существует |
Ограничения
При использовании Azure Частная зона DNS применяются следующие ограничения по умолчанию:
Использование Azure DNS для частных доменов
Ресурс | Ограничение |
---|---|
Количество частных зон DNS на подписку | 1000 |
Количество наборов записей на частную зону DNS | 25 000 |
Количество записей в наборе записей для частных зон DNS | 20 |
Количество связей с виртуальной сетью на частную зону DNS | 1000 |
виртуальная сеть ссылки на частные зоны DNS с включенным авторегистрированием | 100 |
Количество частных зон DNS, к которым может быть связана виртуальная сеть с включенным авторегистрированием | 1 |
Количество частных зон DNS, с которыми можно связать виртуальную сеть | 1000 |