

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

# 使用 EFS 掛載協助程式掛載 EFS 檔案系統
<a name="efs-mount-helper"></a>

安裝 Amazon EFS 用戶端 (`amazon-efs-utils`) 之後，您可以使用 EFS 掛載協助程式，在執行[支援分佈](using-amazon-efs-utils.md#efs-utils-supported-distros)的 EC2 Linux 和 Mac 執行個體上掛載 EFS 檔案系統。Amazon EFS 不支援從 EC2 Windows 執行個體掛載。

**重要**  
我們建議您一律使用最新版本的 `amazon-efs-utils`，以確保成功掛載。例如，2.3 `amazon-efs-utils`之前的 版本不支援掛載 IPv6 地址。

掛載檔案系統時，掛載協助程式會定義稱為 的新網路檔案系統類型`efs`，這與 Linux 中的標準`mount`命令完全相容。掛載協助程式也支援使用 EC2 Linux 執行個體上`/etc/fstab`組態檔案中的項目，在執行個體開機時間自動掛載 EFS 檔案系統。

**警告**  
使用 `_netdev` 選項，此選項用於在自動掛載檔案系統時識別網路檔案系統。若 `_netdev` 已遺失，EC2 執行個體可能會停止回應。此結果是因為網路檔案系統在運算執行個體開始聯網後需要初始化。如需詳細資訊，請參閱[自動掛載失敗且執行個體沒有回應](troubleshooting-efs-mounting.md#automount-fails)。

您可以指定下列一個屬性來掛載檔案系統：
+ **檔案系統 DNS 名稱**：如果您使用檔案系統 DNS 名稱，且掛載協助程式無法解析該名稱，例如當您在不同的 VPC 中掛載檔案系統時，該名稱將回復為使用掛載目標 IP 地址。如需詳細資訊，請參閱[從另一個 AWS 帳戶 或 VPC 掛載 EFS 檔案系統](manage-fs-access-vpc-peering.md)。
+ **檔案系統 ID**：如果您使用檔案系統 ID，則掛載協助程式會將其解析為掛載目標彈性網絡介面 (ENI) 的本機 IP 地址，而不呼叫外部資源。
+ **掛載目標 IP 地址**：您可以使用一個檔案系統掛載目標的 IP 地址。

您可以在 Amazon EFS 主控台中找到所有這些屬性的值。您可以在**連接**熒幕中找到檔案系統 DNS 名稱。

當傳輸中的資料加密宣告為 EFS 檔案系統的掛載選項時，掛載協助程式會初始化用戶端`stunnel`程序和稱為 的主管程序`amazon-efs-mount-watchdog`。此 `amazon-efs-mount-watchdog` 程序會監控 TLS 掛載的運作狀態，並在第一次透過 TLS 掛載 EFS 檔案系統時自動啟動。如果您的用戶端是在 Linux 上執行，則此程序會根據 Linux 分佈由 `upstart` 或 `systemd` 來管理。對於在支援 macOS 上執行的用戶端，由 `launchd` 管理。

`Stunnel` 是一種開放原始碼多功能網路轉送。用戶端 `stunnel` 程序會在本機連接埠上接聽傳入流量，以及掛載協助程式會將 NFS 用戶端流量重新導向到此本機連接埠。

掛載協助程式使用 TLS 版本 1.2 來與檔案系統通訊。使用 TLS 需要憑證，而且這些憑證是由信任的 Amazon 憑證授權單位所簽署。如需加密運作方式的詳細資訊，請參閱 [Amazon EFS 的資料加密](encryption.md)。

**Topics**
+ [EFS 掛載協助程式使用的掛載設定](mount-helper-setting.md)
+ [取得支援日誌](mount-helper-logs.md)
+ [使用 EFS 掛載協助程式的先決條件](mount-helper-prerequisites.md)
+ [使用 EFS 掛載協助程式在 EC2 Linux 執行個體上掛載](mounting-fs-mount-helper-ec2-linux.md)
+ [使用 EFS 掛載協助程式在 EC2 Mac 執行個體上掛載](mounting-fs-mount-helper-ec2-mac.md)
+ [從不同的 掛載 EFS 檔案系統 AWS 區域](mount-different-region.md)
+ [掛載單區域檔案系統](mounting-one-zone.md)
+ [使用 IAM 授權掛載](mounting-IAM-option.md)
+ [使用 EFS 存取點進行掛載](mounting-access-points.md)
+ [將 EFS 掛載到多個 EC2 執行個體](mount-multiple-ec2-instances.md)
+ [從另一個 AWS 帳戶 或 VPC 掛載 EFS 檔案系統](manage-fs-access-vpc-peering.md)

# EFS 掛載協助程式使用的掛載設定
<a name="mount-helper-setting"></a>

Amazon EFS 掛載協助程式用戶端使用下列 Amazon EFS 優化的掛載選項：
+ `nfsvers=4.1`：在 EC2 執行個體上掛載時使用

  `nfsvers=4.0`：在執行 macOS Big Sur、Monterey 和 Ventura 的支援 EC2 Mac 執行個體上掛載使用。
+ `rsize=1048576`：設定 NFS 用戶端為每個網路 READ 請求接收的資料位元組上限為 1048576 (最大可用值)，以避免效能降低。
+ `wsize=1048576`：設定 NFS 用戶端為每個網路 WRITE 請求發送的資料位元組上限為 `1048576` (最大可用值)，以避免效能降低。
+ `hard`：設定 NFS 用戶端在 NFS 請求逾時的復原行為，因此 NFS 請求會重試直到伺服器回覆為止，以確保資料完整。
+ `timeo=600`：將 NFS 用戶端等待重試 NFS 請求回應的逾時值設為 600 十分之一秒 (60 秒)，以避免效能降低。
+ `retrans=2`：將 NFS 用戶端在請求嘗試進一步復原動作前的重試次數設為 2。
+ `noresvport`：告知 NFS 用戶端在網路連線重新建立時，使用新的傳輸控制通訊協定 (TCP) 來源連接埠。使用 `noresvport` 選項，以確保您的 EFS 檔案系統在重新連線或網路復原事件發生後持續可用。
+ `mountport=2049`：僅在執行 macOS Big Sur、Monterey 和 Ventura 的 EC2 Mac 執行個體上掛載時使用。

# 取得支援日誌
<a name="mount-helper-logs"></a>

EFS 掛載協助程式具有 EFS 檔案系統的內建記錄。您可以與 AWS Support 共用這些日誌，以進行故障診斷。您可以使用 EFS 掛載協助程式找到儲存在 `/var/log/amazon/efs` 用戶端上的日誌。這些日誌適用於 EFS 掛載協助程式，stunnel 程序 (預設禁用) 和監控 stunnel 程序的 `amazon-efs-mount-watchdog` 程序。

**注意**  
程序`amazon-efs-mount-watchdog`可確保每個掛載的 stunnel 程序正在執行，並在卸載 EFS 檔案系統時停止 stunnel 程序。如果因為某些原因而導致 stunnel 程序意外終止，監視程式程序會將其重新啟動。

您可以在 `/etc/amazon/efs/efs-utils.conf` 中變更日誌的組態。若要使任何日誌變更生效，您需要使用 EFS 掛載協助程式卸載和重新掛載檔案系統。掛載協助程式與監視程式日誌的日誌容量限制為 20 MiB。stunnel 程序的日誌依預設是停用的。

**重要**  
您可以啟用 stunnel 程序日誌的記錄。然而，啟用 stunnel 日誌可能會在您的檔案系統佔用極大的空間。

# 使用 EFS 掛載協助程式的先決條件
<a name="mount-helper-prerequisites"></a>

您可以使用 Amazon EFS 掛載協助程式，在 Amazon EC2 執行個體上掛載 EFS 檔案系統。 Amazon EC2 若要使用掛載協助程式，您需要下列資訊：
+ **掛載的檔案系統 ID**：EFS 掛載協助程式將檔案系統 ID 解析為掛載目標彈性網絡介面 (ENI) 的本機 IP 地址，而不呼叫外部資源。
+ **EFS 掛載目標** – 您可以在虛擬私有雲端 (VPC) 中建立掛載目標。如果您使用服務建議設定在主控台中建立檔案系統，則會在 AWS 區域 檔案系統所在的每個可用區域中建立掛載目標。如需關於建立掛載目標的說明，請參閱 [管理掛載目標](accessing-fs.md)。
**注意**  
建議您在新建立的掛載目標的生命週期狀態**可用**之後等待 60 秒，然後再通過 DNS 掛載檔案系統。此等待可讓 DNS 記錄在 AWS 區域 檔案系統所在的 中完全傳播。

  如果您在與您 EC2 執行個體不同的可用區域中使用掛載目標，您需要為跨可用區域傳送的資料支付標準 EC2 費用。您的檔案系統操作也可能受到延遲。
+ 從其他可用區域掛載單區域檔案系統：
  + **檔案系統可用區域名稱**：如果您正在掛載 EFS 單區域檔案系統，且該檔案系統位於與 EC2 執行個體不同可用區域。
  + **掛載目標 DNS 名稱**：或者，您可以指定掛載目標的 DNS 名稱來替代可用區域名稱。
+ **執行其中一個支援 Linux 或 macOS 發行版本的 EC2 執行個體** – 使用掛載協助程式掛載檔案系統的支援發行版本如下：
  + Amazon Linux 2
  + Amazon Linux 2023
  + Amazon Linux 2017.09 和更新版本
  + macOS Big Sur
  + Red Hat Enterprise Linux (和例如 CentOS 之類的導數) 版本 7 和更新版本
  + Ubuntu 16.04 LTS 和更新版本
**注意**  
執行 macOS Big Sur 的 EC2 Mac 執行個體支援 NFS 4.0。
+ **EFS 掛載協助程式安裝在 EC2 執行個體上** – 掛載協助程式是公用程式`amazon-efs-utils`套件中的工具。如需安裝 的詳細資訊`amazon-efs-utils`，請參閱 [安裝 Amazon EFS 用戶端](using-amazon-efs-utils.md)。
+ **在 VPC 中的 EC2 執行個體**：正在連接的 EC2 執行個體，必須位於以 Amazon VPC 服務為基礎的虛擬私有雲端 (VPC) 中。它還必須設定為使用 提供的 DNS 伺服器 AWS。如需有關 Amazon DNS 伺服器的資訊，請參閱《[Amazon VPC 使用者指南》中的 Amazon VPC 中的 DHCP 選項集](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)。 **
+ **VPC 已啓用 DNS 主機名稱**：連接的 EC2 執行個體的 VPC 必須已啟用 DNS 主機名稱。如需詳細資訊，請參閱《*Amazon* [ VPC 使用者指南》中的 VPC 的 DNS 屬性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-viewing)。
+ **對於不同 中的 EC2 執行個體和檔案系統 AWS 區域** – 如果您要掛載的 EC2 執行個體和檔案系統位於不同位置 AWS 區域，您將需要編輯`efs-utils.conf`檔案中的 `region` 屬性。如需詳細資訊，請參閱[從不同的 掛載 EFS 檔案系統 AWS 區域](mount-different-region.md)。

# 使用 EFS 掛載協助程式在 EC2 Linux 執行個體上掛載
<a name="mounting-fs-mount-helper-ec2-linux"></a>

此程序需要下列項目：
+ 您已在 Amazon EC2 執行個體上安裝 `amazon-efs-utils`套件。如需詳細資訊，請參閱[手動安裝 Amazon EFS 用戶端](installing-amazon-efs-utils.md)。
+ 您已經為檔案系統建立了掛載目標。如需詳細資訊，請參閱[管理掛載目標](accessing-fs.md)。

**在 EC2 Linux 執行個體上使用掛載協助程式掛載 EFS 檔案系統**

1. 透過 Secure Shell (SSH) 打開 EC2 執行個體的終端機，並使用適當的使用者名稱登入。如需詳細資訊，請參閱 *Amazon EC2 User Guide* 中的 [Connect to your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)。

1. 使用下列指令建立要用作檔案系統掛載點的目錄 `efs`：

   ```
   sudo mkdir efs
   ```

1. 執行下列一項命令來掛載檔案系統。
**注意**  
如果 EC2 執行個體和您要掛載的檔案系統位於不同的 AWS 區域區域，請參閱 [從不同的 掛載 EFS 檔案系統 AWS 區域](mount-different-region.md) 以編輯 `efs-utils.conf` 檔案中的 `region` 屬性。
   + 使用檔案系統 ID 掛載：

     ```
     sudo mount -t efs file-system-id efs-mount-point/
     ```

     請在 `file-system-id` 和 `efs` 中使用您正在掛載的檔案系統 ID 來取代 *efs-mount-point*。

     ```
     sudo mount -t efs fs-abcd123456789ef0 efs/
     ```

     或者，如果您想要使用傳輸中資料的加密，可以使用下列命令來掛載檔案系統。

     ```
     sudo mount -t efs -o tls fs-abcd123456789ef0:/ efs/
     ```
   + 使用檔案系統 DNS 名稱掛載：

     ```
     sudo mount -t efs -o tls file-system-dns-name efs-mount-point/
     ```

     ```
     sudo mount -t efs -o tls fs-abcd123456789ef0.efs.us-east-2.amazonaws.com efs/
     ```
   + 使用下列掛載目標 IP 地址掛載：

     ```
     sudo mount -t efs -o tls,mounttargetip=mount-target-ip file-system-id efs-mount-point/
     ```

     ```
     sudo mount -t efs -o tls,mounttargetip=192.0.2.0 fs-abcd123456789ef0 efs/
     ```

   您可以在**連接**對話方塊中檢視和複製要掛載檔案系統的確切指令。

   1. 在 Amazon EFS 主控台中，請選擇您要掛載的檔案系統，顯示其詳細資訊頁面。

   1. 若要顯示用於此檔案系統的掛載指令，請選擇右上角的**「連接」**。

      **連接**熒幕會顯示用於掛載檔案系統的確切指令，如下列方法：
      + (**通過 DNS 掛載**) 使用搭載 EFS 掛載協助程式或 NFS 用戶端的檔案系統 DNS 名稱。
      + (**通過 IP 掛載**) 在 NFS 用戶端已選「可用區」中，使用掛載目標 IP 地址來掛載。

# 使用 EFS 掛載協助程式在 EC2 Mac 執行個體上掛載
<a name="mounting-fs-mount-helper-ec2-mac"></a>

此程序需要下列項目：
+ 您已在 Amazon EC2 Mac 執行個體上安裝 `amazon-efs-utils`套件。如需詳細資訊，請參閱[執行 macOS Big Sur、macOS Monterey 或 macOS Ventura 時，將 Amazon EFS 安裝在 EC2 Mac 執行個體上。](installing-amazon-efs-utils.md#install-efs-utils-macOS)。
+ 您已經為檔案系統建立了掛載目標。您可以在建立檔案系統時建立掛載目標，並將其新增至現有檔案系統中。如需詳細資訊，請參閱[管理掛載目標](accessing-fs.md)。
+ 您正在執行 macOS Big Sur、Monterey 或 Ventura 的 EC2 Mac 執行個體上掛載檔案系統。(不支援其他 macOS 版本)。

**注意**  
僅支援執行 macOS Big Sur、Monterey 和 Ventura 的 EC2 Mac 執行個體。其他 macOS 版本不支援搭配 Amazon EFS 使用。

**在執行 EFSmacOS Big Sur、Montery 或 Ventura 的 EC2 Mac 執行個體上使用 EFS 掛載協助程式掛載 EFS 檔案系統**

1. 透過 Secure Shell (SSH) 打開 EC2 執行個體的終端機，並使用適當的使用者名稱登入。如需詳細資訊，請參閱 *Amazon EC2 User Guide* 中的 [Connect to your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)。

1. 使用下列指令建立要用作檔案系統掛載點的目錄：

   ```
   sudo mkdir efs
   ```

1. 執行下列命令來掛載檔案系統。
**注意**  
依預設，無論您是否使用掛載命令中的 `tls` 選項，EFS 掛載協助程式在 EC2 Mac 執行個體上掛載時都會使用傳輸中加密。

   ```
   sudo mount -t efs file-system-id efs-mount-point/
   ```

   ```
   sudo mount -t efs fs-abcd123456789ef0 efs/
   ```

   您也可以在掛載時使用 `tls` 選項。

   ```
   sudo mount -t efs -o tls fs-abcd123456789ef0:/ efs
   ```

   若要在不使用傳輸中加密的情況下於 EC2 Mac 執行個體上掛載檔案系統，請使用 `notls` 選項，如下列命令所示。

   ```
   sudo mount -t efs -o notls file-system-id efs-mount-point/
   ```

   您可以在管理主控台的**連接**對話方塊中檢視和複製要掛載檔案系統的確切指令，如下所述。

   1. 在 Amazon EFS 主控台中，請選擇您要掛載的檔案系統，顯示其詳細資訊頁面。

   1. 若要顯示用於此檔案系統的掛載指令，請選擇右上角的**「連接」**。

      **連接**熒幕會顯示用於掛載檔案系統的確切指令，如下列方法：
      + (**通過 DNS 掛載**) 使用搭載 EFS 掛載協助程式或 NFS 用戶端的檔案系統 DNS 名稱。
      + (**通過 IP 掛載**) 在 NFS 用戶端已選「可用區」中，使用掛載目標 IP 地址來掛載。

# 從不同的 掛載 EFS 檔案系統 AWS 區域
<a name="mount-different-region"></a>

若要從與檔案系統 AWS 區域 不同的 EC2 執行個體掛載 EFS 檔案系統，您必須在 `efs-utils.conf` 檔案中編輯 `region` 屬性值。

**在 中編輯 `region` 屬性 `efs-utils.conf`**

1. 透過 Secure Shell (SSH) 存取 EC2 執行個體的終端機，並使用適當的使用者名稱登入。如需詳細資訊，請參閱 *Amazon EC2 User Guide* 中的 [Connect to your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)。

1. 使用您偏好的文字編輯器開啟 `/etc/amazon/efs/efs-utils.conf` 檔案。

1. 找出下面的一行：

   ```
   #region = us-east-1
   ```

   1. 取消註解該行。

   1. 如果檔案系統不在 `us-east-1`區域中，請將 `us-east-1`取代為檔案系統所在區域的 ID。

   1. 儲存變更。

1. 新增跨區域掛載託管項目。如需如何執行此作業的資訊，請參閱 [步驟 3：新增掛載目標的主機項目](efs-different-vpc.md#wt6-efs-utils-step3)。

1. 使用 EFS 掛載協助程式為 [Linux](mounting-fs-mount-helper-ec2-linux.md) 或 [Mac](mounting-fs-mount-helper-ec2-mac.md) 執行個體掛載檔案系統。

# 掛載單區域檔案系統
<a name="mounting-one-zone"></a>

EFS 單區域檔案系統僅支援單一掛載目標，該目標位於與檔案系統相同的可用區域。您無法新增其他掛載目標。本區段描述了掛載單區域檔案系統時應考量的事項。

您可以使用與檔案系統掛載目標位於相同可用區域的 Amazon EC2 運算執行個體存取 EFS 檔案系統，以避免在可用區域間收取資料傳輸費用，並獲得更好的效能。

本節包含下列程序：
+ 您已經在 EC2 執行個體上安裝了 `amazon-efs-utils package`。如需詳細資訊，請參閱[安裝 Amazon EFS 用戶端](using-amazon-efs-utils.md)。
+ 您已經為檔案系統建立了掛載目標。如需詳細資訊，請參閱[管理掛載目標](accessing-fs.md)。

## 在其他可用區域的 EC2 上掛載單區域檔案系統
<a name="mounting-one-zone-efs-util"></a>

如果您要在位於不同可用區域的 Amazon EC2 執行個體上掛載單區域檔案系統，則必須在掛載協助程式掛載命令中指定檔案系統的可用區域名稱或檔案系統掛載目標的 DNS 名稱。

使用下列指令建立要用作檔案系統掛載點的目錄 `efs`：

```
sudo mkdir efs
```

使用下列命令來通過 EFS 掛載協助程式掛載檔案系統。此命令指定檔案系統的可用區域名稱。

```
sudo mount -t efs -o az=availability-zone-name,tls file-system-id mount-point/
```

這是具有下列示例值的命令：

```
sudo mount -t efs -o az=us-east-1a,tls fs-abcd1234567890ef efs/
```

下列指令會掛載檔案系統，並指定檔案系統掛載目標的 DNS 名稱。

```
sudo mount -t efs -o tls mount-target-dns-name mount-point/
```

這是具有掛載目標 DNS 名稱範例的命令。

```
sudo mount -t efs -o tls us-east-1a.fs-abcd1234567890ef9.efs.us-east-1.amazonaws.com efs/
```

### 使用 EFS 掛載協助程式，在不同的可用區域中自動掛載單區檔案系統
<a name="automount-one-zone-efs-utils"></a>

如果您正在位於不同可用區域的 EC2 執行個體上使用 `/etc/fstab` 來掛載 EFS單區域檔案系統，則必須在 `/etc/fstab` 項目中指定檔案系統可用區域名稱或檔案系統掛載目標的 DNS 名稱。

```
availability-zone-name.file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point efs defaults,_netdev,noresvport,tls 0 0
```

```
us-east-1a.fs-abc123def456a7890.efs.us-east-1.amazonaws.com:/ efs-one-zone efs defaults,_netdev,noresvport,tls 0 0
```

### 使用 NFS 自動掛載單區域檔案系統
<a name="automnt-one-zone-nfs"></a>

如果您使用 `/etc/fstab` 在位於不同可用區域的 EC2 執行個體上使用單區域儲存來掛載 EFS 檔案系統，則必須在 `/etc/fstab`項目中使用檔案系統的 DNS 名稱來指定檔案系統的可用區域名稱。

```
availability-zone-name.file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0
```

```
us-east-1a.fs-abc123def456a7890.efs.us-east-1.amazonaws.com:/ efs-one-zone nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0
```

如需關於如何編輯 `/etc/fstab` 檔案和用於此命令的值詳細資訊，請參閱 [自動掛載 EFS 檔案系統使用 NFS 在 EC2 Linux 或 Mac 執行個體上啟用自動掛載](nfs-automount-efs.md)。

## 在其他 AWS 運算執行個體上使用單區域檔案系統掛載檔案系統
<a name="mounting-one-zone-other-compute-instances"></a>

當您搭配 Amazon Elastic Container Service、Amazon Elastic Kubernetes Service 或 使用單區域檔案系統時 AWS Lambda，您需要將服務設定為使用 EFS 檔案系統所在的相同可用區域，如下所示，並如以下各節所述。

![\[AWS 運算連線至 EFS 單區域檔案系統的執行個體。\]](http://docs.aws.amazon.com/zh_tw/efs/latest/ug/images/efs-mount-onezone.png)


### 從 Amazon Elastic Container Service 処連接
<a name="mount-one-zone-ecs"></a>

您可以搭配 Amazon ECS 使用 EFS 檔案系統，在容器執行個體機群之間共用檔案系統資料，讓您的任務可以存取相同的持久性儲存體，無論其登陸的執行個體為何。若要搭配 Amazon ECS 使用 EFS One Zone 檔案系統，您應該在啟動任務時，只選擇與您檔案系統位於相同可用區域的子網路。如需詳細資訊，請參閱《Amazon Elastic Container Service 開發人員指南》中的 [Amazon EFS 磁碟區](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html)。

### 從 Amazon Elastic Kubernetes Service 処連接
<a name="mount-one-zone-eks"></a>

從 Amazon EKS 掛載單區域檔案系統時，您可以使用支援 EFS 存取點的 Amazon EFS [容器儲存介面](https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html) (CSI) 驅動程式，在 Amazon EKS 或自我管理 Kubernetes 叢集中的多個 Pod 之間共用檔案系統。Amazon EFS CSI 驅動程式安裝在 Fargate 堆疊中。搭配 EFS One Zone 檔案系統使用 Amazon EFS CSI 驅動程式時，您可以在啟動 Pod 時使用 `nodeSelector`選項，以確保它在與檔案系統相同的可用區域內排程。

### 從 連線 AWS Lambda
<a name="mount-one-zone-lambda"></a>

您可以搭配 使用 Amazon EFS AWS Lambda ，跨函數叫用共用資料、讀取大型參考資料檔案，以及將函數輸出寫入持久性和共用存放區。Lambda 會將函數執行個體安全地連接到位於相同可用區域和子網路中的 EFS 掛載目標。當您將 Lambda 與單區域檔案系統搭配使用時，請將函數設定為僅啟動調用至與檔案系統位於相同可用區域的子網路中。

# 使用 IAM 授權掛載
<a name="mounting-IAM-option"></a>

若要使用 (IAM) 授權在 Linux 執行個體上掛載 EFS 檔案系統，請使用 EFS 掛載協助程式。 AWS Identity and Access Management 如需 NFS 用戶端 IAM 授權的詳細資訊，請參閱[使用 IAM 控制檔案系統的存取](iam-access-control-nfs-efs.md)。

您需要在下列各節中建立目錄，以用作檔案系統掛載點。您可以使用以下命令建立掛載點目錄 `efs`：

```
sudo mkdir efs
```

然後，您可以使用 `efs` 取代 `efs-mount-point` 的執行個體。

## 使用 EC2 執行個體設定檔與 IAM 進行掛載
<a name="mount-iam-ec2-profile"></a>

如果您藉助 IAM 授權掛載到具有執行個體設定檔的 Amazon EC2 執行個體上，請使用 `tls` 和 `iam` 掛載選項，如下所示。

```
$ sudo mount -t efs -o tls,iam file-system-id efs-mount-point/
```

若要使用 IAM 授權自動掛載到具有執行個體描述檔的 EC2 執行個體，請將以下行新增至 EC2 執行個體上的 `/etc/fstab` 檔案。

```
file-system-id:/ efs-mount-point efs _netdev,tls,iam 0 0
```

## 使用命名描述檔與 IAM 進行掛載
<a name="mount-iam-creds-file"></a>

您可以使用登入資料檔案 中的 IAM AWS CLI 登入資料`~/.aws/credentials`或組態檔案 ，透過 AWS CLI IAM 授權進行掛載`~/.aws/config`。如果未指定 `"awsprofile"`，則會使用「預設」設定檔。

若要使用憑證檔案來掛載 IAM 授權至 Linux 執行個體，請使用 `tls`、`awsprofile` 和 `iam` 掛載選項，如下所示。

```
$ sudo mount -t efs -o tls,iam,awsprofile=namedprofile file-system-id efs-mount-point/
```

若要使用憑證檔案以 IAM 授權自動掛載至 Linux 執行個體，請將以下行新增至 EC2 執行個體上的 `/etc/fstab` 檔案。

```
file-system-id:/ efs-mount-point efs _netdev,tls,iam,awsprofile=namedprofile 0 0
```

# 使用 EFS 存取點進行掛載
<a name="mounting-access-points"></a>

您可以使用 EFS 掛載協助程式來掛載使用存取點的 EFS 檔案系統。

**注意**  
使用 EFS 存取點掛載檔案系統時，您必須為檔案系統設定一或多個掛載目標。

在使用存取點掛載檔案系統時，除了一般掛載選項以外，掛載命令還需要包含 `access-point-id` 和 `tls` 掛載選項。範例顯示如下。

```
$ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-id efs-mount-point
```

若要使用存取點自動掛載檔案系統，請將下列行新增到 EC2 執行個體上的 `/etc/fstab` 檔案中。

```
file-system-id efs-mount-point efs _netdev,tls,accesspoint=access-point-id 0 0
```

如需 EFS 存取點的詳細資訊，請參閱[使用存取點](efs-access-points.md)。

# 將 EFS 掛載到多個 EC2 執行個體
<a name="mount-multiple-ec2-instances"></a>

您可以遠端安全地將 EFS 檔案系統掛載到多個 Amazon EC2 執行個體，而無需使用 AWS Systems Manager Run Command 登入執行個體。如需 AWS Systems Manager Run Command 的詳細資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的 [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)。使用此方法掛載 EFS 檔案系統之前，必須具備下列先決條件：

1. EC2 執行個體會使用包含 `AmazonElasticFileSystemsUtils` 許可政策的執行個體設定檔進行啟動。如需詳細資訊，請參閱[步驟 1：使用所需許可設定 IAM 執行個體設定檔。](setting-up-aws-sys-mgr.md#configure-sys-mgr-iam-instance-profile)。

1. Amazon EFS 用戶端版本 1.28.1 版或更新版本 (amazon-efs-utils t 套件) 已安裝在 EC2 執行個體上。您可以使用 AWS Systems Manager 在執行個體上自動安裝套件。如需詳細資訊，請參閱[步驟 2：設定 State Manager 使用的關聯](setting-up-aws-sys-mgr.md#config-sys-mgr-association)。

**使用主控台將多個 EFS 檔案系統掛載到多個 EC2 執行個體上**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **執行命令**。

1. 選擇 **Run a command** (執行指令)。

1. 在**命令**搜尋欄位中輸入 **AWS-RunShellScript**。

1. 選取 **AWS-RunShellScript**。

1. 在**命令參數**中，為您想掛載的每個 EFS 檔案系統輸入要使用的掛載命令。例如：

   ```
   sudo mount -t efs -o tls fs-12345678:/ /mnt/efs
   sudo mount -t efs -o tls,accesspoint=fsap-12345678 fs-01233210 /mnt/efs
   ```

   如需關於使用 Amazon EFS 用戶端掛載 EFS 掛載命令的詳細資訊，請參閱 [使用 EFS 掛載協助程式在 EC2 Linux 執行個體上掛載](mounting-fs-mount-helper-ec2-linux.md) 或 [使用 EFS 掛載協助程式在 EC2 Mac 執行個體上掛載](mounting-fs-mount-helper-ec2-mac.md)。

1. 選取您希望命令執行的目標 AWS Systems Manager 受管 EC2 執行個體。

1. 進行任何您想要的其他設定。然後選擇**執行**以執行命令，並掛載命令中指定的 EFS 檔案系統。

   執行命令之後，您可以在命令歷程中查看其狀態。

# 從另一個 AWS 帳戶 或 VPC 掛載 EFS 檔案系統
<a name="manage-fs-access-vpc-peering"></a>

您可以使用 EFS 用戶端的 IAM 授權來掛載 EFS 檔案系統，並使用 EFS 掛載協助程式來掛載 EFS 存取點。根據預設，EFS 掛載協助程式會使用網域名稱服務 (DNS) 來解析 EFS 掛載目標的 IP 地址。如果您要從不同帳戶或虛擬私有雲端 (VPC) 掛載檔案系統，則需手動解析 EFS 掛載目標。

您可在下文中找到判斷正確 EFS 掛載目標 IP 地址以供 NFS 用戶端使用的說明。您也可以找到使用該 IP 地址設定用戶端以掛載 EFS 檔案系統的說明。

**Topics**
+ [從另一個 掛載 EFS 檔案系統 AWS 帳戶](mount-fs-diff-account-same-vpc.md)
+ [從另一個 VPC 掛載 EFS 檔案系統](mount-fs-different-vpc.md)

# 從另一個 掛載 EFS 檔案系統 AWS 帳戶
<a name="mount-fs-diff-account-same-vpc"></a>

使用共用 VPCs，您可以從 AWS 帳戶 Amazon EC2 執行個體中掛載由另一個執行個體擁有的 EFS 檔案系統 AWS 帳戶。如需設定共用 VPC 的詳細資訊，請參閱《Amazon [ VPC 對等互連指南》中的與其他帳戶共用](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html)您的 VPC。 **

在您設定 VPC 共用之後，EC2 執行個體就可以使用網域名稱系統 (DNS) 名稱解析或 EFS 掛載協助程式，掛載 EFS 檔案系統。我們建議您使用 EFS 掛載協助程式掛載 EFS 檔案系統。

# 從另一個 VPC 掛載 EFS 檔案系統
<a name="mount-fs-different-vpc"></a>

使用 VPC 對等互連或傳輸閘道來連接 VPC 時，即使 VPC 屬於不同帳戶，Amazon EC2 執行個體仍可在另一個 VPC 存取 EFS 檔案系統。

您無法將 DNS 名稱解析用於在另一個 VPC 中的 EFS 掛載點。若要掛載您的 EFS 檔案系統，請在對應的可用區域中使用掛接點的 IP 地址。

或者，您可以使用 Amazon Route 53 做為 DNS 服務。在 Route 53 中，您可以透過建立私有託管區域和資源記錄集，從另一個 VPC 解析 EFS 掛載目標 IP 地址。如需如何執行此操作的詳細資訊，請參閱《*Amazon Route 53 開發人員指南*》中的[使用私有託管區域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)。

## 先決條件
<a name="mount-fs-different-vpc-prerequisites"></a>

使用下列程序之前，請先執行以下步驟：
+ 要在掛載 EFS 檔案系統的運算執行個體上安裝 Amazon EFS 用戶端，這是公用程式 `amazon-efs-utils` 集的一部分。您可以使用包含在中 `amazon-efs-utils` 的 EFS 掛載協助程式來掛載檔案系統。如需安裝 `amazon-efs-utils` 的指示，請參閱[安裝 Amazon EFS 用戶端](using-amazon-efs-utils.md)。
+ 針對您附加到執行個體的 IAM 角色，允許 IAM 政策中的 `ec2:DescribeAvailabilityZones` 動作。建議您將 AWS 受管政策連接至 `AmazonElasticFileSystemsUtils` IAM 實體，以提供實體所需的許可。
+ 從另一個 掛載時 AWS 帳戶，請更新檔案系統資源政策，以允許其他主體 ARN `elasticfilesystem:DescribeMountTarget`的動作 AWS 帳戶。例如：

  ```
  {
      "Id": "access-point-example03",
      "Statement": [
          {
              "Sid": "access-point-statement-example03",
              "Effect": "Allow",
              "Principal": {"AWS": "arn:aws:iam::555555555555:root"},
              "Action": "elasticfilesystem:DescribeMountTargets",
              "Resource": "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-12345678"
          }
      ]
  }
  ```

  如需關於 EFS 檔案系統資源政策的詳細資訊，請參閱 [Amazon EFS 中的資源型政策](security_iam_service-with-iam.md#security_iam_service-with-iam-resource-based-policies)。
+ 安裝 botocore。當將檔案系統掛載到另一個 VPC 上而檔案系統 DNS 名稱無法解析時，EFS 用戶端會使用 botocore 來擷取掛載目標 IP 地址。如需詳細資訊，請參閱 `amazon-efs-utils` README 檔案中[安裝 botocore](https://github.com/aws/efs-utils#Install-botocore)。
+ 設定 VPC 對等互連或 VPC 傳輸閘道。

  您必須使用 VPC 對等連接或 VPC 傳輸閘道來連接用戶端的 VPC 和 EFS 檔案系統的 VPC。使用 VPC 對等互連或傳輸閘道來連接 VPC 時，即使 VPC 屬於不同帳戶，Amazon EC2 執行個體仍可在另一個 VPC 存取 EFS 檔案系統。

  *傳輸閘道*是網路傳輸中樞，您可以用於互相連接 VPC 和現場部署網路。如需使用 VPC 傳輸閘道的詳細資訊，請參閱《Amazon VPC 傳輸閘道指南》**中的[開始使用傳輸閘道](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-getting-started.html)。

  *VPC 對等連接*是在兩個 VPC 之間的網路連線。這種連線類型可讓您使用私有網際網路通訊協定第 4 版 (IPv4) 或網際網路通訊協定第 6 版 (IPv6) 地址，在兩者間路由流量。您可以使用 VPC 對等互連來連接相同內 AWS 區域 或之間的 VPCs AWS 區域。如需 VPC 互連的詳細資訊，請參閱《Amazon VPC 互連指南》**中的[什麼是 VPC 互連？](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)。

為確保檔案系統具備高可用性，建議您一律使用與 NFS 用戶端所在同一可用區域的 EFS 掛載目標 IP 地址。如果要掛載另一個帳戶中的 EFS 檔案系統，請確保 NFS 用戶端和 EFS 掛載目標位於相同的可用區域 ID。此要求適用的原因是，AZ 名稱在各個帳戶間可能會有不同。

**使用 IAM 或存取點掛載另一個 VPC 中的 EFS 檔案系統**

1. 連線至 EC2 執行個體。如需詳細資訊，請參閱 *Amazon EC2 User Guide* 中的 [Connect to your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)。

1. 您可以使用下列命令來建立掛載檔案系統的目錄。

   ```
   $ sudo mkdir /mnt/efs
   ```

1. 若要透過 IAM 授權掛載檔案系統，請使用下列命令：

   ```
   $ sudo mount -t efs -o tls,iam file-system-dns-name /mnt/efs/
   ```

   如需搭配使用 IAM 授權與 EFS 的詳細資訊，請參閱[使用 IAM 控制檔案系統的存取](iam-access-control-nfs-efs.md)。

   若要透過 EFS 存取點掛載檔案系統，請使用下列命令：

   ```
   $ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-dns-name /mnt/efs/
   ```

   如需 EFS 存取點的詳細資訊，請參閱[使用存取點](efs-access-points.md)。

## 從不同的 掛載 EFS 檔案系統 AWS 區域
<a name="mount-different-region-vpc"></a>

如果您要從與檔案系統 AWS 區域 不同的另一個 VPC 掛載 EFS 檔案系統，則需要編輯`efs-utils.conf`檔案。在 `/dist/efs-utils.conf` 中找出下列各行：

```
#region = us-east-1
```

取消註解行，並取代檔案系統所在區域的 ID 值 (如果檔案系統不在 `us-east-1` 中)。