設定 Lambda 函數的檔案系統存取權 - AWS Lambda

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

設定 Lambda 函數的檔案系統存取權

您可以設定將 Amazon 彈性檔案系統 (AmazonEFS) 檔案系統掛載到本機目錄的函數。透過 AmazonEFS,您的函數程式碼可以在高度並行的情況下安全地存取和修改共用資源。

執行角色和使用者許可

如果檔案系統沒有使用者設定 AWS Identity and Access Management (IAM) 原則,會EFS使用預設原則,授與任何可使用檔案系統掛載目標連線至檔案系統之用戶端的完整存取權。如果檔案系統具有使用者設定的IAM策略,則函數的執行角色必須具有正確的elasticfilesystem權限。

執行角色許可
  • 彈性文件系統:ClientMount

  • 彈性文件系統:ClientWrite (只讀連接不需要)

這些權限包含在AmazonElasticFileSystemClientReadWriteAccess受管理的策略中。此外,您的執行角色必須具有連線至檔案系統所需的權限VPC

設定檔案系統時,Lambda 會使用您的許可來驗證掛載目標。若要設定函數以連線至檔案系統,您的使用者需要下列許可:

使用者權限
  • 彈性文件系統:DescribeMountTargets

設定檔案系統和存取點

在 Amazon 中建立檔案系統,並在功能連接的每個可用區域中EFS使用掛載目標。為了提高效能和彈性,請至少使用兩個可用區域。例如,在簡單的配置中,您可以在不同的可用區域中VPC具有兩個私有子網路。此函數連線到兩個子網路,每個子網路都有可用的掛載目標。確定功能和掛載目標所使用的安全性群組允許NFS流量 (連接埠 2049)。

注意

建立檔案系統時,您選擇稍後無法變更的效能模式。一般用途模式具有較低的延遲時間,而最大 I/O 模式支援更高的最大輸送量和IOPS. 如需選擇協助,請參閱 Amazon 彈性檔案系統使用者指南中的 Amazon EFS 效能。

存取點會將函數的每個執行個體連線至可用區域連線到的正確掛載目標。為了獲得最佳效能,請使用非根路徑建立存取點,並限制您在每個目錄中建立的檔案數目。下列範例會在檔案系統上建立名為 my-function 的目錄,並將擁有者 ID 設為 1001,具有標準目錄許可 (755)。

範例 存取點組態
  • 名稱files

  • 使用者 ID1001

  • 群組 ID1001

  • 路徑/my-function

  • 許可755

  • 擁有者使用者 ID1001

  • 群組使用者 ID1001

當函數使用存取點時,會提供使用者 ID 1001,並具有目錄的完整存取權。

如需詳細資訊,請參閱 Amazon Elastic File System 使用者指南中的下列主題。

連線至檔案系統 (主控台)

一個函數通過本地網絡連接到一個文件系統VPC。函數所連接的子網路可以是包含檔案系統掛載點的相同子網路,也可以是相同可用區域中的子網路,可將NFS流量 (連接埠 2049) 路由到檔案系統。

注意

如果您的函數尚未連接到 aVPC,請參閱讓 Lambda 函數存取 Amazon 中的資源 VPC

設定檔案系統存取權
  1. 開啟 Lambda 主控台中的 函數頁面

  2. 選擇一個函數。

  3. 選擇 組態 ,然後選擇 檔案系統

  4. 檔案系統 中,選擇 新增檔案系統

  5. 設定下列屬性:

    • EFS檔案系統 — 相同檔案系統的存取點VPC。

    • Local mount path (本機掛載路徑) - 檔案系統掛載於 Lambda 函數 (以 /mnt/ 開頭) 的位置。

定價

Amazon 會針對儲存和輸送量EFS收取費用,而費率會因儲存類別而有所不同。如需詳細資訊,請參閱 Amazon EFS 定價

Lambda 收取之間資料傳輸的費用VPCs。這僅適用於您的函數與具VPC有文件系統的另一VPC個函數對等時。這些費率與在同一區域之間傳輸 Amazon EC2 資料VPCs的費率相同。如需詳細資訊,請參閱 Lambda 定價