В Интернете есть множество руководств, которые продвигают дешевый хостинг статических веб-сайтов через AWS S3 + AWS Cloudfront (+ Cloudflare).
Примером этого может быть:
Я изучал структуру ценообразования сервисов AWS, и в случае S3 или Cloudfront я считаю, что невозможно ограничить расходы, связанные с недопустимыми запросами, поскольку Amazon также выставляет счета за трафик и запросы, созданные недействительными или заблокированными запросами.
Даже использование Amazon WAF, который может блокировать определенные диапазоны IP-адресов, не должно вам помочь, поскольку запрашивающая сторона все равно должна получать сообщение «Доступ запрещен» или что-то подобное.
Недействительные запросы повлекут за собой:
Цены (S3 в Северной Вирджинии / Cloudfront USA; 2018-03-25)
---------------------------------------------------------------------------------------
- service - # requests type - pricing -
---------------------------------------------------------------------------------------
- S3 - 1000 PUT/COPY/POST requests - 0.0050 USD -
---------------------------------------------------------------------------------------
- S3 - 1000 GET and other requests - 0.0004 USD -
---------------------------------------------------------------------------------------
- Cloudfront - 10000 HTTP - 0.0075 USD -
---------------------------------------------------------------------------------------
- Cloudfront - 10000 HTTPS - 0.0100 USD -
---------------------------------------------------------------------------------------
Стоимость DDoS-атаки с недействительными запросами
-------------------------------------------------------------------------------------------------------------
- requests per second - service - type - costs per day - costs per month -
-------------------------------------------------------------------------------------------------------------
- 200 - S3 (North-Verginia) - POST - 86.400 USD - 2592.00 USD -
-------------------------------------------------------------------------------------------------------------
- 500 - S3 (North-Verginia) - POST - 216.000 USD - 6480.00 USD -
-------------------------------------------------------------------------------------------------------------
- 1000 - S3 (North-Verginia) - POST - 432.000 USD - 12960.00 USD -
-------------------------------------------------------------------------------------------------------------
- 200 - S3 (North-Verginia) - GET - 6.912 USD - 207.36 USD -
-------------------------------------------------------------------------------------------------------------
- 500 - S3 (North-Verginia) - GET - 17.280 USD - 518.40 USD -
-------------------------------------------------------------------------------------------------------------
- 1000 - S3 (North-Verginia) - GET - 34.560 USD - 1036.80 USD -
-------------------------------------------------------------------------------------------------------------
- 200 - Cloudfront (USA) - HTTPS - 17.000 USD - 518.40 USD -
-------------------------------------------------------------------------------------------------------------
- 500 - Cloudfront (USA) - HTTPS - 216.000 USD - 1296.00 USD -
-------------------------------------------------------------------------------------------------------------
- 1000 - Cloudfront (USA) - HTTPS - 432.000 USD - 2592.00 USD -
-------------------------------------------------------------------------------------------------------------
- 10000 - Cloudfront (USA) - HTTPS - 864.000 USD - 25920.00 USD -
-------------------------------------------------------------------------------------------------------------
- 200 - Cloudfront (USA) - HTTP - 12.960 USD - 388.80 USD -
-------------------------------------------------------------------------------------------------------------
- 500 - Cloudfront (USA) - HTTP - 32.400 USD - 972.00 USD -
-------------------------------------------------------------------------------------------------------------
- 1000 - Cloudfront (USA) - HTTP - 64.800 USD - 1944.00 USD -
-------------------------------------------------------------------------------------------------------------
- 10000 - Cloudfront (USA) - HTTP - 648.000 USD - 19440.00 USD -
-------------------------------------------------------------------------------------------------------------
Возможное решение: использовать CDN?
Предлагаемое решение этой проблемы, указанное в некоторых руководствах, заключается в использовании бесплатного сервиса Cloudflare CDN, который может обрабатывать все эти запросы, предоставляя им кэшированный результат из AWS S3 или AWS Cloudfront.
Единственная проблема, которая все еще сохраняется с этим решением, заключается в том, что можно генерировать столько недействительных запросов, сколько ему заблагорассудится.
Примеры:
www.flare-example.com/iza7648hklto
www.flare-example.com/dsatnygp4851021
...
В этом случае злоумышленник все еще может достичь источника с таким количеством недействительных запросов, сколько ему нравится, поскольку Cloudflare будет каждый раз пропускать кеш.
Теперь, наконец, к моему вопросу:
Можете ли вы избежать этих затрат во время DDoS-атаки, удалив облачный дистрибутив или корзину S3 как можно быстрее?
Или я ошибся в структуре ценообразования AWS?
Очень интересный анализ. Единственный способ догадаться - это строго контролировать трафик, а также стоимость. Кроме того, можно взглянуть на расширенный AWS Shield. Несмотря на то, что есть дополнительные ежемесячные расходы, они будут покрывать расходы на масштабирование из-за DDOS.
С AWS Shield Advanced вы получаете «защиту от DDoS-атак» - функцию, которая защищает ваш счет AWS от EC2, эластичной балансировки нагрузки (ELB), Amazon CloudFront и Amazon Route 53 от скачков использования в результате DDoS-атаки.