本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Amazon S3 檔案存取
Amazon S3 Files 提供共用檔案系統,可將任何 AWS 運算資源直接與 Amazon S3 中的資料連線。Amazon S3 檔案可讓您使用標準檔案系統操作,例如在本機掛載路徑上讀取和寫入,以檔案形式存取 Amazon S3 物件。進一步了解 Amazon S3 檔案。
先決條件和設定
使用 Lambda 函數設定 Amazon S3 檔案之前,請確定您有下列項目:
-
Amazon S3 檔案系統和掛載目標在與 AWS 區域 Lambda 函數相同的帳戶中處於可用狀態。
-
與掛載目標位於相同 VPC 中的 Lambda 函數。您必須在部署函數的每個子網路中具有掛載目標。
-
允許 Lambda 函數與掛載目標之間 NFS 流量 (連接埠 2049) 的安全群組。進一步了解設定安全群組。
如需詳細資訊,請參閱《Amazon S3 使用者指南》中的下列主題:
執行角色和使用者許可
您函數的執行角色必須具有下列許可,才能存取 Amazon S3 檔案系統:
執行角色許可
-
s3files:ClientMount – 掛載檔案系統時需要。
-
s3files:ClientWrite – 讀取寫入存取的必要項目。唯讀連線不需要。
這些許可包含在 AmazonS3FilesClientReadWriteAccess 受管政策中。此外,您的執行角色必須具有連線至檔案系統的 VPC 所需的許可。
注意
Amazon S3 檔案透過直接從 Amazon S3 讀取來最佳化輸送量。Amazon S3 的直接讀取僅支援設定 512 MB 或更多記憶體的函數。
您的函數也需要下列許可,才能直接從 Amazon S3 讀取:
-
s3:GetObject
-
s3:GetObjectVersion
如需必要許可的詳細資訊,請參閱《Amazon S3 使用者指南》中的 Amazon S3 檔案的 IAM 許可。 Amazon S3
當您在主控台中設定檔案系統時,Lambda 會使用您的許可來驗證掛載目標和存取點。若要設定函數以連線至檔案系統,您的使用者需要下列許可:
使用者許可
-
s3files:ListFileSystems
-
s3files:ListAccessPoints
-
s3files:GetFileSystem
-
s3files:GetAccessPoint
-
s3files:CreateAccessPoint – 如果從主控台將檔案系統連接至 函數,則為必要項目。
下列範例政策授予函數的執行角色許可,以掛載具有讀寫存取權的 Amazon S3 檔案系統,並直接從 Amazon S3 讀取。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3FilesLambdaAccess", "Effect": "Allow", "Action": [ "s3files:ClientMount", "s3files:ClientWrite" ], "Resource": "*" }, { "Sid": "S3DirectRead", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::bucket-name/*" }, { "Sid": "S3FilesConsoleSetup", "Effect": "Allow", "Action": [ "s3files:ListFileSystems", "s3files:ListAccessPoints", "s3files:GetFileSystem", "s3files:GetAccessPoint", "s3files:CreateAccessPoint" ], "Resource": "*" } ] }
連線至檔案系統 (主控台)
此函數會透過 VPC 中的本機網路連線至檔案系統。您的函數連線到的子網路可能是包含檔案系統掛載點的子網路,或同一個可用區域中的子網路,其可將 NFS 流量 (連接埠 2049) 路由至檔案系統。
注意
如果您的函數尚未連線至 VPC,請參閱讓 Lambda 函數存取 Amazon VPC 中的資源。
設定 S3 檔案存取
開啟 Lambda 主控台中的 函數頁面
。 -
選擇一個函數。
-
選擇組態,然後選擇檔案系統。
-
選擇新增檔案系統 (或編輯以修改現有的組態)。
-
選取 S3 檔案。
-
設定下列屬性:
-
S3 檔案系統 – 從下拉式清單中選擇檔案系統。
-
存取點 (選用) – 選擇存取點。如果檔案系統沒有存取點,Lambda 會在儲存時自動建立一個存取點 (UID/GID 1000:1000、根目錄
/lambda、許可 755)。如果存取點存在,您必須選擇一個存取點。 -
Local mount path (本機掛載路徑) - 檔案系統掛載於 Lambda 函數 (以
/mnt/開頭) 的位置。
-
-
選擇儲存。
您的檔案系統將在您下次叫用 Lambda 函數時連接。