我們正在從 S3 儲存桶(位於孟買)向單一區域(印度)的用戶提供影片。我們預計數以千計的用戶只能從印度存取這些文件。 CloudFront 發行版值得嗎?如果我們使用 CloudFront,延遲會減少嗎?如果我們不使用 CloudFront,S3 可以處理頻寬嗎?
謝謝您的幫忙。
答案1
從性能角度來看,是的,它可能很有用。
CloudFront 目前在印度有 5 個邊緣站點(欽奈 (2)、新德里 (1) 和孟買 (2)),因此這表明使用 CloudFront 可以實現更低的延遲,因為您的內容可能更接近用戶(取決於其地理分佈)...
然而,從印度邊緣站點下載 CloudFront 的費用為 0.17 美元/GB,而直接從孟買的 S3 下載為 0.1093 美元/GB。 (使用 CloudFront + S3 時,S3 bamdwidth 費用不適用)。
所以,是的,“有用”,但不可能說它是否足夠有用來證明這個特定地理區域的成本是合理的。
S3有最佳實踐指南GET
適用於未使用 CloudFront 時預計每秒請求率超過 800 個(峰值)或 300 個(持續)請求的儲存桶。該服務將擴展到超出這些值,但遵循準則有助於其更有效地擴展。 (熱鍵和索引熱點不像分佈均勻的鍵那樣容易擴展)。對於低於 100 req/s 的請求率,不需要特別考慮。
另一個選項是S3傳輸加速,它選擇性地透過 AWS「邊緣網路」(換句話說,CloudFront運輸網絡)沒有任何實際的快取。在孟買,下載費用為 0.04 美元/GB + 0.1093 美元/GB。這樣做的優點是瀏覽器有可能連接到邊緣位置的伺服器,該伺服器代理從那裡返回 S3 的連線。這會導致流量在移交給公共 Internet 之前在 AWS 網路上傳輸盡可能遠的距離,從而可以透過優化傳輸並在靠近檢視者的中間位置處理封包遺失來顯著縮短傳輸時間。使用 S3 傳輸加速時,CloudFront 用於將請求發送到最近邊緣的 DNS 邏輯將改為用於確定將給定檢視器連接回 S3 區域的最佳方式 - 因此它可以將用戶直接連接到 S3(在這種情況下,您不會因該請求的加速功能而被收取0.04 美元/GB 的頻寬費,或者它可能會透過邊緣網路路由它(在這種情況下,您會這樣做)。這裡的想法是,根據請求者相對於儲存桶的地理位置,該功能會自動繞過它本身不會有幫助的請求。當您在儲存桶上啟用此功能時,您也可以將儲存桶端點變更為bucket-name.s3-accelerate.amazonaws.com
。它僅支援 REST 接口,不支援網站託管功能,但如果您不使用重定向和索引文件等功能,這也沒有問題。考慮到您所在的地理位置以及那裡頻寬定價的特殊性,這可能是一個不錯的起點。