Да, вы можете использовать WAF с сервером за пределами AWS.
WAF работает с CloudFront, и CloudFront не требуется, чтобы исходный сервер находился в экосистеме AWS.
При создании дистрибутива вы указываете, куда CloudFront отправляет запросы на файлы. CloudFront поддерживает использование нескольких ресурсов AWS в качестве источника. Например, вы можете указать корзину Amazon S3 или контейнер MediaStore, канал MediaPackage или пользовательский источник, такой как экземпляр Amazon EC2 или ваш собственный веб-сервер HTTP. (выделение добавлено)
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html
Настройка CloudFront для работы с внешним сервером ничем не отличается от настройки его для работы с сервером в EC2. Ваша DNS-запись (например, www.example.com
) изменяется, чтобы указывать на CloudFront, и CloudFront подключается к вашему серверу, используя новое имя, которое вы создаете (например, origin.example.com
). CloudFront передает запросы на ваш сервер, если только пограничное местоположение, обрабатывающее данный запрос, не получит доступ к копии того же ресурса, который он кэшировал, обрабатывая предыдущий запрос для той же страницы - так CloudFront получает ваш контент, кэширование, поскольку оно обрабатывает запросы, которые проходят через. (Вы не загружаете какой-либо контент в CloudFront.) Если CloudFront имеет кэшированную копию, ваш сервер ничего не видит, а CloudFront возвращает объект в браузер из своего кэша. Но CloudFront не является строго CDN, хотя они продают его таким образом. Это глобальная сеть обратных прокси-серверов и высоконадежного транспорта с низкой задержкой.
Вы захотите принять меры, чтобы веб-сервер отклонял запросы, которые не поступали через CloudFront. См. Использование пользовательских заголовков для ограничения доступа к вашему контенту в пользовательском источнике , а также список IP-адресов CloudFront , который можно использовать на брандмауэре веб-сервера.
Как только ваш сайт работает через CloudFront, все, что вам нужно сделать, это активировать WAF в дистрибутиве. CloudFront очень тесно интегрирован с WAF, так что это очень простое изменение после настройки правил WAF.