Я просматривал Документы Google Cloud Armor для получения информации о защите от DDoS для экземпляра вычислительной ВМ GCP. Из того, что я нашел, Управляемая защита Google Cloud Armor обеспечивает традиционную защиту от DDoS (возможно, уровень 3 и уровень 4) и должен быть подключен к балансировщику нагрузки. Кроме того, Адаптивная защита Google Cloud Armor обеспечивает защиту уровня 7 за счет обнаружения аномалий в сетевом трафике на основе машинного обучения, и она должна применяться через Политика безопасности Google Cloud Armor который, в свою очередь, должен быть подключен к балансировщику нагрузки.
Но балансировщики нагрузки связаны с группой экземпляров, а не с одним экземпляром виртуальной машины, и они предназначены для автоматического масштабирования экземпляров (например, на основе шаблона экземпляра), а не для одного экземпляра виртуальной машины. Я запускаю несколько независимых серверных приложений с отслеживанием состояния (каждое в своем собственном экземпляре виртуальной машины), в которых автомасштабирование на самом деле не вариант.
я мог определить группу экземпляров с одним экземпляром (т. е. с правилами автомасштабирования, установленными для создания ровно 1 экземпляра). Однако у меня есть несколько отдельных экземпляров ВМ, на которых я хочу защитить DDoS, поэтому мне потребуется группа экземпляров для каждого из них и балансировщик нагрузки для каждой группы экземпляров. Это очень быстро станет очень дорогим.
Более практичным вариантом было бы настроить единую группу экземпляров с автоматическим масштабированием, подключенную к балансировщику нагрузки, чтобы она просто служила обратным прокси-сервером для всех других серверов, доступ к которым осуществляется внутри общего VPC. Этот обратный прокси-сервер можно было подключить к балансировщику нагрузки и обеспечить защиту от DDoS-атак как единую точку входа.
Но мне кажется странным, что балансировка нагрузки требуется для защиты от DDoS на GCP для начала. После всего, AWS Shield не требует балансировщика нагрузки вступить в силу. Я что-то пропустил?
Редактировать:
Я создаю платформу хостинга для различных целевых приложений. У каждого клиента будет либо собственный экземпляр виртуальной машины, либо общий экземпляр виртуальной машины с одним или двумя другими клиентами. Большинство целевых приложений нет веб-приложения, а просто приложения с поддержкой TCP/UDP (например, некоторые из них являются игровыми серверами). Это приложения с отслеживанием состояния, и, что более важно, они, как правило, требуют одновременной поддержки всех подключений в одном экземпляре, поэтому масштабирование за пределами одного экземпляра, как правило, нецелесообразно. Кроме того, цены на балансировщик нагрузки GCP реализуют большую базовую цену для первых пяти правил переадресации, поэтому использование каждого экземпляра за собственным балансировщиком нагрузки не является большим вариантом. Для некоторых из этих приложений DoS-атаки вызывают особую озабоченность.