亞馬遜旗下雲計算平台 AWS 的 S3 對象存儲功能被開發者和企業廣泛使用,S3 存儲桶可以存儲各種文件並設置權限提供公網訪問,許多開發者將各類靜態文件直接存儲在 S3 中進行遠程調用。
但這裏有個問題,S3 存儲桶是收取 HTTP 請求和帶寬費用的,收取這部分費用還算是合理,但 S3 的計費規則裏甚至對錯誤請求也會收費。

早前有一名開發者發現自己的 S3 存儲桶遭到未經授權的人高頻訪問,隨後開發者直接封禁了對應 IP/UA 的訪問,實際訪問時將出現 403 之類的錯誤。
萬萬沒想到啊,之後竟然還是收到了 AWS 的巨額賬單,因為 AWS 對 HTTP 403 這類禁止訪問的錯誤請求同樣還是收取請求費,也就是說,即便封禁某個 IP 或 UA,這個人繼續保持高頻惡意請求,就會給開發者產生巨額的費用賬單,這可能會讓一些開發者一夜破產。
這名開發者針對該問題聯係 AWS 進行處理後,AWS 取消了這部分請求費賬單,但 AWS 強調這是合理收費,因為本來賬單規則裏就沒有注明 HTTP 403 是免費請求。
這個問題也引起了諸多開發者和企業的擔憂,由於 AWS S3 存儲桶的名稱是自定義的,後麵的地址則是固定的,因此甚至可以枚舉各種存儲桶名稱故意刷賬單,對開發者和企業來說這種問題幾乎無法規避,畢竟已經設置 403 了,設置其他錯誤代碼也無濟於事,都是收費的。
到 5 月 13 日 AWS 發布重要的計費公告,宣布自當日起所有區域的個人或企業 AWS 賬戶產生的未經授權請求不再收費,包括帶寬費也被取消。
還有個額外說明是如果發起請求的是所有者自己,那即便是 HTTP 403 也會計算請求費,所以開發者在配置時最好檢查 API KEY,盡可能避免使用自己賬戶直接調用,否則不小心出現 403 那還是得計費。
下麵是更新後的 AWS S3 所有不計費的狀態碼 (所有者訪問除外):
- HTTP 301
- HTTP 307
- HTTP 400
- HTTP 403
- HTTP 404
- HTTP 405
- HTTP 409
- HTTP 411
- HTTP 412
- HTTP 5XX
另外如果開發者設置了自定義錯誤文檔或者自定義重定向時,所有請求無論什麽狀態都繼續收取請求費和產生的帶寬費。


相关文章




精彩导读




热门资讯
关注我们
