Как связать домен godaddy со средой AWS Elastic Beanstalk?

104

Я столкнулся с этой проблемой, пытаясь связать свой домен Godaddy с экземпляром AWS Elastic Beanstalk . Я нашел много документации о том, как связать экземпляр EC2 с доменом на Godaddy, но не для экземпляра Elastic Beanstalk. Итак, я получил этот URL:www.MY_SITE.elasticbeanstalk.com

Вот что я сделал для экземпляра EC2:

  1. Я обновил серверы имен в моем домене Godaddy, используя серверы из моей зоны хостинга Route 53 .
  2. Я создал новый эластичный IP-адрес на консоли EC2.
  3. Я вернулся в Godaddy и обновил поле DNS A @ в их диспетчере DNS, добавив в него EC2 Elastic IP.
  4. Обычно вам нужно подождать от 1 часа до 48 часов, и он должен работать.

Как я могу сделать то же самое для экземпляра AWS Elastic Beanstalk, а не для экземпляра EC2? Я не вижу экземпляр, который я создал на своей консоли EC2, чтобы связать его с эластичным IP-адресом.

Надеюсь, это достаточно ясно .. Любая помощь?

Боб Билл
источник
Вы путаете различные части головоломки, и нам было бы легче помочь, если бы вы могли сообщить нам свое доменное имя.
jamieb
У вас есть IP-адрес или просто URL-адрес: www.MY_SITE.elasticbeanstalk.com для вашего экземпляра Elastic Beanstalk?
Mike_GoDaddy
Статья о том, как использовать собственные доменные имена с Elastic Beanstalk docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…
Алексей

Ответы:

105

Не нужно создавать CNAME или делать какие-либо пересылки - это плохо с точки зрения SEO и не рекомендуется Amazon. Даже вам не следует указывать запись на IP напрямую - это вызовет много проблем в будущем, потому что IP можно изменить в любой момент.

Самый элегантный способ - перенести службу DNS с GoDaddy на Route 53 . Вы по-прежнему будете использовать GoDaddy, но обработка запросов для вашего сайта будет на стороне Amazon.

Вот что вам нужно сделать:

  1. Создайте новую размещенную зону для вашего сайта в консоли Route 53: введите описание изображения здесь

  2. Откройте только что добавленное доменное имя, найдите NS-записи и скопируйте серверы: введите описание изображения здесь

  3. В диспетчере домена GoDaddy экспортируйте записи через «Файл зоны экспорта (Windows)».

  4. Импортируйте эти записи в Route 53 (кнопка «Импортировать файл зоны»).

  5. В диспетчере домена GoDaddy установите настраиваемые DNS-серверы имен, полученные на 2-м шаге: введите описание изображения здесь

Перенос может занять некоторое время (даже дни). Теперь вы можете связать свой домен со своим сайтом Elastic Beanstalk. Для этого выберите / создайте соответствующий тип записи A в Route 53 и установите для него псевдоним: введите описание изображения здесь

Надеюсь, поможет.

Всеволод Краснов
источник
1
Спасибо, сэр. Работал как шарм.
An Illusion
4
Eсть . у каждого имени на 4 серверах имен вы выделили изображение в красном поле, делает это .uk '.' также должны быть добавлены, в противном случае я могу добавить серверы имен, но если они добавлены, я получаю недопустимые символы, извините за этот глупый запрос, но я новичок в этой настройке.
Между прочим,
3
@VickyDhas Прошло много времени с тех пор, как я это сделал, но я думаю, вам не нужна точка в конце имени сервера имен (т.е. ns-1783.awsdns-30.co.uk)
Всеволод Краснов
2
Для тех, кто пробует это впервые: не забудьте обновить таблицу размещенных зон после импорта записей DNS. Записи не отображаются автоматически, как вы могли подумать. Затем щелкните запись A (возможно, верхнюю строку) и создайте псевдоним для этой записи, как описано выше. Это определенно способ сделать это. Если вы работаете с меньшим количеством записей, эти изменения распространяются довольно быстро.
jbcaveman
2
Это отличный ответ, если вы работаете с новым неиспользуемым доменом, но не лучший вариант, если вы уже указываете места через GoDaddy. В моем случае у меня уже есть субдомен www (и другой связанный с электронной почтой), указывающий на что-то через GoDaddy, но теперь мне нужно указать другой субдомен на мой эластичный beanstalk.
Свет Ангелов
41

Вот что я сделал, когда столкнулся с проблемой связывания домена GoDaddy с AWS ElasticBeanstalk.

Диспетчер DNS:

  • Запись @ : 64.202.189.170 (это, кстати, IP-адрес пересылки GoDaddy)
  • Cname www : домен AWS EB (например, awseb-xyz.us-east-1.elb.amazonaws.com)

Пересылка:

  • Перенаправить домен на www.example.com (только пересылка, без маскировки)
  • Перенаправить субдомен в домен AWS EB (например, awseb-xyz.us-east-1.elb.amazonaws.com) (с маскированием)

Чтобы получить доступ к сайту без www (например, http://example.com ), мне пришлось настроить переадресацию домена на www cname. Затем это www cname перенаправляется в домен AWS EB (с маскированием, чтобы www.example.com оставался в адресной строке).

ситивени
источник
1
вы не можете добавить cname для домена, это только для поддомена
1
Пересылка первого домена переадресации на www.mysite.com (только пересылка, без маскировки)? www.mysite.com - это домен, который вы купили на godaddy, или это EB-ссылка?
Hrishikesh Sardar
1
Мне пришлось изменить запись A @ : на 184.168.221.3.
Феликс
1
Это решение неэффективно с точки зрения SEO. См. Ниже мой ответ, основанный на документации Amazon.
Всеволод Краснов
1
Переход на CNAME, как уже упоминалось, является плохим тоном, и на самом деле для этого нет никаких причин. Маршрут 53 - лучший выбор ... для всего, что касается бобового стебля.
bshea 07
8

Вы должны добавить запись CNAME к своему доменному имени Godaddy, которая соответствует www.yourGoDaddyDomain.com -> MY_SITE.elasticbeanstalk.com.

Это направит запросы к вашему доменному имени к балансировщику нагрузки, который работает в вашей среде эластичного бобового стебля. Вы не хотите направлять свое доменное имя на конкретный сервер (например, эластичный IP-адрес), вы хотите, чтобы оно перешло на балансировщик нагрузки, который будет направлять запросы на ваш сервер (-ы). Поскольку балансировщики нагрузки AWS не используют IP-адреса (они используют доменные имена), вы не хотите настраивать для этого запись A - запись CNAME сопоставляет доменные имена с доменными именами.

Посмотрите раздел «Добавление или редактирование CNAME» документации GoDaddy о том, как это сделать.

Jaminto
источник
6
вы не можете добавить cname для домена, это только для поддомена
В Godaddy, когда субдомен добавлен в запись cname, указывающую на mysiteloadbalancer.com, это сработало :)
Бенистон,
Как я могу привязать свой домен к моему эластичному IP-адресу через DNS Godaddy ... без использования каких-либо хостинговых зон в процессе? .. PS - Это дорого
Дивидж Сегал
Я не использую эластичный бобовый стебель.
Divij Sehgal
2

Ваша конфигурация route53 должна указывать на балансировщик нагрузки, а не на экземпляр ec2.

Wjin
источник