Amazon Route 53 — создать запись A для ELB, создать CNAME в другом домене, указывающем на эту запись A?

Одним из самых больших недостатков AWS Elastic Load Balancer является невозможность назначить ему статический IP-адрес. Чтобы обойти это, я должен использовать Amazon Route 53 DNS, который затем я могу установить A-запись для корневого/поддомена, чтобы указать на балансировщик нагрузки.

Допустим, мой домен Route 53: domain1.com.

Я создал эластичный балансировщик нагрузки и указал на него через запись A: sub.domain1.com.

Мне интересно, если я создам CNAME для другого домена (например, sub.domain2.com) и укажу его на sub.domain1.com, это нормально?

Зачем мне это делать?

Мы запускаем промо-страницы для сайтов клиентов, настраивая статические сайты на поддоменах их сайтов. В настоящее время мы даем им статический IP-адрес для экземпляра EC2, для которого они затем создают запись A, но мы хотим создать кластер с балансировкой нагрузки для обеспечения высокой доступности и масштабирования.

Кто-нибудь пробовал это или знает, нормально ли это делать? Я знаю, что эта концепция чем-то похожа на S3 CNAME, но я просто не знаю, плохо это или нет :)


person Joe    schedule 13.03.2013    source источник


Ответы (1)


Одним из самых больших недостатков AWS Elastic Load Balancer является невозможность назначить ему статический IP-адрес.

Это не ограничение дизайна, это скорее признак того, что вы пытаетесь использовать ELB неправильно.

Мне интересно, если я создам CNAME для другого домена (например, sub.domain2.com) и укажу его на sub.domain1.com, если это нормально?

Да, просто убедитесь, что вы установили TTL для CNAME достаточно низким, чтобы, если/когда IP-адреса в ELB изменятся, ваши пользователи не просматривали устаревшие записи слишком долго. Route53 использует 60-секундные TTL.

Мы запускаем промо-страницы для сайтов клиентов, настраивая статические сайты на поддоменах их сайтов. В настоящее время мы даем им статический IP-адрес для экземпляра EC2, для которого они затем создают запись A, но мы хотим создать кластер с балансировкой нагрузки для обеспечения высокой доступности и масштабирования.

Если это на самом деле статические веб-сайты, вам лучше разместить их непосредственно из корзины S3. Ничто важное никогда не должно запускаться на одном экземпляре EC2.

person jamieb    schedule 13.03.2013
comment
На самом деле можно использовать запись ANAME, но это довольно редко, и не многие провайдеры DNS предоставляют ее. - person John Wheal; 14.03.2013
comment
@jamieb Я не понимаю, почему вы хотите установить такой низкий TTL для CNAME. Это требуется только при замене эластичного балансировщика нагрузки (что должно быть крайне редко), что потребует сопоставления CNAME с другой записью A, верно? - person Derek Litz; 12.04.2013
comment
@DerekLitz ELB — это всего лишь экземпляры m1.small, на которых запущено приложение балансировки нагрузки на основе Java. Как и обычные инстансы EC2, они могут выйти из строя или Amazon выведет из эксплуатации базовое оборудование. IP-адреса также могут меняться при увеличении или уменьшении масштаба или при наличии проблемы с зоной доступности. - person jamieb; 14.04.2013
comment
@jamieb Да, именно поэтому Amazon устанавливает DNS TTL для своих балансировщиков нагрузки на 60 секунд в соответствии с их документацией. Что для меня не имеет смысла, так это установка CNAME на такое низкое значение. т.е. www.nicedomain.com -> aws.load.balancer.domain.com -> (набор IP-адресов, которые могут часто меняться). Тот факт, что www.nicedomain.com является записью CNAME для aws.load_balancer.domain.com, не требует обновления каждые 60 секунд, так как балансировщик нагрузки редко требует замены. Замена балансировщика нагрузки приведет к тому, что amazon сгенерирует другое доменное имя для lb. - person Derek Litz; 15.04.2013