本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EFS 磁碟區
Amazon Elastic File System EFS) 提供簡單、可擴展的全受管的彈性 NFS 檔案系統。它是為了能夠根據需求擴充到 PB,而不會中斷應用程式。它可以在您新增和移除檔案時縮放或縮小。
您可以使用 Amazon EFS 磁碟區提供永久性儲存,在 Amazon ECS 中執行可設定狀態的應用程式。在 Amazon EC2 執行個體上或使用平台版本在 Fargate 上執行的 Amazon ECS 任務1.4.0
和更新版本可以掛載現有 Amazon EFS 檔案系統。由於多個容器可以同時裝載和存取 Amazon EFS 檔案系統,因此無論其託管位置為何,您的任務都可以存取相同的資料集。
要在您的容器中掛載 Amazon EFS 檔案系統,您可以參考 Amazon ECS 任務定義中的 Amazon EFS 檔案系統和容器掛載點。以下是任務定義的程式碼片段,此程式碼片段會使用 Amazon EFS 進行容器儲存。
... "containerDefinitions":[ { "mountPoints": [ { "containerPath": "/opt/my-app", "sourceVolume": "Shared-EFS-Volume" } } ] ... "volumes": [ { "efsVolumeConfiguration": { "fileSystemId": "fs-1234", "transitEncryption": "DISABLED", "rootDirectory": "" }, "name": "Shared-EFS-Volume" } ]
Amazon EFS 會跨單一區域內的數個可用區域存放資料。Amazon ECS 任務會在其可用區域中使用 Amazon EFS 掛載目標來掛載 Amazon EFS 檔案系統。只有在 Amazon EFS 檔案系統在執行任務的可用區域中有掛載目標時,Amazon ECS 任務才能掛載 Amazon EFS 檔案系統。因此,最佳做法是在計劃在其中託管 Amazon ECS 任務的所有可用區域中建立 Amazon EFS 掛載目標。

如需詳細資訊,請參閱「」Amazon EFS 磁碟區中的Amazon Elastic Container Service 開發者指南。
安全性與存取控制
Amazon EFS 提供存取控制功能,可讓您使用這些功能確保儲存在 Amazon EFS 檔案系統中的資料安全無虞,且只能從需要的應用程式存取。您可以啟用靜態和傳輸中加密來保護資料的安全。如需詳細資訊,請參閱「」Amazon EFS 的資料加密中的Amazon Elastic File System 使用指南。
除了資料加密之外,您還可以使用 Amazon EFS 限制對檔案系統的存取。有三種方法可以實作 EFS 存取控制。
-
安全群組— 使用 Amazon EFS 掛載目標,您可以設定用來允許和拒絕網路流量的安全群組。您可以配置連接到 Amazon EFS 的安全群組,以允許連接到 Amazon ECS 執行個體的安全群組中的 NFS 流量 (連接埠 2049),或在使用
awsvpc
網路模式,執行亞馬遜 ECS 任務。 -
IAM— 您可以使用 IAM 限制存取 Amazon EFS 檔案系統。設定後,Amazon ECS 任務需要 IAM 角色來存取檔案系統,才能掛載 EFS 檔案系統。如需詳細資訊,請參閱「」使用 IAM 控制檔案系統資料存取中的Amazon Elastic File System 使用指南。
IAM 政策還可以強制執行預先定義的條件,例如要求用戶端在連線到 Amazon EFS 檔案系統時使用 TLS。如需詳細資訊,請參閱「」用戶端的亞馬遜 EFS 條件金鑰中的Amazon Elastic File System 使用指南。
-
Amazon EFS 存取點Amazon EFS 存取點是 Amazon EFS 檔案系統中的應用程式特定進入點。您可以針對透過存取點提出的所有檔案系統要求,使用存取點來強制執行使用者身分 (包括使用者的 POSIX 群組)。存取點也可以針對檔案系統強制執行不同的根目錄。這樣做可讓用戶端只能存取指定目錄或其子目錄中的資料。
考慮在 Amazon EFS 檔案系統上實作所有三種存取控制,以達到最大的安全性。例如,您可以將連接到 Amazon EFS 掛載點的安全群組設定為僅允許從與您的容器執行個體或 Amazon ECS 任務相關聯的安全群組進入 NFS 流量。此外,您可以將 Amazon EFS 設定為要求具有 IAM 角色才能存取檔案系統,即使連線來自允許的安全群組。最後,您可以使用 Amazon EFS 存取點強制執行 POSIX 使用者權限,並指定應用程式的根目錄。
以下任務定義程式碼片段示範如何使用存取點掛載 Amazon EFS 檔案系統。
"volumes": [ { "efsVolumeConfiguration": { "fileSystemId": "
fs-1234
", "authorizationConfig": { "acessPointId": "fsap-1234
", "iam": "ENABLED" }, "transitEncryption": "ENABLED", "rootDirectory": "" }, "name": "my-filesystem
" } ]
Performance
亞馬遜 EFS 提供兩種效能模式:一般用途和最大 I/O。一般用途適用於對延遲敏感的應用程式,例如內容管理系統和 CI/CD 工具。相較之下,Max I/O 檔案系統適用於工作負載,例如資料分析、媒體處理和機器學習。這些工作負載需要從數百甚至數千個容器執行平行作業,並且需要最高的彙總輸送量和 IOPS。如需詳細資訊,請參閱「」Amazon EFS 效能模式中的Amazon Elastic File System 使用指南。
某些對延遲敏感的工作負載需要最高 I/O 效能模式提供的較高 I/O 層級,以及一般用途效能模式提供的較低延遲。對於這類工作負載,我們建議建立多個一般用途效能模式的檔案系統。如此一來,只要工作負載和應用程式可以支援以下做法,您就可以將應用程式工作負載分攤到所有這些檔案系統中。
Throughput
所有 Amazon EFS 檔案系統都有相關聯的計量輸送量,這些輸送量取決於使用佈建輸送量或儲存在 EFS 標準或單一區域儲存類別中的資料量,適用於使用高載傳送量。如需詳細資訊,請參閱「」了解計量傳送量中的Amazon Elastic File System 使用指南。
Amazon EFS 檔案系統的預設輸送量模式是高載模式。使用成組分解模式時,檔案系統可用的輸送量會隨著檔案系統的成長而擴充或擴充。由於檔案型工作負載通常會突增,所以 Amazon EFS 的設計成突增,其他時間的傳輸量需要高傳輸量層級,所以 Amazon EFS 的設計成突增,以允許一段時間內的傳輸量層級。此外,由於許多工作負載都是大量讀取,因此讀取作業的計量比例與其他 NFS 作業 (例如寫入) 以 1:3 的比例計量。
對於每 TB 的 Amazon EFS 標準或 Amazon EFS 單區域儲存,所有 Amazon EFS 檔案系統都能提供每秒 50 MB 的一致基準效能。所有檔案系統 (不論大小為何) 都可以高載到 100 MB/s。具有 1TB 以上的 EFS 標準或 EFS 單一區域儲存的檔案系統,每 TB 都可以高載到每秒 100 MB。由於讀取作業是以 1:3 比率計量,因此每個 TiB 的讀取輸送量最多可驅動 300 MIBS/s。當您將資料新增至檔案系統時,檔案系統可用的最大輸送量會隨著 Amazon EFS Standard 儲存類別中的儲存而自動進行線性擴展。如果您需要的輸送量超過儲存資料量所能達到的輸送量,您可以將佈建輸送量設定為工作負載所需的特定數量。
檔案系統輸送量在連接到檔案系統的所有 Amazon EC2 執行個體之間共享。例如,可高載量達每秒 100 MB 的 1TB 檔案系統,可從單一 Amazon EC2 執行個體驅動每秒 100 MB 的檔案系統,每個執行個體都可以驅動每秒 10 MB。如需詳細資訊,請參閱「」Amazon EFS 效能中的Amazon Elastic File System 使用指南。
成本最佳化
Amazon EFS 為您簡化了擴展儲存。當您新增更多資料時,Amazon EFS 檔案系統會自動成長。尤其是 Amazon EFS高載傳送量模式中,Amazon EFS 上的輸送量會隨著標準儲存類別中的檔案系統大小來擴展。若要改善輸送量,而不需支付 EFS 檔案系統上佈建輸送量的額外成本,您可以與多個應用程式共用 Amazon EFS 檔案系統。使用 Amazon EFS 存取點,您可以在共用的 Amazon EFS 檔案系統中實作儲存隔離。如此一來,即使應用程式仍然共用相同的檔案系統,除非您授權,否則他們無法存取資料。
隨著資料成長,Amazon EFS 可協助您自動將不常存取的檔案移至較低的儲存類別。Amazon EFS 標準不常存取 (IA) 儲存類別可讓不會每天存取的檔案節省儲存成本。它執行此操作同時又維持 Amazon EFS 所提供的高可用性、高耐用性、彈性以及 POSIX 檔案系統存取。如需詳細資訊,請參閱「」Amazon EFS 儲存類別中的Amazon Elastic File System 使用指南。
考慮使用 Amazon EFS 生命週期政策,藉由將不常存取的檔案移至 Amazon EFS IA 儲存體,自動節省成本。如需詳細資訊,請參閱「」Amazon EFS 生命週期管理中的Amazon Elastic File System 使用指南。
建立 Amazon EFS 檔案系統時,您可以選擇 Amazon EFS 是否跨多個可用區域 (標準) 複寫您的資料,還是將資料以備援方式存放在單一可用區域中。與 Amazon EFS 標準儲存類別相比,Amazon EFS 單一區域儲存類別可以大幅降低儲存成本。考慮針對不需要異地同步備份恢復能力的工作負載使用 Amazon EFS One 區域儲存類別。您可以將不常存取的檔案移至 Amazon EFS 一區域不常存取,進一步降低 Amazon EFS 一區域儲存的成本。如需詳細資訊,請參閱「」Amazon EFS 不常存取
資料保護
Amazon EFS 使用標準儲存類別,將您的資料跨多個可用區域存放在檔案系統的冗餘區域。如果您選取 Amazon EFS One 區域儲存類別,您的資料會以冗餘方式儲存在單一可用區域中。此外,Amazon EFS 的設計目的是在指定年份內提供 99.999999999% (11 9) 的耐用性。
與任何環境一樣,最佳做法是有備份並建置防止意外刪除的防護措施。對於 Amazon EFS 資料,最佳做法包括使用AWS Backup。使用 Amazon EFS One Zone 儲存類別的檔案系統預設會在建立檔案系統時自動備份檔案,除非您選擇停用此功能。如需詳細資訊,請參閱「」Amazon EFS 的資料保護中的Amazon Elastic File System 使用指南。
使用案例
Amazon EFS 提供平行共用存取,此存取會隨著檔案新增和移除來自動成長和縮減。因此,Amazon EFS 適合任何需要具有低延遲、高輸送量和寫入後讀取一致性等功能的儲存應用程式。對於水平擴展且需要共用檔案系統的應用程式,Amazon EFS 是理想的儲存後端。資料分析、媒體處理、內容管理和 Web 服務等工作負載都是 Amazon EFS 使用案例。
Amazon EFS 可能不適合的一個使用案例是針對需要亞毫秒延遲的應用程式。這通常是交易式資料庫系統的要求。建議您執行儲存效能測試,以判斷使用 Amazon EFS 對於延遲敏感應用程式的影響。如果使用 Amazon EFS 時應用程式效能下降,請考慮使用 Amazon EBS io2 區塊 Express,該區塊 Express 會在 Nitro 執行個體上提供次毫秒、低變異 I/O 延遲。如需詳細資訊,請參閱「」Amazon EBS 磁碟區類型中的Amazon EC2 Linux 執行個體使用者指南。
如果某些應用程式的基礎儲存體意外變更,則會失敗。因此,Amazon EFS 不是這些應用程式的最佳選擇。相反,您可能更喜歡使用不允許從多個地方並發訪問的存儲系統。