Шилдинг в CDN: как создать идеальный баланс между производительностью и безопасностью
Рассказываем, как обезопасить источник контента от больших нагрузок в рамках CDN.
CDN (Content Delivery Network) состоит из множества узлов (кэширующих серверов), благодаря которым ускоряется раздача статического контента. Сеть кэширующих серверов позволяет решать задачи, связанные с качеством и скоростью доставки контента географически распределенным пользователям. В том числе — снижать нагрузку на основные серверы веб-проектов.
Когда проект популярен и его контент загружают тысячи пользователей со всего мира, к серверу-источнику постоянно поступает множество запросов для первичного кэширования данных. Это увеличивает нагрузку на ориджин (источник контента) и может привести к сбоям.
Для предотвращения таких ситуаций есть дополнительный уровень кэширования – шилдинг ориджина. Его используют, чтобы при высоком трафике или внезапном скачке спроса на контент сервер-источник не столкнулся с перегрузками.
Что такое шилдинг
Шилдинг – это промежуточный сервер, размещенный между ориджином и остальными узлами сети CDN. Его основная задача – защитить источник контента от перегрузок и атак, а также повысить производительность и эффективность доставки контента конечным пользователям. У шилдинга есть свой кэш, что позволяет значительно снизить количество запросов к серверу-источнику.
Принцип работы шилдинга и его преимущества
Когда пользователь запрашивает контент у сервера-источника, запрос сперва проходит через шилдинг-сервер. Рассмотрим его ключевые функции.
- Кэширование контента. Шилдинг-сервер хранит кэшированные копии контента, благодаря чему обрабатывает запросы без регулярных обращений к ориджину. Это позволяет значительно снизить нагрузку на источник контента, что особенно важно при высоком объеме трафика.
- Балансировка нагрузки. Шилдинг помогает равномерно распределять нагрузку между различными серверами CDN, предотвращая перегрузки отдельных узлов и ориджина.
- Безопасность. Шилдинг-серверы могут фильтровать подозрительный трафик и предотвращать атаки/сбои, сокращая риски и защищая ориджин от вредоносных запросов.
В каких кейсах применим шилдинг
Высоконагруженные сайты и приложения
Для сайтов и приложений с высоким уровнем трафика, таких как онлайн-магазины, социальные сети и стриминговые сервисы, шилдинг — необходимый элемент инфраструктуры. Он помогает эффективно управлять пиковыми нагрузками и предотвращать перегрузки ориджина.
Защита от DDoS-атак
Шилдинг-серверы также применяются для защиты сайтов от DDoS-атак. Фильтруя трафик и распределяя его по нескольким узлам, они могут смягчить воздействие атак и предотвратить перегрузки системы.
Еще одно преимущество CDN — возможность скрыть исходный IP-адрес сайта. Если он не скомпрометирован, злоумышленники не будут знать, куда отправлять множество запросов. Однако даже если IP стал известен, это можно исправить: ряд провайдеров, в том числе Selectel, могут предоставить новый адрес.
Однако стоит помнить, что CDN справляется с атаками на уровне сетевых протоколов L3, L4. Если вам нужна защита на уровне L7, то следует использовать специализированное решение по защите от DDoS-атак.
Подробнее о повышении безопасности инфраструктуры с помощью CDN — в обзоре.
Оптимизация затрат на инфраструктуру
Шилдинг помогает сократить расходы на поддержание и расширение серверной инфраструктуры. Путем эффективного кэширования и балансировки нагрузки, компании могут снизить потребность в дополнительных серверах и пропускной способности.
Как включить шилдинг источника
- В панели управления перейдите в раздел CDN → CDN-ресурсы.
- Откройте страницу CDN-ресурса → вкладка Настройки.
- Включите шилдинг.
- Нажмите Добавить.
- Нажмите Сохранить. Шилдинг начнет работать в течение 30 минут.
По умолчанию подключается шилдинг-сервер, расположенный в Москве (ММТС-9). Если вам нужен шилдинг-сервер в другом регионе, создайте тикет без заказа услуги в панели управления. В тикете укажите имя CDN-ресурса и нужный регион.
Заключение
Шилдинг — важный компонент современной CDN, который защищает ориджин, ускоряет доставку контента и повышает устойчивость сети. Его внедрение позволяет эффективно управлять трафиком, защищать от атак и оптимизировать затраты. Это незаменимый инструмент для компаний, которые работают с большим объемом данных и чьи задачи требуют высокой производительности сети.