Ресурсные записи
Ресурсная запись — это главная единица информации в DNS. С помощью ресурсных записей вы определяете, куда направить запросы, поступающие на определенные доменные имена. У ресурсных записей есть следующие параметры:
- Доменное имя.
- Тип записи.
- Время жизни записи (TTL, Time to live) в секундах до актуализации информации о значении записи.
- Значение записи.
Важно
В ресурсных записях поддерживаются только ASCII символы.
Cloud DNS оперирует наборами записей. Набор может содержать одну запись или объединять ресурсные записи с одинаковым именем и типом, но с разными значениями.
Пример набора записей:
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | A | 600 |
|
Наборы записей можно изменять, добавляя или удаляя записи.
Примечание
Все записи одного набора имеют одинаковое значение TTL.
Типы ресурсных записей, поддерживаемых Cloud DNS, указаны ниже.
A
A
— сопоставление доменного имени и IPv4-адреса. Например, запрос A-записи www.example.com
должен вернуть IPv4-адрес вида xxx.xxx.xxx.xxx
.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | A | 600 | 192.0.2.1 |
Подробнее об A-записях см. в RFC-1035
AAAA
AAAA
— сопоставление доменного имени и IPv6-адреса. Работает аналогично A-записям.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | AAAA | 600 | 2001:db8::1 |
Подробнее об AAAA-записях см. в RFC-3596
CAA
CAA
— указание авторизованных центров сертификации (Certification Authority Authorization), которым разрешено выпускать сертификаты для зоны и ее подзон.
Запись состоит из следующих частей:
-
FLAG
(флаг) — однобайтовое беззнаковое целое, принимающее два значения:0
— запись не является критичной. Центр сертификации может выпустить сертификат по своему усмотрению.128
— запись является критичной. Центр сертификации не должен выдавать сертификат для FQDN, если соответствующая CAA-запись содержит критическое свойство для неизвестного или неподдерживаемого тега.
-
TAG
(тег) — строка, состоящая из символов латинского алфавита и цифр, определяющая предназначение записи:issue
— определяет центр сертификации, которому разрешен выпуск сертификата для зоны или подзоны.issuewild
— определяет центр сертификации, которому разрешен выпуск сертификатов для зоны и всех ее подзон (wildcard,*.example.com
).- Контактные данные, которые должен использовать центр сертификации для уведомлений владельца зоны о получении запроса на выпуск сертификата с нарушением правил, определенных в CAA-записях:
iodef
— номер телефона, адрес сайта или email в произвольной форме;contactemail
— адрес email;contactphone
— номер телефона.
Если сервер не может обработать незнакомый ему тег, анализируется значение флага:
0
— тег игнорируется;128
— независимо от значения в полеVALUE
запись запрещает выпуск сертификатов для указанной зоны.
-
VALUE
— запись, заключенная в двойные кавычки:""
. Обработка значения в этом поле определяется значением тега.
Имя | Тип | TTL | Значение | Расшифровка |
---|---|---|---|---|
example.com. | CAA | 600 | 128 issue "ca.example.net" | Выпуск сертификата для зоны example.com разрешен только удостоверяющему центру ca.example.net |
example.com. | CAA | 600 | 0 issuewild "ca.example.net" | Центр сертификации ca.example.net может по своему усмотрению выпускать сертификаты для зоны example.com и ее подзон |
example.com. | CAA | 600 | 0 issue ";" | Центрам сертификации запрещено выпускать сертификаты для зоны example.com |
example.com. | CAA | 600 | 0 iodef "mailto:security@example.com" | При нарушении одного из условий, описанных в CAA-записях, следует связаться с владельцем зоны example.com по адресу security@example.com |
example.com. | CAA | 600 | 0 iodef "https://security.example.com/" | При нарушении одного из условий, описанных в CAA-записях, следует связаться с владельцем зоны example.com через сайт https://security.example.com |
Подробнее о CAA-записях см. в RFC-8659
CNAME
CNAME
— псевдоним для FQDN. С помощью CNAME можно обращаться к разным службам, работающим на одном IP-адресе. Например, CNAME-записи first.example.com
и second.example.com
могут указывать на одну A-запись host.example.com
.
Имя | Тип | TTL | Значение |
---|---|---|---|
first.example.com. | CNAME | 600 | host.example.com. |
second.example.com. | CNAME | 600 | host.example.com. |
host.example.com. | A | 600 | 192.0.2.100 |
Обратите внимание, что CNAME нельзя совмещать с другими записями в одном домене. Подробнее о CNAME-записях и их ограничениях
ANAME
ANAME
— запись работает аналогично записи CNAME
, но может использоваться в одном домене с другими записями. Например, можно использовать ANAME
в домене второго уровне вместе с MX
-записями.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | ANAME | 600 | example.com.website.yandexcloud.net |
example.com. | MX | 600 | 10 mx.example.com |
example.com. | TXT | 600 | v=spf1 redirect=_spf.example.com |
example.com. | TXT | 600 | v=DKIM1; k=rsa; t=s; p=<ключ> |
Примечание
Не используйте ресурсную запись ANAME
с доменными именами для раздачи контента Yandex Cloud CDN, поскольку в таком случае конечный пользователь получит ответ от CDN-сервера, не связанного с геолокацией пользователя. Ответ всегда будет одинаков для всех пользователей.
MX
MX
— имя сервера, обрабатывающего электронную почту, например mx.example.com
.
Запись состоит из двух частей:
PREFERENCE
— 16-битное целое, задающее приоритет хоста. Чем ниже значение, тем более предпочтительным считается хост.EXCHANGE
— FQDN хоста, обрабатывающего почту в указанной зоне. Значение в этом поле должно указывать на A- или AAAA-запись.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | MX | 600 | 10 mx-primary.example.com. |
example.com. | MX | 600 | 50 mx-reserve.example.com. |
Подробнее о MX-записях см. в RFC-1035
NS
NS
— запись, содержащая адрес сервера имен, обслуживающего указанную зону.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | NS | 600 | ns1.example.com. |
example.com. | NS | 600 | ns2.example.com. |
Подробнее о NS-записях см. в RFC-1035
PTR
PTR
— сопоставление IP-адреса и доменного имени.
IP-адрес | Тип | TTL | Значение |
---|---|---|---|
192.0.2.1 | PTR | 600 | host1.example.com. |
192.0.2.2 | PTR | 600 | host2.example.com. |
Подробнее о PTR-записях см. в RFC-1035
SOA
SOA
— запись, содержащая базовую информацию о зоне. Создается автоматически.
Состоит из следующих частей:
-
MNAME
— доменное имя сервера, обслуживающего зону. Значение по умолчанию:ns.internal.
— для внутренних зон;ns1.yandexcloud.net.
— для публичных зон.
-
RNAME
— доменное имя почтового сервера, обслуживающего зону. Значение по умолчанию —mx.cloud.yandex.net.
. -
SERIAL
— 32-битное беззнаковое целое, указывающее на номер копии зоны. При синхронизации данных между DNS-серверами проверяется значение в полеSERIAL
. Чем оно больше, тем более свежими считаются данные. Значение по умолчанию —1
.Важно
Сервис Cloud DNS не изменяет значение поля
SERIAL
в SOA-записях при редактировании ресурсных записей зоны. Если вы хотите принудительно обновить кеш DNS-серверов, содержащих информацию о ваших ресурсных записях, увеличьте значение в этом поле вручную. -
REFRESH
— время в секундах между обновлениями информации о ресурсных записях в зоне. Значение по умолчанию —10800
(3 часа). -
RETRY
— время в секундах до очередной попытки обновить сведения о ресурсных записях зоны, если предыдущая была неудачной. Значение по умолчанию —900
(15 минут). -
EXPIRE
— время в секундах, по прошествии которого зона перестанет быть авторитетной. Значение по умолчанию —604800
(7 суток). -
MINIMUM
— минимальное значение TTL в секундах для любой ресурсной записи, экспортируемой из зоны. Значение по умолчанию —86400
(24 часа).
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | SOA | 3600 | ns1.yandexcloud.net. mx.cloud.yandex.net. 1 10800 900 604800 86400 |
example.com. | SOA | 3600 | ns.internal. mx.cloud.yandex.net. 1 10800 900 604800 86400 |
Подробнее о SOA-записях см. в RFC-1035
SRV
SRV
— запись, указывающая имя хоста и порт сервера, на котором работает определенная служба. SRV-запись должна указывать на A- или AAAA-запись.
Состоит из следующих частей:
Priority
(приоритет) — 16-битное беззнаковое целое число, задающее приоритет хоста. Чем ниже значение, тем более предпочтительным считается хост.Weight
(вес) — 16-битное беззнаковое целое число, задающее вес для хостов с одинаковым приоритетом. Чем ближе значение в этом поле к 0, тем меньше шансов, что хост будет выбран. Если служба работает только на одном хосте, в этом поле укажите значение0
.Port
(порт) — 16-битное беззнаковое целое число, указывающее порт, используемый службой.Target
— FQDN хоста, на котором размещается служба.
Клиент обращается к серверу с наименьшим приоритетом. Если приоритеты одинаковые у нескольких серверов, нагрузка распределяется согласно весам. Укажите приоритет и вес записей, чтобы распределить нагрузку не только между группами серверов, но и внутри групп из нескольких серверов.
Имя | Тип | TTL | Значение |
---|---|---|---|
_sip._tcp.example.com. | SRV | 600 | 10 70 8080 host.example.com. |
_postgresql._tcp.example.com. | SRV | 600 | 10 60 6432 pg-master.example.com. |
_postgresql._tcp.example.com. | SRV | 600 | 10 30 6432 pg-repl1.example.com. |
_postgresql._tcp.example.com. | SRV | 600 | 10 10 6432 pg-repl2.example.com. |
Важно
Сервис Cloud DNS поддерживает только SRV-записи класса IN
. При создании записей указывать префикс IN
не нужно.
Подробнее о SRV-записях см. в RFC-2782
SVCB и HTTPS
SVCB
— запись, указывающая имя хоста и порт сервера, на котором работает определенная служба. Предоставляет клиенту дополнительную информацию о том, как он должен подключаться к серверу.
HTTPS
— запись, предоставляющая информацию о HTTPS-соединениях. Частный случай SVCB-записи.
Состоит из следующих частей:
-
priority
(приоритет) — 16-битное беззнаковое целое число, задающее приоритет хоста. Когдаpriority
равен 0, SVCB-запись находится в режимеAliasMode
, в противном случае она находится в режимеServiceMode
.AliasMode
— режим, в котором SVCB-запись создает псевдоним дляtarget
. Позволяет создавать псевдонимы в домене зоны.ServiceMode
— режим, в котором SVCB-запись указывает на альтернативное имя хоста. Чем ниже значениеpriority
, тем предпочтительнее хост.
-
target
— FQDN хоста, на котором размещается служба. -
port
(порт) — 16-битное беззнаковое целое число, порт службы. -
alpn
(Application-Layer Protocol Negotiation) — определяет набор идентификаторов и связанных с ними транспортных протоколов, поддерживаемых хостом.no-default-alpn
— параметр, который указывает, что по умолчанию не следует использовать никаких дополнительных протоколов при установке защищенного соединения с указанным хостом.
-
ipv4hint
иipv6hint
— описывают IP-адреса, которые клиенты могут использовать для доступа к службе. -
echconfig
— параметр, который указывает, что хост поддерживает Encrypted Client Hello. -
mandatory
— параметр, который используется для указания обязательных ключей для данной записи, в дополнение к присутствующим ключам.
Имя | Тип | TTL | Значение |
---|---|---|---|
_1234._bar.example.com. | SVCB | 300 | 1 svc1.example.net. ipv6hint=2001:db8::1 port=1234 |
_1234._bar.example.com. | SVCB | 300 | 2 svc2.example.net. ipv6hint=2001:db8::2 port=1234 |
_8443._foo.api.example.com. | SVCB | 7200 | 0 svc4.example.net. |
svc4.example.net. | SVCB | 7200 | 3 svc4.example.net. alpn=bar port=8004 |
svc2.example.net. | HTTPS | 7200 | 1 . port=8002 |
example.net. | HTTPS | 1800 | 1 . alpn=h3,h3-29,h2 ipv4hint=10.0.0.1 ipv6hint=::1 |
Подробнее об SVCB-записях см. в RFC-9460
TXT
TXT
— произвольная запись, позволяющая хранить человекочитаемый текст или структурированные машиночитаемые данные.
В основном применяется для проверки:
-
владения доменом;
-
подлинности сообщений электронной почты:
Реализация работы TXT-записей в Yandex Cloud DNS имеет следующие особенности и ограничения:
-
Сервис использует формат MASTER FILES
. Согласно спецификации этого формата, с символа;
начинается комментарий, т. е. все содержимое после него игнорируется. Если вы хотите использовать символ;
в значении TXT-записи, заключите содержащую его строку в двойные кавычки""
. -
Сервис поддерживает одну TXT-запись.
-
Значение TXT-записи должно быть не более 1024 знаков.
-
TXT-запись может хранить несколько значений. При необходимости заключите каждое значение в двойные кавычки
""
. -
Символ пробела используется в качестве разделителя. Если во введенной строке есть пробелы, она будет интерпретироваться как несколько строк.
Например, введена строка:
Long string "string with spaces in quotes" #1 and_without_spaces
При сохранении эта строка не изменится, но будет обработана как 5 строк:
"Long" "string" "string with spaces in quotes" "#1" "and_without_spaces"
Если необходимо сохранить пробелы, заключите всю строку в двойные кавычки
""
.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | TXT | 600 | "v=DMARC1; p=none; sp=quarantine; pct=100; rua=mailto: dmarcreports@example.com;" |
big-email._domainkey.example.com | TXT | 6000 | "v=DKIM1; p=76E629F05F70 9EF665853333 EEC3F5ADE69A 2362BECE4065 8267AB2FC3CB 6CBE" |
example.com. | TXT | 6000 | "v=spf1 ip4=192.0.2.0 ip4=192.0.2.1 include:examplesender.email -all" |
Подробнее о TXT-записях см. в RFC-1035
Сервисные записи
Некоторые сервисы Yandex Cloud используют в своей работе ресурсные записи Cloud DNS и позволяют создавать их. В списке ресурсных записей Cloud DNS такие записи помечены значками сервисов, в которых они были созданы:
- Yandex API Gateway — запись ANAME необходима для привязки домена к API-шлюзу и помечена значком
- Yandex Certificate Manager — запись CNAME необходима для прохождения проверки прав на домен и помечена значком
- Yandex Object Storage — запись ANAME необходима для привязки домена к бакету и помечена значком
Сервисные записи нельзя изменять, а удалять можно только по одной. После удаления ресурса, для которого создавалась сервисная ресурсная запись, эту ресурсную запись необходимо удалить вручную.