Выбор CDN для собственного сайта: сравнение узлов и кэширования Cloudflare, Akamai и Alibaba Cloud
1. Что делает CDN в архитектуре собственного сайта
CDN (сеть доставки контента) кэширует ваши статические ресурсы — изображения, CSS, JS и даже HTML-страницы — на ближайших к пользователю граничных узлах. Когда пользователь в Германии заходит на ваш сайт, запрос не идёт через Тихий океан обратно на сервер в Ханчжоу, а возвращается напрямую с узла во Франкфурте или Дюссельдорфе, и время до первой отрисовки сокращается на 50–70%.
Для собственного сайта CDN решает три задачи: первая — задержка между регионами, покупатели в Европе и США, исходный сервер в Китае, без CDN время до первой отрисовки легко превышает 5 секунд; вторая — защита исходного сервера, CDN поглощает DDoS и трафик краулеров, а на исходный сервер приходят только чистые запросы; третья — стоимость трафика, статические ресурсы идут через CDN, и счёт за трафик исходного сервера снижается более чем вдвое.
| Роль CDN | Без CDN | С CDN | Измеримый эффект |
|---|---|---|---|
| Задержка между регионами | Пользователи из Европы и США заходят через океан, RTT 200–400 мс | Возврат с ближайшего узла, RTT 20–50 мс | Время до первой отрисовки сокращается на 50–70% |
| Защита исходного сервера | Краулеры и DDoS бьют напрямую по исходному серверу | Граничные узлы блокируют, на исходный сервер приходят только чистые запросы | Количество запросов к исходному серверу снижается более чем на 80% |
| Стоимость трафика | Все ресурсы идут на исходный сервер | Статические ресурсы попадают в кэш CDN | Расходы на трафик исходного сервера снижаются на 50–80% |
| Разгрузка HTTPS | TLS-рукопожатие выполняет исходный сервер | TLS-рукопожатие выполняют граничные узлы | Загрузка CPU исходного сервера снижается на 20–30% |
CDN和缓存策略是两层关系:CDN管边缘节点到用户这一段,服务器端的页面缓存和对象缓存管源站这一段。两层配合才能把LCP压到2.5秒以内。独立站的缓存分层配置见 Глобальное ускорение CDN и стратегия кэширования, а о целевых показателях Core Web Vitals — в Показатели Core Web Vitals и приоритеты оптимизации.
2. Сравнение трёх CDN: узлы, цена, сценарии применения
Cloudflare、Akamai、阿里云CDN是独立站最常被提到的三家。它们的定位完全不同:Cloudflare靠免费层和全球节点打中小企业市场,Akamai靠企业级SLA和大流量调度打电商和媒体,阿里云CDN靠国内节点和备案生态打国内市场。不要用同一把尺子比。
| Разрез сравнения | Cloudflare | Akamai | CDN Alibaba Cloud |
|---|---|---|---|
| Количество узлов по миру | 330+ городов | 140+ стран | 2800+ узлов в Китае, 80+ за рубежом |
| Бесплатный/начальный тариф | Бесплатный тариф, неограниченный трафик | Бесплатного тарифа нет, от ~2000 $/мес | Оплата по факту, ~0,18 юаня/ГБ |
| Цена платных тарифов | Pro 25 $/мес, Business 250 $/мес | Корпоративный контракт, от нескольких тысяч до десятков тысяч $/мес | Годовой пакет от ~100 юаней/мес |
| Типичное применение | Малый и средний бизнес, B2B-сайты, блоги | Распродажи в e-commerce, медиасайты, финансовые сайты | Сайты с аудиторией преимущественно в Китае |
| Качество доступа из Китая | Среднее, в некоторых провинциях трафик идёт в обход | Среднее, для корпоративных клиентов настраивается индивидуально | Отличное, задержка в Китае до 10 мс |
| Сложность настройки | Просто, подключение в один клик | Сложно, нужна отдельная команда | Средне, нужны регистрация домена и настройка DNS |
| Дополнительные возможности безопасности | WAF, DDoS, управление ботами | Корпоративный WAF, управление рисками | WAF, базовая версия DDoS |
Пример из практики: сайт промышленного оборудования из Ханчжоу выходит на зарубежные рынки, основные покупатели в Германии и США, около 8000 уникальных посетителей в месяц. В таком случае бесплатного тарифа Cloudflare полностью достаточно — 330 узлов покрывают Франкфурт и Сан-Хосе, бесплатный тариф включает HTTPS для всего сайта и базовый WAF, а плата — 0 $ в месяц. Если выбрать Akamai, то от 2000 $ в месяц, при этом ваш трафик может не израсходовать и 100 ГБ за месяц — деньги уйдут на корпоративный SLA, который вам не нужен.
III. Дерево решений по выбору CDN в зависимости от рынка и трафика
При выборе не начинайте с вопроса “у кого лучше” — сначала ответьте на три вопроса: в каком регионе основные покупатели? Каков примерный месячный трафик в ГБ? Нужен ли строгий SLA? После ответов на эти три вопроса ответ обычно становится очевидным.
| Основные рынки | Месячный трафик | Требования к SLA | Рекомендуемый подход |
|---|---|---|---|
| Преимущественно Европа и США | ≤500 ГБ | Не нужно | Бесплатный тариф Cloudflare |
| Преимущественно Европа и США | От 500 ГБ до 5 ТБ | Нужен 99,9% | Cloudflare Pro или Business |
| Преимущественно Европа и США | >5 ТБ или распродажа в e-commerce | Нужен 99,99% | Корпоративная версия Akamai |
| Преимущественно Китай | Любой | Соответствие требованиям Китая | CDN Alibaba Cloud (нужна регистрация ICP) |
| Распределённая аудитория по миру | ≤1 ТБ | Обычные | Начать с бесплатного тарифа Cloudflare |
| Ближний Восток/Латинская Америка | ≤500 ГБ | Обычные | Cloudflare Business или выше |
Контринтуитивный вывод: многие считают, что бесплатный тариф CDN ограничен по функциям, но на самом деле бесплатный тариф Cloudflare уже включает правила кэширования, Page Rules, базовый WAF, защиту от DDoS и HTTPS для всего сайта. Для B2B-сайта не хватает только платных функций вроде оптимизации изображений (Mirage) и Polish. А на B2B-сайтах изображений немного, и можно обойтись плагином оптимизации изображений — не нужно ради этих двух функций переходить на тариф Pro за 25 $/мес.
Пример из практики: B2B-сайт по экспорту пресс-форм и штампов, каждая картинка товара около 200 КБ, всего на сайте примерно 500 изображений. При таком объёме автоматическая оптимизация изображений от Cloudflare не нужна: сожмите картинки через ShortPixel до 80 КБ каждую, и общий вес изображений упадёт со 100 МБ до 40 МБ — это прямее и дешевле, чем платная оптимизация через CDN. Управление медиафайлами и сжатие изображений — см.Управление медиафайлами и сжатие изображений.
4. Базовая настройка правил кэширования
Выбрать CDN — ещё не значит автоматически ускорить сайт. Если правила кэширования настроены неправильно, с CDN сайт может работать медленнее, чем без него. Самая частая ошибка — кэшировать все HTML-страницы. Но формы заявок и динамический контент на сайте нельзя кэшировать: иначе отправленная пользователем форма закэшируется и будет показываться другим. Правильный подход — задавать правила отдельно по типам файлов.
| Тип ресурса | Время кэширования | Кэшировать HTML | Стратегия обновления |
|---|---|---|---|
| Изображения (jpg/png/webp) | от 30 дней до 1 года | Не применимо | Автообновление по хэшу в имени файла |
| CSS/JS | от 7 до 30 дней | Не применимо | Автосброс при смене версии |
| HTML-страницы | Не кэшировать напрямую | Использовать серверное кэширование страниц | Сбрасывать вручную при публикации новой версии |
| Страница формы заявки | Не кэшировать | Обязательно no-cache | Всегда запрашивать с сервера |
| XML sitemap | 1 час | Короткое кэширование | Автоматическое истечение и повторная загрузка |
| Админка wp-admin | Не кэшировать | Обязательно no-cache | Всегда запрашивать с сервера |
Cache Hit Rate — ключевой показатель того, правильно ли настроен CDN. Для статики цель — выше 95%, для HTML-страниц с серверным кэшированием — выше 80%. Каждые 10% роста hit rate снижают расходы на трафик с сервера примерно на 30%. Смотрите Cache Hit Rate в Cloudflare Analytics: если для статики он ниже 90%, значит правила кэширования слишком короткие или URL файлов постоянно меняются.
Как связать кэширование страниц, объектное кэширование и кэш браузера с CDN на сайте — см.Настройка трёхуровневого кэширования на сайте. Мониторинг и оповещения после включения CDN — см.Чек-лист мониторинга и оповещений сайта.
5. Проверка после выбора и типичные ошибки
После подключения CDN не считайте дело сделанным — нужно пройти четыре проверки. Первая: замерьте первый экран через WebPageTest из целевого региона и убедитесь, что LCP действительно снизился. Вторая: проверьте, покрывает ли HTTPS-сертификат все поддомены. Третья: протестируйте отправку формы заявки (CDN часто кэширует страницу с формой как статику). Четвёртая: убедитесь, что robots.txt и sitemap.xml не закэшированы в старой версии.
| Типичная ошибка | Что происходит | Причина | Как исправить |
|---|---|---|---|
| HTML кэшируется целиком | Посетитель видит чужую отправленную форму | Правила CDN кэшируют и HTML | Поставьте для HTML no-cache и отдайте кэширование серверу |
| Изображения не обновляются | Пользователи не видят новый логотип | Имя файла не изменилось, кэш не сбросился | Добавьте в имя файла версию или хэш |
| Доступ из России замедлился | Первый экран для российских пользователей стал медленнее, чем без CDN | Российские узлы Cloudflare идут в обход | Переключите российский трафик на CDN Алибаба или напрямую на сервер |
| Ошибка HTTPS-сертификата | На части поддоменов ошибка сертификата | Сертификат не покрывает все поддомены | Закажите wildcard-сертификат |
| Поисковый робот заблокирован | Googlebot не может обойти страницы | Слишком строгие правила WAF | Разрешить User-Agent Googlebot и Bingbot |
| Кэш не обновляется | Изменил контент, а на сайте его не видно | Слишком долгий TTL кэша по умолчанию в CDN | После публикации сделайте Purge вручную или задайте короткий TTL |
Выбор CDN — это процесс «сначала запустить, потом оптимизировать», не тратьте три месяца на сравнение всех провайдеров. Правильный подход: начать с бесплатного тарифа Cloudflare, поработать 3 месяца, посмотреть данные по трафику и проценту попаданий в кэш, а потом решать, нужен ли апгрейд или переход на Alibaba Cloud. Если месячный трафик стабильно ниже 100 ГБ, бесплатного тарифа хватит надолго, переходить на Pro нет смысла. В ежемесячном обслуживании зарубежного сайта проверка настроек CDN — обязательный пункт, см.Шесть задач на месяц в период обслуживания сайта. Настройки соответствия данных и Cookie на зарубежном сайте тоже нужно согласовывать с CDN, см.Комплаенс-основа для выхода на зарубежные рынки.
И последнее: после подключения CDN не отключайте сразу защиту исходного сервера. Многие думают, что CDN уже отсекает один слой, и выключают firewall и WAF на сервере — это ошибка. CDN блокирует только трафик, который до него доходит: если IP вашего сервера утёк, атакующий обойдёт CDN и ударит напрямую по исходному серверу. Правильно настроить firewall так, чтобы он пропускал только диапазоны IP CDN, а все остальные источники отклонял: это не мешает CDN обращаться к исходному серверу и блокирует атаки напрямую. В официальной документации Cloudflare есть полный список диапазонов IP, добавьте их в белый список по диапазонам.
FAQ: частые вопросы
Хватает ли бесплатного тарифа Cloudflare?
Когда действительно нужен Akamai?
Что выбрать: CDN Alibaba Cloud или Cloudflare?
Что делать, если CDN закэшировал HTML-страницу?
Какой процент попаданий в кэш считается нормой?
Не перестанет ли Google обходить сайт после подключения CDN?
В заключение
Главное заблуждение при выборе CDN — приравнивать «корпоративный» к «подходящий мне». Akamai действительно силён, но он обслуживает маркетплейсы с сотней тысяч запросов в секунду в распродажу и медиасайты с миллионом просмотров в секунду. Для B2B-сайта с 8 000 уникальных посетителей в месяц хватит бесплатного тарифа Cloudflare, а сэкономленные деньги лучше вложить в контент и SEO — отдача будет куда выше, чем от корпоративного SLA за две тысячи долларов.
Три шага на практике. Первый: определите основные регионы покупателей и месячный трафик и выберите провайдера CDN по дереву решений. Второй: настройте правила кэширования — статику кэшировать от 7 дней, HTML отдать серверному кэшу, страницы с формами не кэшировать никогда. Третий: через 3 месяца посмотрите счёт за трафик и процент попаданий, и если не хватает — переходите на тариф выше. После этих трёх шагов вы не упрётесь в ограничения бесплатного тарифа и не переплатите за корпоративные возможности, которые вам не нужны.
Запомните одну фразу: CDN хорош не тем, что дороже, а тем, что подходит вам. Для B2B-сайта с несколькими тысячами уникальных посетителей в месяц ответ — бесплатный тариф Cloudflare. Не платите лишние две тысячи долларов за корпоративный SLA, который вам не нужен.
