Я установил эластичный балансировщик нагрузки на EC2, который (например) имеет общедоступный DNS (запись A):
LB-165746761.eu-west-1.elb.amazonaws.com
Затем я зарегистрировал домен, который хочу выступать в качестве моего общедоступного домена для балансировщика нагрузки, настроив запись CNAME, которая указывает на общедоступный DNS-сервер балансировщика нагрузки:
CNAME loadbalancer.domain.com -> LB-165746761.eu-west-1.elb.amazonaws.com
Затем у меня есть общедоступный домен веб-сайта, для которого я настроил CNAME, чтобы указать имя хоста балансировщика нагрузки:
CNAME www.mysite.com -> loadbalancer.domain.com
Пример Вот общедоступный сайт настраивается с помощью CNAME непосредственно для балансировщика нагрузки.
Причина этой цепочки заключается в том, что мы хотим предоставить нашим клиентам единый дружественный DNS, а не сгенерированный ELB, чтобы настроить их домены, чтобы указывать на них (которых сотни). Мы полагаем, что это также даст нам единое место для обновления в случае изменения общедоступного DNS для ELB (запись CNAME для loadbalancer.domain.com).
Мой вопрос в том, можно ли, во-первых, объединить записи CNAME в цепочку таким образом, рекомендуется ли это и есть ли какие-либо недостатки в этом в среде EC2 ELB?
Да, можно объединить записи CNAME в цепочку, но это не всегда рекомендуется. Для предотвращения зацикливания серверы обычно имеют ограничение на количество перезапусков запроса. А так как длинные цепочки CNAME не являются обычным явлением, предел обычно довольно низкий, например 5-10, и большую часть этого можно использовать, разрешая записи NS в делегировании.
Ваша установка в значительной степени идентична той, которая у нас есть, и работает нормально.
Вы жестяная банка цепочка записей CNAME ... но помните, что вы получите дополнительную задержку, поскольку вашим клиентам придется выполнять несколько поисков, чтобы найти конечный результат.