本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配 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 任務若需掛載 EFS 檔案系統,必須具備用於檔案系統存取的 IAM 角色。如需詳細資訊,請參閱 Amazon Elastic File System User Guide 中的 Using IAM to control file system data access。
IAM 政策也能強制執行預先定義的條件,例如要求用戶端在連線至 Amazon EFS 檔案系統時使用 TLS。如需詳細資訊,請參閱 Amazon Elastic File System User Guide 中的 Amazon EFS condition keys for clients。
-
Amazon EFS 存取點:Amazon EFS 存取點是應用程式專用於存取 Amazon EFS 檔案系統的進入點。您可以使用存取點為所有透過該存取點發出的檔案系統請求,強制執行使用者身分 (包括使用者的 POSIX 群組)。存取點也可以針對檔案系統強制使用不同的根目錄。如此一來,用戶端只能存取指定目錄或其子目錄中的資料。
IAM 政策
您可透過 IAM 政策控制對 Amazon EFS 檔案系統的存取。
您可以使用檔案系統政策,為存取檔案系統的用戶端指定下列動作。
| Action | Description |
|---|---|
|
|
提供檔案系統的唯讀存取權。 |
|
|
在檔案系統上提供具有寫入權限。 |
|
|
存取檔案系統時,提供使用根使用者的功能。 |
您需要在政策中指定每個動作。這些政策可透過下列方式定義:
-
基於用戶端 – 將政策連接至任務角色
在建立任務定義時設定 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 工具。相對地,最大 I/O 檔案系統則適用於資料分析、媒體處理與機器學習等工作負載。這類工作負載需要透過數百甚至數千個容器執行平行操作,並且需要盡可能高的彙總輸送量與 IOPS。如需詳細資訊,請參閱 Amazon Elastic File System User Guide 中的 Amazon EFS performance modes。
部分對延遲敏感的工作負載,既需要最大 I/O 效能模式提供的較高 I/O 等級,也需要一般用途效能模式提供的較低延遲。對於這類工作負載,我們建議建立多個一般用途效能模式的檔案系統。只要工作負載與應用程式本身支援,您就能透過這種方式,將應用程式工作負載分散至所有這些檔案系統中。
Amazon EFS 磁碟區輸送量
所有 Amazon EFS 檔案系統皆有對應的計量輸送量,其數值取決於採用的輸送量模式:若是使用佈建輸送量的檔案系統,則取決於佈建輸送量的數量;若是使用爆量輸送量的檔案系統,則取決於儲存在 EFS Standard 或 One Zone 儲存類別中的資料量。如需詳細資訊,請參閱 Amazon Elastic File System User Guide 中的 Understanding metered throughput。
Amazon EFS 檔案系統預設的輸送量模式為爆量模式。使用爆量模式時,隨著檔案系統的成長,檔案系統可用的輸送量會隨之橫向擴充或縮減。由於檔案型工作負載通常會遽增,即在特定時間段需要高輸送量,其餘時間則只需低輸送量,因此 Amazon EFS 設計了爆量機制,可在特定時間段提供高輸送量。此外,因許多工作負載以讀取為主,故讀取操作的計量比例不同於其他 NFS 操作 (如寫入操作),兩者計量比例為 1:3。
所有 Amazon EFS 檔案系統,針對每 TB 的 Amazon EFS Standard 或 Amazon EFS One Zone 儲存空間,皆能提供 50 MB/s 的穩定基准效能。無論容量大小,所有檔案系統皆可爆量至 100 MB/s 的輸送量。而超過 1 TB EFS Standard 或 EFS One Zone 儲存空間的檔案系統,每 TB 儲存空間可爆量至 100 MB/s 輸送量。由於讀取操作採用 1:3 的計量比例,每 TiB 儲存空間可支援高達 300 MiB/s 的讀取輸送量。在將資料新增至檔案系統時,檔案系統可使用的最大輸送量會隨著 Amazon EFS Standard 儲存類別中的儲存容量,自動呈線性擴展。若需要的輸送量超過以所儲存資料量能提供的輸送量,您可將佈建輸送量設定為工作負載所需的特定量。
檔案系統輸送量會由連線至同一檔案系統的所有 Amazon EC2 執行個體共用。例如,一個可爆量至 100 MB/s 輸送量的 1 TB 檔案系統,既可以由單個 Amazon EC2 執行個體獨占 100 MB/s 輸送量,也可以由 10 個 Amazon EC2 執行個體分用 (即每個執行個體各占用 10 MB/s)。如需詳細資訊,請參閱 Amazon Elastic File System User Guide 中的 Amazon EFS performance。
最佳化 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 User Guide 中的 EFS storage classes。
建議使用 Amazon EFS 生命週期政策,透過自動將不常存取的檔案移至 Amazon EFS IA 儲存類別來節省成本。如需詳細資訊,請參閱《Amazon Elastic File System 使用者指南》中的 Amazon EFS 生命週期管理。
建立 Amazon EFS 檔案系統時,您可選擇讓 Amazon EFS 將資料跨多個可用區域複寫 (對應 Standard 儲存類別),或在單一可用區域內以備援方式儲存資料。相較於 Amazon EFS Standard 儲存類別,Amazon EFS One Zone 儲存類別能大幅降低儲存成本。若工作負載不需要多可用區域的復原能力,建議使用 Amazon EFS One Zone 儲存類別。您可以將不常存取的檔案移至 Amazon EFS One Zone-Infrequent Access,進一步降低 Amazon EFS One Zone 儲存的成本。如需詳細資訊,請參閱 Amazon EFS 不頻繁存取
Amazon EFS 磁碟區資料保護
使用 Standard 儲存類別的 Amazon EFS 檔案系統,會以備援方式跨多個可用區域儲存資料。如果選取 Amazon EFS One Zone 儲存類別,則會以備援方式將資料儲存於單一可用區域內。此外,Amazon EFS 在設計上可提供每年 99.999999999% (11 個 9) 的資料持久性。
如同任何環境,建立備份並建置防誤刪防護措施是最佳實務。對於 Amazon EFS 資料,該最佳實務包括正常運作、定期測試的備份 AWS Backup。依預設,建立使用 Amazon EFS One Zone 儲存類別的檔案系統時,系統會將其設定為自動備份檔案,除非您選擇停用此功能。如需詳細資訊,請參閱 Amazon Elastic File System User Guide 中的 Backing up EFS file systems。