CloudFlare CDN. Что это и зачем

к.э.н. Лавлинский Николай Евгеньевич, технический директор ООО «Метод Лаб»

Каждый владелец сайта хочет, чтобы он работал быстро. Это не прихоть технических специалистов, а реальная потребность бизнеса. Скорость напрямую влияет на экономические показатели: конверсию, вовлечённость, отказы, подписки, процент возвратов.

Конечно, хочется иметь волшебную кнопку, нажав которую мы получаем быстрый сайт сразу и без проблем. Именно такой кнопкой называет себя сервис Cloudflare. Более того, вы получаете не только скорость, но и безопасность «из коробки». Давайте посмотрим, что нам предлагает Cloudflare с точки зрения скорости сайтов.

Что такое Cloudflare

Cloudflare - это распределённая сеть (CDN), обладающая набором услуг по ускорению сайтов и безопасности. Сеть имеет более 100 точек присутствия по миру и более 15 Тбит суммарной пропускной способности.

Принцип работы аналогичен другим CDN - все запросы пользователей проксируются через точки (сервера) Cloudflare и либо обслуживаются напрямую из сети (если ресурс закеширован), либо производится запрос на исходный сервер (где работает ваш сайт) и затем отправляется ответ пользователю.

Так как сайт обслуживается через сервера Cloudflare, есть возможность сохранять и изменять копии статического и динамического контента сайта.

Ускорение сайтов за счет CDN

Как использование Cloudflare и других CDN поможет нам ускорить сайт?

Ускорение сайта в этом случае можно разделить две части: сетевые и контентные оптимизации.

Сетевые оптимизации заключаются в сокращении задержек между сервером и пользователем за счет использования географически распределённой сети и маршрутизации трафика через ближайший узел. Кроме того, узлы CDN как правило специально настроены на высокую скорость отдачи контента: TCP/IP тюнинг, быстрый TLS, поддержка современных протоколов, быстрое подключение к сети, скоростные диски и т. д.

Контентные оптимизации могут включать в себя: оптимизацию изображений, сжатие текстовых ресурсов, кеширующие заголовки, минификацию кода, отложенную загрузку элементов. Часть из этих оптимизаций прозрачны и не требуют внимания со стороны разработчиков (например, сжатие), другие - могут приводить к ошибкам в работе сайта (например, асинхронная загрузка JS-кода) и требуют осторожности в применении.

Ускорение сайтов в Cloudflare

При подключении к Cloudflare у вас есть выбор тарифных планов: бесплатный, Pro ($20 в месяц), Business ($200 в месяц) или Enterprise (индивидуальный).

Ускорение нам обещают на планах от Pro и выше. Бесплатный план предполагает только использование CDN, без возможностей по оптимизации контента.

В план Pro включены почти все возможности по ускорению: оптимизация изображений (Polish и Mirage), кеширование контента, асинхронная загрузка JS (Rocket loader). Не хватает только Railgun (оптимизация соединения между вашим сервером и сетью Cloudflare), время минимального кеширования 1 час (в Business - 30 минут).

Однако есть важное уточнение, которое не указано напрямую в тарифных планах, но рассмотрено в форуме поддержки: на тарифных планах ниже Business пользователь обслуживается не с ближайшего хоста Cloudflare, а с наиболее дешевого для Cloudflare. Это значит, что весь смысл использования CDN теряется.

Для российских ресурсов возможности CDN Cloudflare на сегодня представляют собой единственную точку присутствия в Москве. Так что, если вы используете хостинг в Москве, то сокращения дистанции до пользователя скорее всего не будет.

Для кого ускорение сайта с Cloudflare будет эффективно?

Мы рассмотрели, какие возможности по ускорению сайта могут предоставлять CDN, какие реализованы в Cloudflare и на каких тарифных планах. Какого эффекта можно ожидать от такого ускорения и кому оно будет действительно полезно. А для наглядности мы посмотрим на альтернативные способы решения проблем скорости и их трудоёмкость.

Сетевые оптимизации . Основная оптимизация - географически распределённая сеть для снижения задержек. В реализации Cloudflare имеет смысл только при наличии международной аудитории сайта и использования планов, начиная с Business. Альтернативные решения: собственная реализация распределённой системы (крайне трудоёмко), использование CDN с большим количеством точек в России (низкая трудоёмкость), раздача контента с собственного оптимизированного сервера (средняя трудоёмкость).

Контентные оптимизации . Оптимизации картинок, сжатие текста, кеширование контента может быть полезно для многих сайтов, которые не внедряют эти технологии на своей стороне. Наиболее полезной будет функция оптимизации изображений, остальные оптимизации гораздо проще во внедрении. Альтернативные решения: настройка сервера (сжатие) - низкая трудоёмокость, оптимизация изображений сторонними сервисами (средняя трудоёмкость), самостоятельная оптимизация (высокая трудоёмкость).

Оптимизация процесса рендеринга . Этот тип оптимизации отсутствует в Cloudflare, хотя может оказывать значительное влияние на реальную скорость сайта. К этому типу относятся оптимизации размещения CSS, JS-кода, отложенная загрузка элементов, оптимизация приоритетов элементов страницы. Дело в том, что этот процесс сложно автоматизируется и требует ручной работы. Трудоёмкость этой работы может варьироваться от средней до высокой, в зависимости от проекта.

Ускорение генерации HTML на сервере . Этот аспект также не учитывается Cloudflare, так как требует вмешательства в серверное окружение. Частичное решение этой проблемы - кеширование динамического контента (страниц) легко реализуемо как с Cloudflare, так и без. Однако для серьезных проектов полное кеширование динамики невозможно. При этом скорость генерации HTML является ограничивающим фактором для всего сайта. Если страница отдаётся с сервера за 10 секунд, уже неважно, какой CDN используется и как оптимизирован контент - пользователь уже закрыл вкладку браузера.

Заключение

Итак, мы рассмотрели возможности применения сервиса Cloudflare для ускорения сайтов. Краткий вывод: он может быть полезен для сайтов с распределённой аудиторией за пределами России, у которых нет проблем с серверной скоростью (время генерации страницы).

Также не стоит забывать о возможных рисках использования Cloudflare: возможность получить заблокированный в России IP-адрес, ограничения тарифных планов (когда вас настоятельно попросят перейти на более старший) и практику совмещённых SSL-сертификатов.

К сожалению, пока не существует единой кнопки «сделать сайт быстрым», несмотря на все маркетинговые заявления.

Совсем недавно (1 сентября 2017 года), я переехал с виртуального хостинга на виртуальный сервер (с чем себя и поздравляю). Так как до этого времени пользовался виртуальным хостингом в котором меня всё устраивало, достаточно долгое время. Переезд оказался для мене не очень простым, но сейчас уже всё нормально работает, но до этого я столкнулся с некоторыми трудностями при переходе на виртуальный сервер.

Оказывается, что как правило при аренде виртуального, или физического сервера, поставщик услуги вам не предоставляет бесплатные DNS . Я бы раньше особо по этому поводу не переживал, а воспользовался бы бесплатной услугой DNS-хостинга от Яндекса. Но здесь проблема в том, что многие наверное слышали о на территории Украины. Т. е. если я воспользуюсь DNS хостингом от яндекса, то посетители с Украины не смогут попасть на мой блог, а их не мало здесь. Поэтому было решено искать другую подобную услугу.

Бесплатный DNS от CloudFlare

Не 1 раз попадал на сайты, где подключен CloudFlare, но мне как-то не было интересно разбираться что это за сервис и зачем он, так как ошибочно считал, что он только для защиты от ddos атак. Но как оказалось, там есть ещё как минимум 1 бесплатная услуга, которая мне очень приходилась — бесплатный DNS .

Подключаем сайт к cloudflare

  1. Первым делом вам нужно зарегистрироваться на перейдя по ссылке: https://www.cloudflare.com/a/sign-up
  2. Добавляем сайт в систему нажимая на кнопочку «Add Site» в правом верхнем углу.
  3. Далее вводим адрес добавляемого сайт и нажимаем на «Begin Scan», чтобы сервис в автоматическом режиме просканировал ваши DNS записи. Если этого автоматически не произойдёт, то их придется ввести в ручную.
  4. Далее мы видим наши DNS записи:
    Здесь вам нужно определится: вы хотите пользоваться только бесплатным DNS, или же желаете воспользоваться дополнительным функционалом. Если нажать на облако — оно станет оранжевым и это означает, что вы включили CDN (проксирование) с помощью CloudFlare. Это нужно для того, если вы хотите скрыть реальный IP вашего сервера, или же при DDOS атаке на вас. Это удобно ещё тогда, когда ваша аудитория сайта не ограничивается 1-й страной, тогда сервис будет выдавать контент с ближайшего сервера к вашему посетителю, что должно повысить скорость загрузки сайта. В CDN от данного сервиса есть и минусы, о которых я напишу в конце.
  5. Выбираем бесплатный тарифный план (нам его вполне достаточно).
  6. После чего, сервис предоставит ваши индивидуальные NS-сервера, которые нужно прописать в панели регистрации вашего домена. В моем случает это: elle.ns.cloudflare.com
    ivan.ns.cloudflare.com

  7. Прописываем наши NS-сервера в настройках домена:
    Далее, нам остается только ждать 2-48 часов (как правило быстрее), чтобы полностью сменились NS сервера на новые. Как только они поменяются и у вас включен CDN, то все сервисы будут показывать не реальный IP вашего сайта, а IP CloudFlare.

Возможности CloudFlare


Но чтобы пользоваться этими всеми преимуществами, вы должны включить CDN (оранжевое облако).

Помимо того, что сервис CloudFlare.com позволяет защитить сайт от DoS/DDoS-атак, его также можно использовать для настройки DNS-записей домена. В статье рассказано о том, как начать использовать DNS-хостинг CloudFlare, и представлены этапы настройки учетной записи в CloudFlare в случае бесплатного тарифного плана.

Важно! Перед тем как воспользоваться сервисом CloudFlare, вам необходимо предварительно . Ищете, где также ? Наши предложения вас порадуют: вы сможете одновременно и сэкономить при этом.

Регистрация

На сайте CloudFlare.com нажмите «Sign up» для перехода к форме регистрации.

Для осуществления регистрации укажите на появившейся форме e-mail и и пароль в соответствующих полях, а также отметьте галочкой, что согласны с правилами использования сервиса. После этого нажмите «Create Account», чтобы создать учетную запись.

Добавление домена

Введите имя домена и нажмите на кнопку «Scan DNS records».

После этого будет запущен автоматический процесс сканирования ДНС-записей домена, который занимает около минуты. Как только он будет завершен, появится кнопка «Continue», на которую необходимо нажать, чтобы перейти к следующему шагу.

В результате сканирования будет предоставлен список ДНС-записей из существующего файла зоны домена.

Проверьте наличие всех необходимых ДНС-записей. Добавьте недостающие, указав тип ДНС-записи, имя домена или поддомена, ее значение, а также TTL (срок действия) и нажмите «Add record». Если добавляете DNS-запись для поддомена, достаточно указать часть имени поддомена без основного доменного имени. Например, А-запись для поддомена my.vpstestdomain.tk будет выглядеть так:

Обратите внимание, что при добавлении DNS-записи для всех поддоменов (в качестве имени указывается знак *), соединение для поддоменов не будет защищено сервисом CloudFlare. Для обеспечения такой защиты потребуется добавить DNS-запись (типа «А») для каждого поддомена отдельно. Соединение с сайтом будет происходить посредством CloudFlare, если справа от соответствующей записи расположено оранжевое облако, в то время как при наличии серого облака подключение будет осуществляться напрямую, в обход CloudFlare. Переключается статус нажатием на значке облака.

Редактировать DNS-записи можно, просто нажимая на соответствующем значении и вводя необходимое. После этого новое значение будет автоматически сохранено. Для удаления записи достаточно нажать значок крестика справа от нее.

После конфигурирования всех необходимых DNS-записей нажимаем кнопку «Continue».

Выбор параметров

После этого выбираем бесплатный тарифный план и нажимаем «Continue».

Направление домена

Последним шагом направления домена на CloudFlare является указание предложенных публичных неймсерверов в Панели доменного регистратора.

Изменив неймсерверы для домена, нажмите «Continue». Обратите внимание, что обновление DNS-записей может занять до 24 часов. Как результат - домен будет направлен на CloudFlare не сразу.

Когда DNS-записи будут обновлены, статус домена будет изменен на «Active».

Теперь управление файлом зоны домена вы сможете осуществлять с помощью CloudFlare, а также получите возможность базовой защиты сайта от DoS/DDoS-атак.

Куча возможностей, помощь в переносе, и многое другое.
Хотелось бы начать с того, что данным сервисом можно пользоваться бесплатно. В CloudFlare предусмотрены PRO возможности, но лично мне эти возможности не нужны. Стоимость PRO довольна высока - $20 в месяц.

Что же предлагает нам CloudFlare?

  • Отличная система переноса - сервис анализирует ваши текущие настройки и полностью копирует их к себе.
  • Защита сайта и его кеширование на уровне DNS.
  • Своя собственная система статистики.
  • Множество приложениий для интеграции.

Система переноса

Я могу с уверенностью заявить, что с системой переноса справится даже ребенок. Вы просто указываете адрес своего сайта и нажимаете большую зеленую кнопку. В течение минуты ваш сайт анализируется и затем на странице отображаются все предыдущие настройки DNS. Также предлагается изменить/добавить некоторые значения, если что-то вдруг перенеслось неправильно. В чем плюс? Все очень просто, ваш сайт перенесется и не будет простаивать. Ваши пользователи даже не заметят каких-либо изменений.

Защита сайта

В настройках имеется два пункта: Basic Security Level и Advanced Security (доступно только для PRO). Basic Security ищет наиболее угрожающих (?) посетителей. Какими алгоритмами и методами - я так и не смог понять, но никто из пользователей не жаловался, что их посчитали «угрожающими». С Advanced Security все понятнее - она защищает от возможных SQL-Injection и XSS атак с помощью анализа URL. Если вы не уверены в безопасности своих сайтов, то возможно имеет смысл воспользоваться этой системой (хотя конечно лучше пересмотреть код скриптов). Кстати, система может добавить переменную для определения локации: HTTP_CF_IPCOUNTRY. Вызвать ее можно из Perl: $country_code = $ENV{"HTTP_CF_IPCOUNTRY"}; или из PHP: $country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];

Кеширование сайта

Система кеширования позволяет в автоматическом режиме кешировать большинство статических ресурсов, таких как css-файлы, js-скрипты и картинки. Существует два типа кеширования - Basic и Agressive, второй считает example.com/pic.jpg и example.com/pic.jpg?foo=bar разными картинками. Существует возможность автоматической минимизации - система распространяется на JS, CSS и HTML файлы.

Статистика

Своя статистика - довольно мощный инструмент. Существует некоторое ограничение - в бесплатных аккаунтах она обновляется раз в 24 часа, в PRO - раз в 15 минут. Ведется анализ как и посетителей, так и поисковых ботов. Также в ней отображается сколько запросов и какое количество трафика помог сжать CloudFlare. Не забыли и о графиках, когда не хочется выполнять анализ то можно просто взглянуть на красивый график и увидеть развитие своего сайта.

Интеграция приложений

Среди приложений для интеграции доступно множество сторонних сервисов статистики - например Clicky, которая анализирует огромное количество параметров, среди которых время посещения, переходы с поисковиков и многое другое. Доступны системы мониторинга сайтов, например Monitis и Pingdom. Уведомления по SMS, Twitter или по эл. почте теперь настраиваются в течение 5 минут. На мой взгляд, самая полезная вещь среди этих приложений - сервис CodeGuard. Он полностью «бекапит» ваш сайт и если он не доступен, то показывает его сохраненную копию. Пользоваться данным сервисом можно бесплатно, если ваш сайт занимает меньше 1 ГБ. Кстати, именно на CloudFlare хостился сайт небезызвестных LulzSec, и именно CodeGuard показывал страницы, когда сервер LulzSec упал.

Заключение

CloudFlare - действительно очень удобный сервис. Согласитесь, защитить сайт, забыть о кешировании, установить статистику и не тратить нервы, если сайт недоступен, просто перенеся сайт на другие DNS - это здорово. А если почти всеми этими возможностями можно пользоваться бесплатно, то такой сервис - просто сказка:)

P.S. : Во избежание глупых обвинений в том, что пост проплачен, я сразу говорю, что не имею никакого отношения к сайту CloudFlare и комании CloudFlare, Inc. (US).

UPD: Заголовок действительно был некорректен, это не DNS-хостинг, а CDN-прокси, пропускающая через себя трафик.

8 октября 2013, 12:18

Что такое CloudFlare?

CloudFlare CDN (Content Delivery Network) - это сеть доставки контента нового поколения, которая обеспечивает безопасность, а также ускорит работу Вашего сайта. По состоянию на апрель 2013, в инфраструктуру CloudFlare входит 23 дата-центра, расположенные в разных частях планеты.

Как работает сервис CloudFlare?

Работа CloudFlare построена на принципе reverse proxy (обратного прокси). При подключении к CloudFlare весь трафик Вашего сайта пропускается через глобальную сеть CloudFlare.

На серверах CloudFlare кэшируется статический контент Вашего сайта (CSS, JavaScript, изображения). При чем пользователи получают контент от близлежащих серверов сервиса, в зависимости от географического положения.

Пропуская весь входящий трафик через свою сеть, CloudFlare анализирует и фильтрует входящие запросы. В результате легитимные пользователи получают доступ к Вашему сайту, а запросы злоумышленников отсеиваются.

Где расположены сервера CloudFlare?

Сеть CloudFlare быстрорастущая. С 2011 по апрель 2013 года в сеть было дополнительно включено 11 датацентров. На данный момент сеть CloudFlare насчитывает 23 датацентра, расположенных на 4 континентах: Северная Америка, Европа, Азия, Австралия и Океания.

Прежде всего Вам необходимо зарегистрировать аккаунт на сайте сервиса: https://www.cloudflare.com/sign-up .

Следующий шаг: добавление Вашего веб-сайта в базу CloudFlare:

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

После того как Вы подтвердили DNS записи для домена, необходимо произвести конфигурацию CF для Вашего сайта. Выберите необходимые параметры исходя из собственных нужд:

- High: обеспечивает широкую защиту от спама, хакерских атак, а также атак типа DoS. Данный уровень безопасности требует ввода капчи каждым пользователем, который был уличен в злонамеренном поведении на других сайтах. Сервис проверяет браузер пользователя на наличие вредоносных сигнатур. Этот уровень безопасности подойдет администраторам, для которых безопасность веб-сайта находится на первом месте.

- Medium: при использовании данного уровня безопасности пользователи будут отсеиваться на основе случаев спама, хакерских атак или атак типа DoS, которые производились данными пользователями на других сайтах. Необходим ввод капчи пользователям, которые были уличены в частых атаках на другие сайты. Сервис также проверит браузер пользователя на наличие вредоносных сигнатур. Идеально подойдет для сайтов с высокими требованиями безопасности. На данном уровне риск ложного срабатывания системы безопасности минимален.

- Low: данный уровень безопасности предусматривает отсеивание только тех пользователей, которые регулярно и с высокой периодичности участвуют в хакерских атаках на другие сайты. Мы не советуем использовать данный уровень безопасности, так как он позволит проникнуть на Ваш сайт пользователям, которые, возможно, могут оказаться злоумышленниками.

- Essentially off: запретит доступ к Вашему сайту только тем пользователям, которые на данный момент участвуют в известной сервису DoS атаке. Подойдет веб-мастерам, которые используют CF в основном для увеличение скорости выдачи контента пользователям. Мы также не рекомендуем использовать данный уровень в целях безопасности.

И, наконец, самый важный этап. Подключение NS серверов CloudFlare. Если Вы не выполните данный этап, то сервис CloudFlare не сможет защитить Ваш сайт.

Для завершения подключение к сервису, перейдите в панель регистратора Вашего доменного имени и произведите смену NS серверов, предоставленными CloudFlare.

После обновления информации на DNS серверах, Ваш сайт будет успешно подключен к сервису CloudFlare. Обновление NS серверов для домена может занимать от 1 до 72-х часов.

Важно! Если Ваш сайт находится под DDoS атакой, после окончания подключения зайдите в настройки и выберите следующую опцию: