Как быть с размещением сеток на сервере? Обзор методов хостинга сеток

Сколько методов хостинга сеток вы знаете? А сколько существует на самом деле? Как раз об этом пойдет речь.

Чтобы вы имели представление, что такое хостинг, оставлю здесь цитату:

Хостинг – это услуга предоставления ресурсов на сервере для размещения информации (чаще всего файлов сайта) в сети Интернет. Обычно под хостингом подразумевают услугу размещения файлов сайта на заранее настроенном сервере с программным обеспечением, необходимым для обработки запросов к этим файлам и сопутствующими сервисами (веб-сервер, сервер баз данных, DNS-сервер, PHP-обработчик, FTP-сервер, почтовый сервер).

В моем опыте работы я столкнулся с 4 методами хостинга сеток.

1. Хостинг сеток, используя Cloudflare
2. HTML-Хостинг на AWS
3. Хостинг с использованием shared-серверов
4. Хостинг через AWS Route 53 + AWS Lightsail

Сколько все это стоит? И насколько полезно? Судите сами, смотря какие цели вы преследуете при построении сетки.

Хостинг via Cloudflare

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

Эта глобальная сеть серверов на данный момент присутствует в 193 городах, о чём они сообщают в своей статье — Cloudflare Global Network Expands to 193 Cities.

Многие позиционируют клауд как надёжную отказоустойчивую сеть доставки контента. Однако так ли это? События 2 июля 2019 года надолго запомнились всем пользователям Cloudflare, когда все сайты, которые обслуживались Cloudflare, стали отдавать 502 ошибку.

Вот что по этому поводу пишет Джон Грэм-Камминг на блоге Cloudflare:

On July 2, we deployed a new rule in our WAF Managed Rules that caused CPUs to become exhausted on every CPU core that handles HTTP/HTTPS traffic on the Cloudflare network worldwide. We are constantly improving WAF Managed Rules to respond to new vulnerabilities and threats. In May, for example, we used the speed with which we can update the WAF to push a rule to protect against a serious SharePoint vulnerability. Being able to deploy rules quickly and globally is a critical feature of our WAF.

Unfortunately, last Tuesday’s update contained a regular expression that backtracked enormously and exhausted CPU used for HTTP/HTTPS serving. This brought down Cloudflare’s core proxying, CDN and WAF functionality. The following graph shows CPUs dedicated to serving HTTP/HTTPS traffic spiking to nearly 100% usage across the servers in our network.

This resulted in our customers (and their customers) seeing a 502 error page when visiting any Cloudflare domain. The 502 errors were generated by the front line Cloudflare web servers that still had CPU cores available but were unable to reach the processes that serve HTTP/HTTPS traffic.

John Graham-Cumming
Загрузка процессора во время инцидента

Собственно, когда упала сетка сайтов, которая использовала клауд, команда PBN-разработки чувствовала себя очень неуютно. Более 12 млн сайтов были недоступны 27 минут из-за релиза неверного регулярного выражения.

Однако этот инцидент не повлиял особо на позиции сайтов или на возможность обнаружения сетки, т.к. в это время полмира валялось.

Впрочем, ещё один из минусов этой CDN — одинаковые ns-записи в пределах аккаунта в бесплатной версии. Поэтому, чтобы минимизировать вероятность конкурентного расследования, следует использовать десятки различных аккаунтов.

Плюсы использования Cloudflare:

  • Сетке можно затеряться среди миллионов сайтов;
  • Лёгкость в настройке для небольших проектов;
  • Firewall & Black List IP / UA
  • Free SSL
  • Бесплатно.

Минусы использования Cloudflare:

  • Одинаковые NS-записи в пределах 1 аккаунта в бесплатном тарифном плане;
  • 3 сторона: усложение системы делает её уязвимее и зависимее от внешних факторов.

HTML-хостинг сайта на AWS S3 Amazon

Довольно-таки необычный вид хостинга на данный момент. Мало кто им пользуется, однако этот способ удобный для хостинга малофункциональных контентных блогов. Amazon предоставляет сервисы хранилищ данных и файлов S3.

Какой принцип работы?

  1. Создаём сайт на локалке/поддомене, короче в любом месте на любом домене;
  2. Конвертируем сайт в набор статических файлов;
  3. Загружаем набор файлов в бакет;
  4. Создаём Hosted Zone в Route53;
  5. Прописываем ns-записи на стороне регистратора.

Этот способ отличается от первого тем, что здесь уже не обойтись бесплатным аккаунтом. Придётся платить. По факту AWS S3 выступает как хостинг файлов сайта.

Одно отличие в том, что тарификация хостинга высчитывается в зависимости от количества запросов.

Route53 DNS-запросы0.40
1st 25 Route53 HostedZone0.50
Additional Route53 HostedZones 0.10
AWS Data Transfer — per GB0.02
Amazon S3 Requests-Tier2 — per 10K GET requests0.004

Стоимость хостинга 50 сайтов достигает около $15/месяц.

Однако редактирование контента невозможно без инспектирования кода статических файлов. Это сложно, поэтому приходится редактировать всё на движке и конвертировать/заливать заново.

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

Плюсы

  • ns-записи, выдаваемые Route53-панелью уникальные для каждого сайта;
  • Трафик проксируется через трастовые сети Амазона;
  • Хостинг файлов вирусоустойчив, т.к. статичен;

Минусы

  • Нельзя редактировать сайт в онлайн-режиме.

Хостинг с использованием shared-серверов

Принцип хостинга состоит в скрытии оригинального сервера от источника через внешний сервер с уникальным ip-адресом.

Для того, чтобы его реализовать, необходимо иметь такие ресурсы:

  1. Main Server — сервер, на котором размещаются проекты
  2. Shared Server — сервер с конфигами проксирования.

Система оправдывает себя, если необходимо иметь внешние кастомные IP-адреса для проксирования. Профит в том, что под контролем основные системные узлы.

Кроме того, запрещённых ботов можно отсекать на уровне шаред-серверов, чтобы не грузить основной сервер, используя конфиги nginx.

Стоимость такой системы зависит от нескольких факторов: геолокация серверов, количество сайтов на 1 IP.

Стандартная стоимость 1 шаред-сервера равна $5/мес. Если на 1 шаред вешать 5 сайтов, то стоимость сетки в 50 сайтов будет равна $50. Есть возможность такую систему сделать дешевле, но об это позже.

Плюсы

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

Минусы

  • Относительная дороговизна системы;
  • Потребность в навыках сетевого администрирования и конфигурирования серверов.

Хостинг через AWS Route 53 + AWS Lightsail

Это моя собственная разработка, т.е. я нигде её не видел. Эта система включает в себя характеристики двух предыдущих методов, а именно:

  • Кастомные ns-записи для каждого домена;
  • IP сайта скрываются за сетью серверов Amazon;
  • Конфигурирование промежуточных серверов.

Стоимость такой системы дешевле, чем проксирование через shared-сервера, но для того, чтобы в этом разобраться, надо иметь навыки администрирования Amazon AWS.

Какой принцип работы?

  1. Создаём сетевую инфраструктуру в AWS Lightsail;
  2. Создаём Hosted Zone в Route53;
  3. Загружаем конфиги на VPS-сервер, который мы создали в шаге 1;
  4. Апдейтим ns-записи на стороне регистратора.

Теперь перейдём к стоимости.

Route53 DNS-запросы0.40
1st 25 Route53 HostedZone0.50
Additional Route53 HostedZones 0.10
AWS Data Transfer — per GB0.02
Amazon S3 Requests-Tier2 — per 10K GET requests0.004
Elastic Compute Cloud per Elastic IP 0.005
Amazon Lightsail Bundle:0.5GB / Hour0.0047
Amazon Lightsail LoadBalancer / Hour0.0242

За хостинг таким методом 280 сайтов нужно отдать примерно $70.

Плюсы

  • Уникальные ns для каждого домена;
  • Скрытие origin-сервера через сети Amazon.

Минусы

  • Сложность в настройке;
  • Не бесплатно.

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

Интересно? Поделись 😉