Amazon-Web-Services
我在 AWS AutoScaling Group 中的什麼位置儲存數據?
我一直在 AWS 上使用Bitnami 多層 WordPress堆棧。
我知道如何在 AWS 上使用自動縮放,但是沒有任何文件告訴我在使用 WordPress 之類的東西時在哪裡儲存可變數據文件。
數據庫在 RDS 上,所以這不是問題,上傳的靜態文件可以保存在 S3 或 EFS 上。延遲不會成為問題,因為靜態文件將位於 CloudFront CDN 上。
我不確定如何處理該
wp-content/plugins
目錄,因為 WordPress 管理員將更改那裡的數據,因此它不能只是 AMI 的一部分。**此頁面*在“甚至不要考慮從 EFS 執行應用程式碼”*下說,由於延遲,這些文件不應位於 EFS 上。
那麼是否應該使用 EC2 引導腳本或類似的東西將這些文件從 EFS 複製到新實例?我想我可以使用 rsync 或 aws-cli 嗎?
或者我應該通過生命週期鉤子或 Lambda 來執行此操作?
這不可能是一個不尋常的情況,所以我很驚訝找到有關此的任何資訊是多麼困難。
您的網站有多忙?對於 EFS 提供的中小型企業 WordPress 網站應該足夠好。
從那開始,看看你怎麼走。如果你發現它太慢了,你有很多選擇:
- 確保您使用具有高且一致的網路吞吐量的EC2 實例類型。EFS 性能取決於實例網路性能,因此預算 T2/T3 實例類型不會表現良好。
- EFS 性能取決於儲存的數據量 - 您儲存的數據越多,它們為您提供的吞吐量就越高。一種選擇是創建一個大的虛擬文件(幾 GB 大小)以增加吞吐量。
- 如果您不希望這樣,您可以為EFS 預置吞吐量付費- 這將提高您的性能,但需要支付一些額外費用。
- 配置PHP Opcache或其他一些 PHP 字節碼記憶體機制。
- 在 Apache / Nginx 配置中配置記憶體和過期標頭。特別是如果您還要從 EFS 提供圖像和 javascript 文件。這將有助於減少訪問您的伺服器的流量 - 進而減少 EFS - 用於永不改變的內容。
- 考慮使用AWS CloudFront作為另一個記憶體層,再次減少伺服器上的負載。
有了上述內容,您應該可以從 EFS 提供網站服務。
希望有幫助:)