Я создаю приложение, размещенное на Heroku. Heroku предлагает Домены Apex - очень плохая идея - они предлагают использовать записи CNAME и службу обходного решения, такую как Zerigo или DNSSimple. Однако у всех остальных хостов, которые я использовал, с этим проблем нет. EngineYard включен в этот список, и они также размещаются на Amazon EC2.
Следует ли мне отказаться от использования записей A в пользу использования CNAME с обходным путем Zerigo в будущем? Неужели это действительно касается только приложений с высокой доступностью? Heroku просто параноик?
Я считаю, что этот текст Heroku, на который вы ссылаетесь, относится только к службам, размещенным на Heroku и аналогичных типах поставщиков, и не думаю, что он актуален, например. для домена, размещенного на физическом сервере (или виртуальной машине на собственном KVM / Xen / ESXi) хосте.
В контексте Heroku вы не контролируете, где работает ваш сервис, и Heroku хочет гибкости, чтобы перемещать вещи без нарушения клиентских систем. Для этого имеет смысл их модельное использование записей CNAME.
Что касается других систем, вы должны подумать, выиграет ли ваша среда от гибкости, предлагаемой схемой именования DNS, предложенной ими.
Аргумент, который они делают, заключается в том, что использование CNAME
позволяет другому объекту (им) обновлять используемые адреса без вашего участия.
Там является законный довод в пользу этого - но на самом деле это не имеет ничего общего с масштабируемостью или облачностью. Вашему провайдеру будет выгодно перемещать свои серверы по разным адресам, не заставляя своих клиентов постоянно обновлять A
записи.
Это все, что нужно сделать. Статья, кажется, пытается объединить это с добавлением неотъемлемой устойчивости, в частности, со ссылкой на «массивные локальные центры обработки данных», что вообще не имеет смысла.
Обратите внимание, что проблему можно обойти с помощью записи DNSSimple 'Alias' - подробнее см. http://blog.dnsimple.com/introduction-the-alias-record/ - это их собственное расширение DNS, которое решает проблему, если вы используете их для своего DNS-хостинга.
Вашему провайдеру будет выгодно перемещать свои серверы по разным адресам, не заставляя своих клиентов обновлять все записи A.
Мне это кажется хорошей причиной, достаточно хорошей, чтобы НЕ использовать записи A и по возможности придерживаться CNAME в облачных сервисах, включая heroku, особенно если у вашей записи большой TTL.
Вот интересная статья об этом (правда, от явного фаната heroku, но она довольно хорошо объясняет ситуацию): http://neilmiddleton.com/the-dangers-of-a-records-and-heroku/