本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用 Amazon Elastic File System (Amazon EFS) 來建立網路檔案系統,多個可用區域中的執行個體可掛載這些檔案系統。Amazon EFS 檔案系統是一種 AWS 資源,使用安全群組來控制對您預設或自訂 VPC 中網路的存取。
在 Elastic Beanstalk 環境中,您可以使用 Amazon EFS 來建立共用的目錄,供您的應用程式儲存使用者上傳和修改的檔案。您的應用程式可以處理掛載的 Amazon EFS 磁碟區,例如本機儲存體。這樣一來,您就不需為了擴展成多個執行個體而變更應用程式的程式碼。
如需 Amazon EFS 的詳細資訊,請參閱 Amazon Elastic File System 使用者指南。
注意
Elastic Beanstalk 會建立 webapp 使用者,您可以將該使用者設定為 Amazon EC2 執行個體上應用程式目錄的擁有者。如需詳細資訊,請參閱本指南的設計考量主題中的持久性儲存。
組態檔案
Elastic Beanstalk 提供組態檔案,可用來建立和掛載 Amazon EFS 檔案系統。您可以建立 Amazon EFS 磁碟區來做為您環境的一部分,或是掛載您在 Elastic Beanstalk 以外另行建立的 Amazon EFS 磁碟區。
-
storage-efs-createfilesystem.config
- 使用 Resources
金鑰,來在 Amazon EFS 中建立新的檔案系統和掛載點。您環境中的所有執行個體,都可以連接到相同的檔案系統,來使用共用、可擴展的儲存空間。請使用storage-efs-mountfilesystem.config
,來在每個執行個體上掛載檔案系統。內部資源
您使用組態檔案建立的任何資源都會與您環境的生命週期連結。如果您終止環境或移除組態檔案,就會失去這些資源。
-
storage-efs-mountfilesystem.config
- 將 Amazon EFS 檔案系統,掛載到您環境中執行個體上的本機路徑。您可以在環境中使用 storage-efs-createfilesystem.config
建立磁碟區。或者,您可以使用 Amazon EFS 主控台 AWS CLI或 AWS SDK 將其掛載到您的環境。
若要使用組態檔案,請先利用 storage-efs-createfilesystem.config
來建立 Amazon EFS 檔案系統。遵循組態檔案中的指示,並將組態檔案加入您原始程式碼中的 .ebextensions 目錄,以在您的 VPC 中建立檔案系統。
將更新的原始碼部署到您的 Elastic Beanstalk 環境,以便確認檔案系統是否建立成功。然後,加入 storage-efs-mountfilesystem.config
,以將檔案系統掛載到您環境中的執行個體。在兩個不同的部署中執行此操作,可確保掛載操作失敗時,檔案系統不會受到影響。如果在同一個部署中執行這兩項操作,則任何一個步驟所發生的問題,都會造成檔案系統在部署失敗時終止。
加密的檔案系統
Amazon EFS 支援加密的檔案系統。本主題中所討論的 storage-efs-createfilesystem.config
範例應用程式
Elastic Beanstalk 也提供範例應用程式,這些應用程式使用 Amazon EFS 來共用儲存。兩個專案包括可以搭配標準 WordPress 使用的組態檔案,或是 Drupal 安裝程式,此程式可在負載平衡的環境中,執行部落格或其他內容管理系統。當使用者上傳相片或其他媒體時,檔案會儲存在 Amazon EFS 檔案系統中。這樣可以避免使用替代方案,也就是使用外掛程式將上傳的檔案存儲在 Amazon S3 中。
-
Load-balanced WordPress
- 包括組態檔案,用來安全地安裝 WordPress,並且在負載平衡的 Elastic Beanstalk 環境中執行。 -
Load-balanced Drupal
– 包括組態檔案與指示,用來安全地安裝 Drupal,並且在負載平衡的 Elastic Beanstalk 環境中執行。
清除檔案系統
如果您在 Elastic Beanstalk 環境中使用組態檔案建立 Amazon EFS 檔案系統,則當您終止環境時,Elastic Beanstalk 會移除檔案系統。為了盡可能降低執行中應用程式的儲存成本,請定期刪除您的應用程式不需要的檔案。或者,請確保應用程式的程式碼正確維護檔案生命週期。
重要
如果您在 Elastic Beanstalk 環境外建立 Amazon EFS 檔案系統,並掛載到環境的執行個體,那麼 Elastic Beanstalk 並不會在您終止環境時移除檔案系統。為了確保不保留個人資訊和降低儲存成本,如果不再需要應用程式存放的檔案,請予以刪除。或者,您可以移除整個檔案系統。