搭配 Amazon ECS 使用 Amazon EFS 磁碟區的最佳實務 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

搭配 Amazon ECS 使用 Amazon EFS 磁碟區的最佳實務

當您搭配 Amazon ECS 使用 Amazon EFS 時,請注意下列最佳實務建議。

Amazon EFS 磁碟區的安全性和存取控制

Amazon EFS 提供存取控制功能,您可以用來確保存放在 Amazon EFS 檔案系統中的資料是安全的,並且只能從需要它的應用程式存取。您可以透過啟用靜態和傳輸中加密來保護資料。如需詳細資訊,請參閱 Amazon Elastic File System 使用者指南中的 Amazon EFS 的資料加密

除了資料加密之外,您也可以使用 Amazon EFS 來限制檔案系統的存取。有三種方式可在 EFS 中實作存取控制。

  • 安全群組 - 透過 Amazon EFS 掛載目標,您可以設定用於允許和拒絕網路流量的安全群組。您可以設定連接至 Amazon EFS 的安全群組,以允許來自連接至 Amazon ECS 執行個體之安全群組的 NFS 流量 (連接埠 2049),或使用awsvpc網路模式時允許 Amazon ECS 任務。

  • IAM - 您可以使用 IAM 限制對 Amazon EFS 檔案系統的存取。設定後,Amazon ECS 任務需要 IAM 角色才能讓檔案系統存取以掛載 EFS 檔案系統。如需詳細資訊,請參閱《Amazon Elastic File System File System 使用者指南》中的使用 IAM 控制檔案系統資料存取

    IAM 政策也可以強制執行預先定義的條件,例如要求用戶端在連線至 Amazon EFS 檔案系統時使用 TLS。如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的用戶端的 Amazon EFS 條件金鑰Amazon Elastic File System

  • Amazon EFS 存取點 - Amazon EFS 存取點是 Amazon EFS 檔案系統的應用程式特定進入點。您可以使用存取點對透過存取點提出的所有檔案系統請求強制執行使用者身分,包括使用者的 POSIX 群組。存取點也可以針對檔案系統強制使用不同的根目錄。這是為了讓用戶端只能存取指定目錄中的資料或其子目錄中的資料。

IAM 政策

您可以使用 IAM 政策來控制對 Amazon EFS 檔案系統的存取。

您可以使用檔案系統政策,為存取檔案系統的用戶端指定下列動作。

動作 描述

elasticfilesystem:ClientMount

提供檔案系統的唯讀存取權。

elasticfilesystem:ClientWrite

在檔案系統上提供具有寫入權限。

elasticfilesystem:ClientRootAccess

存取檔案系統時,提供使用根使用者的功能。

您需要在政策中指定每個動作。政策可以透過下列方式定義:

  • 用戶端型 - 將政策連接至任務角色

    在建立任務定義時設定 IAM 授權選項。

  • 資源型 - 將政策連接至 Amazon EFS 檔案系統

    如果資源型政策不存在,根據預設,檔案系統建立時會將存取權授予所有委託人 (*)。

當您設定 IAM 授權選項時,我們會合併與任務角色相關聯的政策,以及以 Amazon EFS 資源為基礎的政策。IAM 授權選項會將任務身分 (任務角色) 與政策傳遞給 Amazon EFS。這可讓 Amazon EFS 資源型政策具有政策中指定之 IAM 使用者或角色的內容。如果您未設定 選項,Amazon EFS 資源層級政策會將 IAM 使用者識別為「匿名」。

請考慮在 Amazon EFS 檔案系統上實作這三個存取控制,以獲得最大的安全性。例如,您可以將連接至 Amazon EFS 掛載點的安全群組設定為僅允許來自與容器執行個體或 Amazon ECS 任務相關聯之安全群組的傳入 NFS 流量。此外,您可以設定 Amazon EFS 要求 IAM 角色存取檔案系統,即使連線來自允許的安全群組。最後,您可以使用 Amazon EFS 存取點來強制執行 POSIX 使用者許可,並指定應用程式的根目錄。

下列任務定義程式碼片段說明如何使用存取點掛載 Amazon EFS 檔案系統。

"volumes": [ { "efsVolumeConfiguration": { "fileSystemId": "fs-1234", "authorizationConfig": { "accessPointId": "fsap-1234", "iam": "ENABLED" }, "transitEncryption": "ENABLED", "rootDirectory": "" }, "name": "my-filesystem" } ]

Amazon EFS 磁碟區效能

Amazon EFS 提供兩種效能模式:一般用途和最大 I/O。 一般用途適用於延遲敏感的應用程式,例如內容管理系統和 CI/CD 工具。相反地,Max I/O 檔案系統適用於資料分析、媒體處理和機器學習等工作負載。這些工作負載需要從數百甚至數千個容器執行平行操作,並且需要盡可能最高的彙總輸送量和 IOPS。如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的 Amazon EFS 效能模式Amazon Elastic File System

有些延遲敏感工作負載需要最高 I/O 效能模式提供的較高 I/O 層級,以及一般用途效能模式提供的較低延遲。對於這類工作負載,我們建議建立多個一般用途效能模式的檔案系統。如此一來,只要工作負載和應用程式可以支援,您就可以將應用程式工作負載分散到所有這些檔案系統。

Amazon EFS 磁碟區輸送量

所有 Amazon EFS 檔案系統都有相關聯的計量輸送量,取決於使用佈建輸送量之檔案系統的佈建輸送量,或使用爆量輸送量之檔案系統的 EFS 標準或單區域儲存類別中存放的資料量。如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的了解計量輸送量

Amazon EFS 檔案系統的預設輸送量模式為爆量模式。使用爆量模式時,檔案系統可用的輸送量會隨著檔案系統成長而向內或向外擴展。由於檔案型工作負載通常會遽增,在一段時間內需要高水準的輸送量,而在其餘時間內需要低水準的輸送量,因此 Amazon EFS 旨在爆量,以允許在一段時間內高輸送量水準。此外,由於許多工作負載是讀取密集型工作負載,因此讀取操作會以與其他 NFS 操作 (例如寫入) 的 1:3 比率計量。

所有 Amazon EFS 檔案系統為每個 TB 的 Amazon EFS Standard 或 Amazon EFS One Zone 儲存提供 50 MB/s 的一致基準效能。所有檔案系統 (無論大小) 都可以爆量至 100 MB/s。EFS Standard 或 EFS One Zone 儲存體超過 1TB 的檔案系統,每個 TB 的爆量可達 100 MB/s。由於讀取操作是以 1:3 的比率計量,因此每個 MiBs/s。 TiB 當您將資料新增至檔案系統時,檔案系統可用的最大輸送量會隨著 Amazon EFS 標準儲存類別中的儲存量線性且自動擴展。如果您需要的輸送量超過儲存資料量所能達到的輸送量,您可以將佈建的輸送量設定為工作負載所需的特定數量。

檔案系統輸送量會在連接到檔案系統的所有 Amazon EC2 執行個體之間共用。例如,可以爆量至 100 MB/s 輸送量的 1TB 檔案系統可以從單一 Amazon EC2 執行個體驅動 100 MB/s,每個執行個體可以驅動 10 MB/s。如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的 Amazon EFS 效能Amazon Elastic File System

最佳化 Amazon EFS 磁碟區的成本

Amazon EFS 可為您簡化擴展儲存。當您新增更多資料時,Amazon EFS 檔案系統會自動成長。特別是使用 Amazon EFS 爆量輸送量模式時,Amazon EFS 上的輸送量會隨著標準儲存類別中檔案系統的大小增加而擴展。若要改善傳輸量,而無需為 EFS 檔案系統上的佈建傳輸量支付額外費用,您可以與多個應用程式共用 Amazon EFS 檔案系統。使用 Amazon EFS 存取點,您可以在共用的 Amazon EFS 檔案系統中實作儲存隔離。如此一來,即使應用程式仍然共用相同的檔案系統,他們也無法存取資料,除非您授權。

隨著資料成長,Amazon EFS 可協助您自動將不常存取的檔案移至較低的儲存類別。Amazon EFS Standard-Infrequent Access (IA) 儲存類別可降低未每天存取之檔案的儲存成本。這樣做不會犧牲 Amazon EFS 提供的高可用性、高耐用性、彈性和 POSIX 檔案系統存取。如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的 EFS 儲存類別

考慮使用 Amazon EFS 生命週期政策,透過將不常存取的檔案移至 Amazon EFS IA 儲存體來自動節省成本。如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的 Amazon EFS 生命週期管理

建立 Amazon EFS 檔案系統時,您可以選擇 Amazon EFS 是否跨多個可用區域 (標準) 複寫您的資料,或將您的資料以備援方式存放在單一可用區域內。與 Amazon EFS 標準儲存類別相比,Amazon EFS 單區域儲存類別可以大幅降低儲存成本。對於不需要多可用區域彈性的工作負載,請考慮使用 Amazon EFS 單區域儲存類別。您可以將不常存取的檔案移至 Amazon EFS 單區域不常存取,以進一步降低 Amazon EFS 單區域儲存的成本。如需詳細資訊,請參閱 Amazon EFS 不頻繁存取

Amazon EFS 磁碟區資料保護

Amazon EFS 會使用標準儲存類別,在檔案系統的多個可用區域中以備援方式存放您的資料。如果您選取 Amazon EFS 單區域儲存類別,您的資料會以備援方式存放在單一可用區域內。此外,Amazon EFS 旨在提供特定年份 99.999999999% (11 9) 的耐用性。

如同任何環境,最佳實務是備份和建置防止意外刪除的防護措施。對於 Amazon EFS 資料,該最佳實務包含正常運作、定期測試的備份 AWS Backup。除非您選擇停用此功能,否則使用 Amazon EFS One Zone 儲存類別的檔案系統會設定為在建立檔案系統時依預設自動備份檔案。如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的備份 EFS 檔案系統。 Amazon Elastic File System