
網路上有許多教學,宣傳透過 AWS S3 + AWS Cloudfront (+ Cloudflare) 廉價託管靜態網站。
例如:
我正在研究 AWS 服務的定價結構,對於 S3 或 Cloudfront,我認為不可能限制與無效請求相關的成本,因為亞馬遜也會對無效或被封鎖的請求產生的流量和請求進行計費。
即使使用可以封鎖特定 IP 位址範圍的 Amazon WAF 也不會對您有幫助,因為請求者仍應收到「存取被拒絕」訊息或類似訊息。
無效請求將導致:
- 請求不存在的對象
- 用例“提供私人內容”
- 簽名 URL/簽名 cookie 缺少參數
- 錯誤的 IAM/隱身憑證
定價(北維吉尼亞州的 S3/美國 Cloudfront;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 攻擊期間,您只能透過盡快刪除您的 Cloudfront 分配或 S3 儲存桶來避免這些成本嗎?
還是我在AWS的定價結構上犯了錯?
答案1
非常有趣的分析。猜測唯一的方法是嚴格監控流量和成本。另外可以看看AWS Shield Advanced。即使每月有額外費用,他們也會吸收 DDOS 造成的擴展費用。
透過 AWS Shield Advanced,您可以獲得“DDoS 成本保護”,該功能可以保護您的 AWS 帳單免受因 DDoS 攻擊而導致 EC2、Elastic Load Balancing (ELB)、Amazon CloudFront 和 Amazon Route 53 使用高峰的影響。