A-запис
Коротко: Тип DNS-запису, що напряму зіставляє доменне ім’я з адресою IPv4.
Докладніше: A-запис («Address Record») — найбазовіший тип DNS-запису: він відповідає на запитання «яка IP-адреса належить цьому імені?» для IPv4. Для адрес IPv6 те саме завдання виконує AAAA-запис.
Подробиці
Структура
A-запис складається з чотирьох частин: ім’я, тип (A), TTL і значення (адреса IPv4).
emzett-digital.com. 3600 IN A 76.76.21.21
Кінцева крапка після доменного імені позначає кореневий домен і в інструментах зазвичай опускається, але технічно є справжнім кореневим вузлом ієрархії DNS — без неї ім’я теоретично було б неоднозначним (відносним замість абсолютного). 3600 — це TTL у секундах, тут одна година, після якої резолвер має знову запитати значення. IN означає «Internet» і є історичним пережитком часу, коли DNS призначався й для інших мережевих класів (наприклад, Chaosnet) — сьогодні практично завжди IN, але з міркувань сумісності лишається обов’язковим полем у форматі файлу зони.
Кілька A-записів і round-robin DNS
У домену може бути одразу кілька A-записів (кілька IP-адрес для одного імені). Клієнти тоді зазвичай обирають один випадково або по черзі («round-robin DNS») — простий, але грубий підхід до розподілу навантаження без справжнього балансування навантаження. Вирішальна відмінність від справжнього балансування: DNS нічого не знає про поточне навантаження серверів за ним і не може автоматично реагувати на відмову сервера, доки хтось уручну не видалить відповідний запис (або не впорається спеціалізована служба «health-check DNS»). Тому в сучасних конфігураціях round-robin DNS зазвичай використовується лише для грубого географічного розподілу (наприклад, різні IP залежно від регіону резолвера, що запитує, «GeoDNS»), а власне розподіл навантаження всередині регіону бере на себе справжній балансувальник.
Взаємодія з CNAME
Якщо A-запис повністю відсутній, але є запис CNAME, розв’язується його ціль — але за стандартом CNAME і A не можуть існувати для одного імені одночасно. Саме тому багато DNS-хостингів пропонують для кореневого домену (якому технічно не можна мати CNAME) власну альтернативу на кшталт «ALIAS» чи «ANAME», яка для користувача поводиться як CNAME, але всередині на боці сервера розв’язується в відповідний A-запис до надсилання відповіді.
Практичне налагодження
За допомогою dig (Linux/macOS) або nslookup/Resolve-DnsName (Windows) A-запис можна запитати напряму:
$ dig emzett-digital.com A +short
76.76.21.21
Якщо повернений IP відрізняється від очікуваного, то зазвичай це або ще не прострочений запис у кеші (зачекайте, доки мине TTL), або ознака того, що зміну зроблено не в тому місці (наприклад, у реєстратора замість DNS-хостингу, якому реально делеговано керування через запис NS).
Див. також: DNS-записи, AAAA-запис, IPv4