Как мне настроить DNS для моего домена GoDaddy с CloudFront?

У меня есть статическое веб-приложение, размещенное в S3 Bucket, которое в настоящее время размещается на Amazon CloudFront. Это туристический сайт, поэтому я бы хотел, чтобы пользователи по всему миру могли быстро им пользоваться. Я также хочу использовать TLS бесплатно с ACM (Amazon Certificate Manager).

Какая архитектура наилучшей практики для этого? Я не пытаюсь начать обсуждение или задать открытый вопрос. Выслушай меня.

Я не очень разбираюсь в том, как работает DNS, поэтому поправьте меня, если я ошибаюсь. Если у меня есть записи GoDaddy DNS на двух серверах / адресах / доменах GoDaddy NS / кем бы то ни было, означает ли это, что каждый раз, когда пользователь в Гонконге хочет получить доступ к моему веб-сайту, он должен связаться с этими DNS-серверами GoDaddy, где бы он ни находился ТОГДА связываетесь с DNS-серверами для CloudFront, ТОГДА связываетесь с ближайшим сервером CloudFront и извлекаете мою сверхбыструю локально кэшированную копию моего веб-сайта?

Как вы можете догадаться, я боюсь, что это замедлит доступ к моему сайту и с самого начала лишит смысла использование CloudFront. Это действительная проблема? Как мне это настроить? Маршрут 53 поможет или усугубит ситуацию?

1 ответ

Решение

Если ваши домены зарегистрированы в GoDaddy, но вы используете Route53 для DNS - никаких проблем. Короткая версия моего ответа - это самый быстрый / лучший способ сделать это.

Вот как я думаю, что DNS работает. Если я не прав, я рад внести изменения или удалить ответ.

Браузер ищет DNS для вашего домена, то есть с DNS-серверами GoDaddy, где бы они ни находились. Для поиска DNS в GoDaddy может потребоваться от 20 до 200 мс, чтобы получить CNAME (псевдоним AWS CloudFront IP). Затем выполняется другой DNS-поиск результатов первого DNS-поиска на DNS-сервере AWS, который, скорее всего, вернет A-запись / IP-адрес, который, вероятно, составляет 10 - 40 мс. Итак, да, есть два поиска DNS.

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

Если у вас есть DNS-запись Route53, то первый поиск DNS будет быстрее. CloudFlare, который имеет хороший бесплатный уровень, также имеет очень быструю, хорошо распределенную систему DNS.

Одна небольшая загвоздка в том, что вы не можете поместить CNAME в корень домена (например, example.com), но вы можете разместить его на поддомене (например, www.example.com). У Route53 и CloudFlare есть обходные пути для этого. Если вы используете GoDaddy DNS, я не уверен, как это работает - это может быть пользовательская функция или веб-сервер, прослушивающий запросы в корне домена, выполняющий перенаправление 301 на поддомен www. Это еще один прыжок, хотя.

Короткая версия: лучше всего использовать Route53, он стоит 50 центов в месяц плюс 40 центов на миллион поисков.

Другие вопросы по тегам