EMZETT.
Увійти

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