

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

# 設定 Lambda 函數的檔案系統存取權
<a name="configuration-filesystem"></a>

您可以設定函數，將 Amazon Elastic File System (Amazon EFS) 檔案系統掛載到本機目錄。使用 Amazon EFS，您的函數程式碼可安全地存取和修改共用資源，並發揮高度並行效能。

## 支援的地區
<a name="configuration-filesystem-supported-regions"></a>

Amazon EFS for Lambda 已在所有[商業區域](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#region)推出，但以下區域除外：亞太區域 (紐西蘭)、亞太區域 (台北)、亞太區域 (馬來西亞)、墨西哥 (中部)、亞太區域 (泰國)、加拿大西部 (卡加利)。

**Topics**
+ [

## 支援的地區
](#configuration-filesystem-supported-regions)
+ [

## 執行角色和使用者許可
](#configuration-filesystem-permissions)
+ [

## 設定檔案系統和存取點
](#configuration-filesystem-setup)
+ [

## 連線至檔案系統 (主控台)
](#configuration-filesystem-config)

## 執行角色和使用者許可
<a name="configuration-filesystem-permissions"></a>

如果檔案系統沒有使用者設定的 AWS Identity and Access Management (IAM) 政策，EFS 將使用預設政策，只要是可以使用檔案系統掛載目標連線至檔案系統的用戶端，該政策都會授予完全存取權。如果檔案系統具有使用者設定的 IAM 政策，則函數的執行角色必須具有正確的 `elasticfilesystem` 許可。

**執行角色許可**
+ **elasticfilesystem:ClientMount**
+ **elasticfilesystem:ClientWrite (唯讀連線不需要)**

這些許可包含在 **AmazonElasticFileSystemClientReadWriteAccess** 受管政策中。此外，您的執行角色必須具有[連線至檔案系統的 VPC 所需的許可](configuration-vpc.md#configuration-vpc-permissions)。

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

**使用者許可**
+ **elasticfilesystem:DescribeMountTargets**

## 設定檔案系統和存取點
<a name="configuration-filesystem-setup"></a>

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

**注意**  
建立檔案系統時，您選擇稍後無法變更的效能模式。**General purpose (一般用途)** 模式具有較低的延遲，而 **Max I/O (IO 上限)** 模式支援較高的輸送量上限和 IOPS。如需協助選擇，請參閱 *Amazon Elastic File System 使用者指南*中的 [Amazon EFS 效能](https://docs.aws.amazon.com/efs/latest/ug/performance.html)。

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

**Example 存取點組態**  
+ **名稱** – `files`
+ **使用者 ID** – `1001`
+ **群組 ID** – `1001`
+ **路徑** – `/my-function`
+ **許可** – `755`
+ **擁有者使用者 ID** – `1001`
+ **群組使用者 ID** – `1001`

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

如需詳細資訊，請參閱 *Amazon Elastic File System 使用者指南*中的下列主題。
+ [為 Amazon EFS 建立資源](https://docs.aws.amazon.com/efs/latest/ug/creating-using.html)
+ [處理使用者、群組和許可](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs-nfs-permissions.html)

## 連線至檔案系統 (主控台)
<a name="configuration-filesystem-config"></a>

此函數會透過 VPC 中的本機網路連線至檔案系統。您的函數連線到的子網路可能是包含檔案系統掛載點的子網路，或同一個可用區域中的子網路，其可將 NFS 流量 (連接埠 2049) 路由至檔案系統。

**注意**  
如果您的函數尚未連線至 VPC，請參閱[讓 Lambda 函數存取 Amazon VPC 中的資源](configuration-vpc.md)。

**設定檔案系統存取權**

1. 開啟 Lambda 主控台中的 [函數頁面](https://console.aws.amazon.com/lambda/home#/functions)。

1. 選擇一個函數。

1. 選擇 **組態** ，然後選擇 **檔案系統** 。

1. 在 **檔案系統** 中，選擇 **新增檔案系統**。

1. 設定下列屬性：
   + **EFS file system** (EFS 檔案系統) - 相同 VPC 中的檔案系統存取點。
   + **Local mount path** (本機掛載路徑) - 檔案系統掛載於 Lambda 函數 (以 `/mnt/` 開頭) 的位置。

**定價**  
Amazon EFS 會針對儲存和輸送量收取費用，費率依儲存類別而異。如需詳細資訊，請參閱 [Amazon EFS 定價](https://aws.amazon.com/efs/pricing)。  
Lambda 會針對 VPC 之間的資料傳輸收取費用。這僅適用於您的函數的 VPC 對等連線到帶有檔案系統的另一個 VPC 的情況。費率與相同區域內 VPC 之間的 Amazon EC2 資料傳輸費用相同。如需詳細資訊，請參閱 [Lambda 定價](https://aws.amazon.com/lambda/pricing)。