2015-01-06 2 views
0

Я создал распределение CloudFront для одного из моих сайтов на днях, и я использовал пользовательский CNAME (cdn.site.com вместо whoa123.cloudfront.net). Что я не могу понять, есть ли плата за использование этой услуги (пользовательский CNAME)? Я не мог найти нигде, если использование CNAME вызывает дополнительную плату. Будет ли я оплачиваться дополнительно за это или будет использовать его, вызывает дополнительный HTTP-запрос/удары по моей квоте/биллингу?Использует ли CNAME с Amazon CloudFront дополнительную плату?

Я пытаюсь понять, свободна ли эта пользовательская служба CNAME с дистрибутивом CloudFront, почему многие из основных сайтов, которые я вижу (в том числе dropbox.com), не используют пользовательский CNAME и придерживаются облачной инфраструктуры по умолчанию .net.

Спасибо за любую помощь, которую вы можете предоставить.

+0

[Выбор между псевдонимами и наборами записей ресурсов неалиаса] (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html) – BMW

+0

Но я не подписался на Маршрут 53. Я вошел в консоль AWS -> Маршрут 53, чтобы убедиться, и он все еще показывает мне кнопки «начать». Док, с которым вы связаны, по-видимому, применяется, когда я использую Route 53. – aisajib

ответ

0

Как указано в документации Amazon, CNAME является бесплатным.

Теперь ваша реальная путаница, почему службы, такие как Dropbox или другие, не используют пользовательский CNAME?

Ответ - ресурс поиска. Каждый раз, когда кто-то (возможно, браузер) ищет файл, он ищет, чтобы найти его хост. Затем он обнаруживает, что он размещен в Cloudfront. Затем извлекает файл. Теперь внимательно проверьте процесс,

первый поиск на сайте yoursite.com> Cloudfront Lookup> файл.

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

Cloudfront Lookup> файл.

Экономит много времени и ресурсов. Для небольшого сайта, например, ниже 100 тысяч в день, пользовательский CNAME не будет смертельным.

Как Поиск работа

Lookup является простым и тем же процессом сложного времени. Давайте объясним это в сценарии,

Вы введете google.com в свой браузер и нажмите enter. В этом случае кеш DNS не существует для объяснения.

Ваш браузер просит вашу ОС найти google.com. У вашей ОС есть DNS-Resolver.Обычно это исходит от вашего интернет-провайдера, иногда вы используете сторонний DNS-ресивер, такой как Google DNS. После того как DNS-резольвер получил запрос от ОС, он передаст запрос Root DNS-серверу. Есть 13 корневых серверов DNS по всему миру с 360 узлами.

Когда корневой сервер получает запрос, сначала он проверяет наличие TLD. В этом случае это домен .com. Корневой сервер знает местоположение обработчика домена .com, поэтому он отправляет ответ с адресом . Com. Обработчик. Затем ваш resolver отправляет запрос обработчикам .com, чтобы увидеть, как он знает местоположение google.com. Поскольку .com является gTLD (Generic), он поддерживается коммерческим лицом. Этот коммерческий объект имеет список всех доменов .com, когда-либо существовавших, и их расположение серверов имен. Они отправляют местоположение серверов имен google.com вашему распознавателю.

Здесь ns1.google.com, ns2.google.com, ns3.google.com, ns4.google.com. Теперь ваш распознаватель спрашивает сервер имен Google для IP-адреса google.com. Теперь у вас есть окончательный сервер имен, на самом деле есть IP-адрес google.com. Он отправляет IP-адрес.

Ваш распознаватель отправляет этот IP-адрес обратно в вашу ОС и вашу ОС в ваш браузер. Затем запускается сообщение об ошибке TCP. Ваш браузер запускает IP-адрес, соединение между вашим компьютером и физическим сервером IP. Он отправляет обратно HTML, и ваш браузер интерпретирует их для вас.

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

Проблема с вашим случаем, ваш распознаватель, вероятно, кэшировал cdn.yoursite.com и напрямую вызывал IP. Но угадайте, что происходит, когда вы стоите с миллионами посетителей. Существует вероятность того, что 15% пользователей посещают, когда их DNS-резольвер обновляет свой кеш. Это означает, что 15% запросов пользователя должны следовать процедуре, которую я объяснил, чтобы попасть на ваш сайт. Теперь им приходится искать cdn.yoursite.com в первый раз, а затем, когда он возвращается с хостом CloudFront, тот же процесс снова запускается для IP-адресов облачных фронтов. Огромная потеря времени и ресурсов, потому что каждый поиск открывает 4 слоя базы данных, которые требуют памяти и вычислительной мощности физического процессора.

Затем, некоторые DNS-ресиверы кэшируют только один уровень IP-адреса. CNAME на самом деле является объявлением хоста, он сообщает распознавателю, что этот конкретный CNAME указывает на другое место. Это другое другое требование. Таким образом, он также запускает два запроса в кеше Resolver. И если нет кеша, 4 слоя боли поступают внутрь.

Надеюсь, я объяснил это правильно. Моя голова уже вращается после написания этого!

+0

Теперь это то, что на самом деле имеет смысл. Спасибо: D – aisajib

+0

И только для того, чтобы обогатить мои знания, где этот процесс происходит, когда выполняется поиск ресурсов? Я имею в виду, вы сказали, что один и тот же процесс будет работать многократно, что приведет к огромному потреблению ресурсов. Ресурс откуда? Запрос перенаправляется из DNS (а Cloudflare, name.com, включая другие DNS, в основном бесплатны/не имеют такого ограничения). Так где это влияет на сайты? – aisajib

+0

Это сложный процесс. Невозможно объяснить в комментарии. Поэтому я обновляю свой ответ. –

0

CNAME бесплатный, оплата производится только за использование облачного интерфейса.

http://aws.amazon.com/cloudfront/pricing/

+0

Это то, что я нашел до сих пор. CNAME бесплатный. Мне просто интересно, почему крупные компании, издательства и другие веб-сайты не используют это? something.site.com определенно выглядит более профессиональным, чем домен cloudfront.net по умолчанию. И он на короткое время отображается в строке состояния браузеров при загрузке сайтов. Мне было интересно, какая причина может быть для больших сайтов, не использующих CNAME. – aisajib

+0

Когда вы используете его для HTTP, он абсолютно бесплатный, но если вы хотите https, вам нужно получить сертификат, соответствующий вашему доменному имени. Но для неконфигурированных CloudFront предоставляет сертификат по умолчанию. –

+0

Хорошая точка, и эти сертификаты не являются дешевыми. –

0

Добавление CNAME для вашего дистрибутива на самом деле не создать запись DNS, он просто настраивает CloudFront принимать запросы с этим заголовком хоста.

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

Если вы путешествуете с Маршрутом 53, вы можете использовать свой собственный тип записи ресурсов «Псевдоним», где поисковые запросы бесплатны.

+0

Спасибо, я понял это, но не был достаточно ясен в написании вопроса. Я добавил CNAME на свой DNS. Некоторые из моих сайтов работают в Cloudflare и других на DNS-сервере HostGator по умолчанию в cPanel. Кажется, они ничего не взимают за запись CNAME. Так что CNAME вещь свободна, и многие ее не используют. Странный! – aisajib