Как связать домен godaddy с окружением AWS Elastic Beanstalk?
Я столкнулся с этой проблемой, пытаясь связать мой домен Godaddy с AWS Elastic Beanstalk экземпляром. Я нашел много документов о том, как связать экземпляр EC2 с доменом на Godaddy. Но не экземпляр Elastic Beanstalk. Поэтому я получаю этот URL: www.MY_SITE.elasticbeanstalk.com
Вот что я делаю для экземпляра EC2:
- Я обновляю Nameservers в моем домене Godaddy с помощью своих хостинговой зоны Route 53.
- Я создаю новый Elastic IP на консоли EC2.
- Я возвращаюсь к Godaddy и обновляю поле DNS A @ из своего диспетчера DNS, с EC2 Elastic IP one
- Обычно вам нужно ждать от 1 часа до 48 часов, и он должен работать.
Как я могу сделать то же самое для экземпляра AWS Elastic Beanstalk, а не для EC2? Я не вижу экземпляр, созданный с консоли EC2, чтобы связать его с Elastic IP.
Надеюсь, что это достаточно ясно. Любая помощь?
Ответы
Ответ 1
Не нужно создавать CNAME или делать какие-либо пересылки - это плохо с точки зрения SEO и не рекомендуется Amazon. Даже вы не должны указывать A на IP-адрес напрямую - это вызовет много неприятностей в будущем, поскольку IP может быть изменен в любой момент.
Самый элегантный способ - перенастроить службу DNS с GoDaddy на Route 53. Вы все равно будете с GoDaddy, но обработка запросов для вашего сайта будет на стороне Amazon.
Вот что вам нужно сделать:
-
Создайте новую размещенную зону для своего сайта в консоли Route 53:
![введите описание изображения здесь]()
-
Откройте новое добавленное доменное имя, найдите NS-запись и скопируйте серверы:
![введите описание изображения здесь]()
-
В GoDaddy Domain Manager экспортируются записи через "Экспорт файла зоны (Windows)".
-
Импортируйте эти записи в Route 53 (кнопка "Импортировать файл зоны" ).
-
В GoDaddy Domain Manager установлен пользовательский DNS-сервер имен, полученный на втором шаге:
![введите описание изображения здесь]()
Миграция может занять некоторое время (даже дни).
Теперь вы можете связать свой домен с сайтом Elastic Beanstalk. Для этого выберите/создайте правильный тип записи в Route 53 и установите для него псевдоним:
![введите описание изображения здесь]()
Надеюсь, что это поможет.
Ответ 2
Вот что я сделал, когда столкнулся с проблемой связывания домена GoDaddy с AWS ElasticBeanstalk.
Менеджер DNS:
- Запись @: 64.202.189.170 (то есть переадресация IP-адреса GODaddy)
- Cname www: домен AWS EB (например, awseb-xyz.us-east-1.elb.amazonaws.com)
Forwarding:
- Переслать домен на 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 в адресной строке).
Ответ 3
Вы должны добавить запись CNAME в свое доменное имя Godaddy, которое отображается на www.yourGoDaddyDomain.com → MY_SITE.elasticbeanstalk.com.
Это будет направлять запросы на ваше доменное имя на балансировщик нагрузки, который работает в вашей эластичной среде beanstalk. Вы не хотите направлять свое доменное имя на конкретный сервер (т.е. Эластичный IP), вы хотите, чтобы он перешел на балансировщик нагрузки и отправил запросы на ваш сервер (ы). Поскольку балансиры нагрузки AWS не используют IP-адреса (они используют имена доменов), вы не хотите настраивать запись A для этого - запись CNAME сопоставляет имена доменов с именами доменов.
Посмотрите раздел "Добавление или редактирование CNAME" в документации GoDaddy о том, как это сделать.
Ответ 4
Ваша конфигурация route53 должна указывать на балансировщик нагрузки, а не на экземпляр ec2