避免的應用程序對EB的應用程序更新的靜態文件重新下載我們的項目中包含來自Amazon S3的應用程序下載彈性魔豆在部署過程中的靜態文件的多千兆量(使用.ebextensions/*配置文件。) ,因此將新服務器實例部署到集羣和/或應用程序版本更新需要很長時間,所以我們甚至需要認真增加部署超時。AWS彈性魔豆:通過緩存
這些文件位於應用程序目錄內,並且隨着EB重新構建應用程序版本更新的主要應用程序目錄,部署過程再次將所有靜態文件從S3再次下載到每個應用程序更新的新創建的目錄,從而增加部署時間並生成不必要的交通費用。
理念是通過持有的靜態文件緩存副本的應用程序目錄之外,以防止這種重新下載,只是(如有的靜態文件被更改或刪除對S3的情況下)與S3同步其上部署有:
aws s3 sync s3://bucket/staicfiles path/to/local/cached/staticfiles --delete
,然後只是移動/從這個緩存目錄的新部署的目錄拷貝文件。
- 是否有任何其他的想法/最佳做法來防止更新時重新下載靜態文件?
- 有沒有亞馬遜的Linux推薦目錄中是不會被系統影響或部署過程中用戶緩存文件?
感謝您的回答。 - 1.我們已經在使用.ebextensions/*。config文件 - 這就是我們如何從部署中的s3下載文件。 - 2.不,我們提供來自Amazon CloudFront的圖像,js,css,這些靜態文件(我們在應用程序目錄中需要)是與應用程序相關的文件。 – Kainax
酷 - 感謝您提供更多信息。大多數EB容器使用'/ var/app/ondeck /'構建應用程序,然後在將其翻轉爲'/ var/app/current'時將其翻轉爲活動版本。任何你想運行你的S3同步到其他文件夾(我建議類似/ opt或/ srv)應該沒問題。 – ballpointcarrot