2011-10-21 162 views
2

我最近設置了一個利用Amazon Cloudfront分發非常大文件的新網站,但亞馬遜目前向我的服務器提出如此多的請求,以至於我的整個網站都停滯不前。限制Amazon AWS Cloudfront

我要指出,我不使用S3,CloudFront的是直接連接到我的服務器。

我有一個100MB的數據連接,我試圖分發文件是兩個3GB的文件。但是,如果我在ssh中運行iftop,亞馬遜IP地址似乎佔用了每一行,可能試圖將同一文件緩存到多個不同的服務器,並且它們似乎正在使用我的整個連接。

反正是有限制CloudFront的說10MB的或更小的連接?

回答

5

你確定你正確設置緩存頭爲您的文件? CloudFront尊重ExpiresCache-Control標題,您可以使用它來擴展和減少文件被認爲有效的時間。將Cache-Control: public, max-age=86400添加到您的響應標題將導致邊緣服務器緩存您的文件高達一天(86400秒)。

另一個要注意的是,邊緣服務器具有有限的存儲容量來緩存文件。鑑於保留半頻率使用的10GB文件和頻率較低的10KB文件之間的選擇,亞馬遜可能會選擇刪除10GB文件以便爲更多客戶提供服務。如果可能的話,考慮減小你的對象大小以避免被清除。

2

如果你只有2個大文件,這些文件不經常改變,爲什麼不把它們在S3中,使該桶的來源爲CloudFront的分佈?然後,您只需一次通過Internet連接傳輸文件,而不必擔心與分發這些文件相關的任何基礎結構。

+0

目前只有兩個文件,因爲它剛剛啓動,但新文件將被添加所有的時間和額外的上傳到網站,然後上傳到S3,這是我想避免的。加上S3 – robjbrain

+0

的額外費用,但是也許您的ISP將爲您的出口流量收取額外的費用,或者只是在達到限制時關閉您的網站。 S3的額外成本只是額外流量成本的一小部分。另外,如果我記得,從S3到雲前沿的出口交通是免費的。每一種情況都不一樣,需要做數學。 – JrBenito