Главная » Хабрахабр » Про дешевые датацентры, РКН и защиту от DDoS

Про дешевые датацентры, РКН и защиту от DDoS

Иногда проект живет в недорогом зарубежном датацентре, попадает под ковровые блокировки Роскомнадзора, периодически оказывается под DDoS атаками, но при этом имеет терабайты данных и трафика.

Как с этим жить?

Преамбула

Не будем называть имя и страну, только некоторые технические данные:
50 Тб данных для хранения, ежемесячно обновляется порядка 100 Гб, «горячие данные» (к ним идет 95% запросов) — 200 Гб.
Средний трафик — 50 Тб/мес. У нас на поддержке есть небольшой фотобанк.

Для размещения фотографий несколько лет назад выбрали несколько серверов SX серии от Hetzner с большими дисками (для хранения ПД пришлось придумывать более сложное решение, но об этом в другой раз).

В Southbridge сомневались, что Hetzner подходит для такого проекта, но требуемый уровень доступности и качества связности достигался.

Плюс для такого проекта использование CDN окажется на порядок дороже, чем раздача статики с серверов в недорогом датацентре.

Фабула

Весной 18 года начались ковровые блокировки, и к маю они накрыли многих наших клиентов. Тут в нашей истории появляется Роскомнадзор, да не будет упомянуто его имя всуе.

Некоторые клиенты решили проблему с доступом к Hetzner, Amazon, MS Azure, GCE, Digitalocean кардинально: перенесли в Россию серверы целиком (привет, Selectel!), но для нашего героя, небольшого фотобанка, постоянно возить туда-сюда 50 Тб данных — слишком накладно, а оставлять серверы проекта в России после окончания блокировок мы не собирались.

Для больших и неадекватных проблем нужны небольшие и адекватные решения.

Решение проблемы

Смена диапазона ip-адресов помогала не на 100%, т.к. Например, использовать другие (незаблокированные) серверы или сервисы для фронтенд. Вдруг кто не знает, они не только защищают от DDoS атак (не так хорошо, как лучшие игроки этого рынка), но и дают CDN сервис (и делают это хорошо). РКН каждый день блокировал новые и новые IP-подсети, поэтому мы решили подключить проксирование через Сloudflare.com.

Это отличное решение проблемы, если используемые вами адреса Cloudflare не заблокированы )

После подключения CF мы увидели вот такую картину на графике подсчета трафика с одного из серверов (картинка из статистики Hetzner): Ок, включили — и начали мониторить стабильность работы и отдачу трафика.

Общий реальный трафик упал не в 3 раза, просто CF стал по-другому распределять трафик между серверами. Входящий трафик изменился в пределах погрешности (что подтверждает и график загрузки новых фотографий, для чего сделана отдельная метрика мониторинга), исходящий на этом сервере на момент подключения CF упал в 3+ раза.

Для примера, график по этому же серверу из нашей системы мониторинга (за 3 месяца, чтобы он был не слишком мелким):

И по одному из других:

CF сэкономил проекту часть трафика. Но общий трафик все же упал на 20%, т.е.

Средний latency увеличился, но эти графики мы не покажем.

В Европе и Северной Америке он действует уже намного эффективнее. Причина: у Cloudflare мало точек раздачи трафика в России.

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

График за 3 месяца (апрель-июнь) с одного из серверов, обрабатывающих запросы по загрузке фото:

А вот еще один сервер:

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

Риск получить в Сloudflare заблокированный адрес тоже есть, но его можно снизить, взяв платный тариф.
После завершения «ковровых блокировок имени РКН» мы отключили Cloudflare.

Каков итог?

  • За 5–20$/мес (в нашем случае было как раз 5$/мес) можно решить подобную проблему и не тратить тысячи долларов на аренду более дорогих серверов и перенос данных.
  • Даже для проектов с терабайтами трафика подходят бесплатные или почти бесплатные решения. Проверено на практике.

Как альтернатива:

  • DDoS-GUARD предлагает бесплатный тариф с проксированием трафика и защитой от DDoS-атак.
  • У нескольких провайдеров услуги по защите от DDoS была услуга бесплатной помощи при таких блокировках. (Кстати, мы тоже не брали дополнительные деньги за решение проблемы с блокировками).
  • Вы можете взять один из известных CDN сервисов: keycdn.com, cdn77.com, Akamai CDN, CDNVideo, Ngenix.net и др. Проблему защиты от блокировок для своих клиентов они решают сами. Но это а) дороже б) не решает проблемы отдачи не статического контента.
  • Можно подключить другой сервис проксирования и защиты от DDoS атак (мы много работали с Qrator и SkyparkCDN / G-Core Labs, например), но им нужно будет платить за каждый мегабит полезного трафика, и это будет действительно дорого.
  • «Свой незаблокированный frontend» можно развернуть у любого из провайдеров мира, при этом нужно выбрать незаблокированный диапазон адресов, и обеспечить хорошую связность между вашими серверами и серверами «фронтенда». Если вам всерьез понадобится этим заниматься — предварительно можно проверить адрес автоматически по списку или вручную здесь.

Лично я для подобных «фронтендов» рекомендую packet.net и servers.com — отличная связность и возможность взять сервер с почасовой оплатой.

Если что — я один из докладчиков «РедСлёрм». p.s. Приезжайте, будет интересно:
https://slurm.io/redslurm/


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Клонируем бесконтактную карту с помощью мобильного приложения

Всегда было интересно посмотреть, что происходит у банковской карточки под «капотом». Как реализуется протокол общения банковской карточки и POS-терминала, как это работает и насколько это безопасно. Такая возможность предстала передо мной, когда я проходил стажировку в компании Digital Security. В ...

Чудесный форпост на орбите

20 ноября исполнится 20 лет Международной космической станции. Не сомневаюсь, что будет множество рассказов про ее историю, конструкцию и эксплуатацию. Повторять одно и то же не хочется, и я решил поразмышлять, что будет самым важным для нас из опыта, который ...