Лучше меньше A
записи и десятки CNAME
записи или наоборот?
Одна (или несколько) записей A на уникальный IP-адрес и множество записей CNAME на запись A:
@ 3600 IN A 123.123.123.123
a 3600 IN CNAME @
b 3600 IN CNAME @
c 3600 IN CNAME @
Группы записей A:
@ 3600 IN A 123.123.123.123
a 3600 IN A 123.123.123.123
b 3600 IN A 123.123.123.123
c 3600 IN A 123.123.123.123
Что лучше: меньше A-записей и несколько десятков CNAME-записей или наоборот?
Нет. Менее бойко, на самом деле нет особых причин предпочесть одно другому, при условии, что вы не укажете CNAME на CNAME по пути.
Основное преимущество, которое будет означать выбор CNAME, состоит в том, что вам не нужно добавлять запись MX или другие эфемеры в каждый поддомен. Главный недостаток заключается в том, что вы не можете изменить их, не конвертируя обратно в запись A.
Лучше для чего?
С точки зрения производительности, незначительно (и под «незначительно» я имею в виду «технически, но не заметно») лучше использовать A
записей, так как ваши ответы DNS не должны включать дополнительные данные.
Если CNAME
указывает на другой домен, для которого ваш сервер не является авторитетным, это может иметь большее влияние из-за того, что преобразователю нужно делать больше запросов, чтобы получить результат ... но в приведенном вами примере влияние на производительность совершенно незначительно.
С точки зрения управляемости CNAME
может быть проще, так как вам нужно будет сделать только одно изменение вместо нескольких, чтобы учесть изменение IP в системе.
Если развертывание так же просто, как приведенный вами пример, то, честно говоря, в любом случае это не имеет значения.
Re: CNAME
против A
- это действительно не имеет значения для производительности, согласно другим ответам.
Однако, если вы используете CNAME
, не делайте это указателем на @
, сделайте его указателем на какой-либо другой поддомен в зоне.
Причина в том, что @
также содержит другие записи, например ваш SOA
, NS
, MX
записи и т. д.
Если ваш CNAME
указывает на @
, то все эти другие записи (неправильно) начнут существовать и для ваших поддоменов с псевдонимами.
Кстати, если ваш веб-хостинг становится многодомным (то есть имеет несколько A
записи или даже A
и AAAA
) затем CNAME
на реальный хост-компьютер нужно поддерживать только одну запись. Если бы вы использовали A
записей, вам нужно будет дублировать список снова и снова для каждого поддомена.