

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# EFS ファイルシステムをマウントする
<a name="mounting-fs"></a>

EFS ファイルシステムをマウントするには、EFS マウントヘルパーを使用することをお勧めします。EFS マウントヘルパーを使用すると、サポートされているディストリビューションを実行している EC2 Linux および Mac インスタンスに EFS ファイルシステムをマウントできます。マウントヘルパーは、Amazon EFS クライアント (`amazon-efs-utils`) のインストール時にインストールされるオープンソースのツールコレクションの一部です。Amazon EFS クライアントとサポートされているディストリビューションの詳細については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。

または、標準の Linux NFS クライアントを使用して EFS ファイルシステムを手動でマウントすることもできます。Amazon EFS は、ファイルシステムを Amazon EC2 インスタンスにマウントするときに、[Network File System(ネットワークファイルシステム)] バージョン 4.0 と 4.1 (NFSv4) プロトコルをサポートします。

さらに、EFS マウントヘルパーまたは NFS を使用して EC2 インスタンスを設定することで、インスタンスの起動時に自動的に EFS ファイルシステムをマウントできます。

**Topics**
+ [Linux でのマウントに関する考慮事項](mounting-fs-mount-cmd-general.md)
+ [EFS マウントヘルパーを使用した EFS ファイルシステムのマウント](efs-mount-helper.md)
+ [ネットワークファイルシステムを使用した EFS ファイルシステムのマウント](mounting-fs-old.md)
+ [EFS ファイルシステムの自動マウント](mount-fs-auto-mount-onreboot.md)
+ [ファイルシステムをアンマウントする](unmounting-fs.md)
+ [チュートリアル: EFS ファイルシステムを作成し、 を使用して EC2 インスタンスにマウントする AWS CLI](wt1-getting-started.md)
+ [チュートリアル: オンプレミス Linux クライアントを使用してマウントする](mounting-fs-mount-helper-direct.md)
+ [チュートリアル: 別の VPC からファイルシステムをマウントする](efs-different-vpc.md)
+ [マウントの問題のトラブルシューティング](troubleshooting-efs-mounting.md)

# Linux でのマウントに関する考慮事項
<a name="mounting-fs-mount-cmd-general"></a>

Linux の マウントオプションには次の値をお勧めします。
+ `rsize=1048576` - 各ネットワーク読み取りリクエストに対して NFS クライアントが受信できるデータの最大バイト数を設定します。この値は、EFS ファイルシステム上のファイルからデータを読み取る際に適用されます。パフォーマンスが低下しないように、可能な限り大きいサイズ (最大 `1048576`) を使用することをお勧めします。
+ `wsize=1048576` - 各ネットワーク書き込みリクエストに対して NFS クライアントが送信できるデータの最大バイト数を設定します。この値は、EFS ファイルシステム上のファイルにデータを書き込む際に適用されます。パフォーマンスが低下しないように、可能な限り大きいサイズ (最大 `1048576`) を使用することをお勧めします。
+ `hard` - NFS リクエストがタイムアウトした後の NFS クライアントのリカバリ動作を設定します。これにより、NFS リクエストは、サーバーが応答するまで無期限に再試行されます。データの整合性を確保できるように、ハードマウントオプション (`hard`) を使用することをお勧めします。`soft` マウントを使用する場合は、`timeo` パラメータを `150` デシ秒 (15 秒) 以上に設定してください。これにより、ソフトマウントに固有のデータ破損が生じるリスクを最小限に抑えることができます。
+ `timeo=600` - NFS クライアントがレスポンスを待機するのに要するタイムアウト値を設定してから、NFS リクエストを 600 デシ秒 (60 秒) に設定します。タイムアウトパラメータ (`timeo`) を変更する必要がある場合は、少なくとも `150` の値を使用することをお勧めします。これは 15 秒に相当します。これにより、パフォーマンスの低下を避けることができます。
+ `retrans=2` - NFS クライアントがさらなるリカバリアクションを試行する前にリクエストを再試行する回数を 2 回に設定します。
+ `noresvport` - ネットワーク接続が再確立された時に、新しい非特権の Transmission Control Protocol (TCP) 送信元ポートを使用するように、NFS クライアントに指示します。これにより、ネットワーク復旧イベント後、EFS ファイルシステムでの中断のない可用性が保証されます。
+ `_netdev` – `/etc/fstab` に存在する場合、クライアントは、ネットワークが有効になるまで、EFS ファイルシステムをマウントすることはできません。

一般に、デフォルトとは異なる他のマウントオプションを設定しないでください。パフォーマンスが低下し、別の問題が生じる可能性があります。前述のデフォルト設定を使用しない場合は、以下の点に注意してください。
+ 読み取りまたは書き込みバッファサイズを変更したり、属性のキャッシュを無効にしたりするとパフォーマンスが損なわれる可能性があります。
+ Amazon EFS は送信元ポートを無視します。Amazon EFS 送信元ポートを変更した場合、変更は無効になります。
+ Amazon EFS では Kerberos セキュリティバリアントをサポートしていません。たとえば、以下のマウントコマンドは失敗します。

  ```
   $ mount -t nfs4 -o krb5p <DNS_NAME>:/ /efs/ 
  ```
+ ファイルシステムは、DNS 名を使用してマウントすることをお勧めします。Amazon EFS は、外部リソースを呼び出すことなく、EFS マウントターゲットの Amazon EC2 インスタンスと同じアベイラビリティーゾーンの EFS マウントターゲットの IP アドレスに解決されます。ご使用の EC2 インスタンスとは異なるアベイラビリティーゾーンでマウントターゲットを使用すると、アベイラビリティーゾーンから送信されるデータに対して EC2 の標準料金がかかります。また、ファイルシステムオペレーションのレイテンシーが増加することがあります。
+ 他のマウントオプションや、デフォルト設定の詳細な説明については、Linux のドキュメントを参照してください。

**注記**  
マウントされた EFS ファイルシステムのステータスに関係なく EC2 インスタンスを起動する必要がある場合は、`/etc/fstab` ファイルのファイルシステムのエントリに `nofail` オプションを追加します。

# 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 を使用する場合、マウントヘルパーは、外部リソースを呼び出さずに、マウントターゲットの Elastic Network Interface (ENI) のローカル IP アドレスへ解決します。
+ **マウントターゲット IP アドレス** – ファイルシステムのマウントターゲットのいずれかの IP アドレスを使用できます。

Amazon EFS コンソールで、これらのプロパティの値をすべて確認できます。ファイルシステムの DNS 名は、**アタッチ** 画面にあります。

転送中のデータ暗号化が EFS ファイルシステムのマウントオプションとして宣言されている場合、マウントヘルパーはクライアント `stunnel` プロセス、および `amazon-efs-mount-watchdog` というスーパーバイザープロセスを初期化します。`amazon-efs-mount-watchdog` プロセスは TLS マウントの状態を監視し、EFS ファイルシステムが初めて TLS にマウントされたときに自動的に開始されます。クライアントが 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)
+ [1 ゾーンファイルシステムをマウントする](mounting-one-zone.md)
+ [IAM 認可を使用してマウントする](mounting-IAM-option.md)
+ [Amazon EFS アクセスポイントを使用してマウントする](mounting-access-points.md)
+ [複数の EC2 インスタンスへの EFS のマウント](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 Linux インスタンスへのマウント時に使用

  `nfsvers=4.0` — macOS Big Sur、Monterey、Ventura を実行している、サポートされている EC2 Mac インスタンスにマウントするときに使用されます
+ `rsize=1048576` - NFS クライアントが各ネットワーク書き込みリクエストで送信できるデータの最大バイト数を 1048576 に設定し、利用可能な最大値にすることで、パフォーマンスの低下を防ぎます。
+ `wsize=1048576` - NFS クライアントが各ネットワーク書き込みリクエストで送信できるデータの最大バイト数を `1048576` に設定し、利用可能な最大値にすることで、パフォーマンスの低下を防ぎます。
+ `hard` - NFS リクエストがタイムアウトした後の NFS クライアントのリカバリ動作を設定し、サーバーが応答するまで NFS リクエストを無期限に再試行し、データの整合性を確保します。
+ `timeo=600` - NFS クライアントがレスポンスを待機するのに要するタイムアウト値を設定してから、NFS リクエストを 600 デシ秒 (60 秒) に設定し、パフォーマンスの低下を防ぎます。
+ `retrans=2` - NFS クライアントがさらなるリカバリアクションを試行する前にリクエストを再試行する回数を 2 回に設定します。
+ `noresvport` - ネットワーク接続が再確立された時に、新しい非特権の Transmission Control Protocol (TCP) 送信元ポートを使用するように、NFS クライアントに指示します。`noresvport` オプションを使用すると、再接続やネットワーク回復イベントの後も、EFS ファイルシステムの可用性が中断されることはありません。
+ `mountport=2049`— macOS Big Sur、Monterey および Ventura を実行している EC2 Mac インスタンスにマウントするときにのみ使用されます。

# サポートログの取得
<a name="mount-helper-logs"></a>

EFS マウントヘルパーには、EFS ファイルシステムのログ記録が組み込まれています。これらのログは、トラブルシューティングの目的で AWS サポートと共有できます。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 ファイルシステムをマウントできます。マウントヘルパーを使用するには、以下が必要になります。
+ **マウントするファイルシステムのファイルシステム ID** – EFS マウントヘルパーは、外部リソースを呼び出さずに、ファイルシステム ID をマウントターゲット Elastic Network Interface (ENI) のローカル IP アドレスを解決します。
+ **EFS マウントターゲット** – 仮想プライベートクラウド (VPC) にマウントターゲットを作成します。サービス推奨設定を使用してコンソールでファイルシステムを作成すると、ファイルシステム AWS リージョン がある の各アベイラビリティーゾーンにマウントターゲットが作成されます。マウントターゲットの作成手順については、「[マウントターゲットの管理](accessing-fs.md)」を参照してください。
**注記**  
新しく作成したマウントターゲットのライフサイクルステータスが**利用可能**になってから 60 秒待ってから DNS 経由でファイルシステムをマウントすることをお勧めします。この待機により、DNS レコード AWS リージョン はファイルシステムが存在する に完全に伝播されます。

  ご使用の EC2 インスタンスとは異なるアベイラビリティーゾーンでマウントターゲットを使用すると、アベイラビリティーゾーンから送信されるデータに対して EC2 の標準料金がかかります。また、ファイルシステムオペレーションのレイテンシーが増加することがあります。
+ 別のアベイラビリティーゾーンから 1 ゾーンファイルシステムをマウントするには:
  + **ファイルシステムのアベイラビリティーゾーンの名前** - EC2 インスタンスとは異なるアベイラビリティーゾーンにある EFS 1 ゾーンファイルシステムをマウントする場合。
  + **マウントターゲット 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 ビッグサーを実行している EC2 Mac インスタンスは NFS 4.0 のみをサポートします。
+ **EC2 インスタンスにインストールされた EFS マウントヘルパー**— マウントヘルパーは、ユーティリティの `amazon-efs-utils` パッケージにあるツールです。`amazon-efs-utils` のインストールについては、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。
+ **EC2 インスタンスは VPC 内にあります** – T接続する EC2 インスタンスは、Amazon VPC サービスに基づいて Virtual Private Cloud (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-efs-utils` パッケージは Amazon EC2 インスタンスにインストールされました。詳細については、「[Amazon EFS クライアントの手動インストール](installing-amazon-efs-utils.md)」を参照してください。
+ ファイルシステムにはマウントターゲットが作成されました。詳細については、「[マウントターゲットの管理](accessing-fs.md)」を参照してください。

**マウントヘルパーを使用して EC2 Linux インスタンスに EFS ファイルシステムをマウントするには**

1. Secure Shell (SSH) を介して EC2 Mac インスタンスのターミナルにアクセスし、適切なユーザー名でログインします。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)」を参照してください。

1. 以下のコマンドを使用して、ファイルシステムのマウントポイントとして使用するディレクトリ `efs` を作成します。

   ```
   sudo mkdir efs
   ```

1. 以下のコマンドの 1 つを使用してファイルシステムをマウントします。
**注記**  
EC2 インスタンスとマウントするファイルシステムが異なる AWS リージョンにある場合、[別の から EFS ファイルシステムをマウントする AWS リージョン](mount-different-region.md) 参照して `efs-utils.conf` ファイルの `region` プロパティを編集してください。
   + ファイルシステム ID を使用してマウントするには：

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

     *efs-mount-point* の代わりに `file-system-id` と `efs` にマウントするファイルシステムの ID を使用してください。

     ```
     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 経由でマウント**) 選択したアベイラビリティーゾーンのマウントターゲットの IP アドレスを NFS クライアントで使用します。

# EFS マウントヘルパーを使用して EC2 Mac インスタンスにマウントする
<a name="mounting-fs-mount-helper-ec2-mac"></a>

この手順には、以下について示します。
+ `amazon-efs-utils` パッケージは Amazon EC2 Mac インスタンスにインストールされました。詳細については、「[macOS Big Sur、macOS Monterey、または macOS Ventura を実行している EC2 Mac インスタンスに Amazon EFS クライアントをインストールする](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 での使用はサポートされていません。

**macOS Big Sur、Monterey、および Ventura を実行している EC2 Mac インスタンスに EFS マウントヘルパーを使用して EFS ファイルシステムをマウントするには**

1. Secure Shell (SSH) を介して EC2 Mac インスタンスのターミナルにアクセスし、適切なユーザー名でログインします。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](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 経由でマウント**) 選択したアベイラビリティーゾーンのマウントターゲットの IP アドレスを NFS クライアントで使用します。

# 別の から EFS ファイルシステムをマウントする AWS リージョン
<a name="mount-different-region"></a>

ファイルシステム AWS リージョン とは異なる にある EC2 インスタンスから EFS ファイルシステムをマウントするには、 `efs-utils.conf` ファイル内の `region`プロパティ値を編集する必要があります。

**`efs-utils.conf` の `region` プロパティを編集するには**

1. Secure Shell (SSH) を介して EC2 インスタンスのターミナルにアクセスし、適切なユーザー名でログインします。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](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. [Linux](mounting-fs-mount-helper-ec2-linux.md) または [Mac](mounting-fs-mount-helper-ec2-mac.md) インスタンス用の EFS マウントヘルパーを使用してファイルシステムをマウントします。

# 1 ゾーンファイルシステムをマウントする
<a name="mounting-one-zone"></a>

EFS 1 ゾーンファイルシステムは、ファイルシステムと同じアベイラビリティーゾーンに配置されている 1 つのマウントターゲットのみをサポートします。マウントターゲットは追加できません。このセクションでは、1 ゾーンファイルシステムをマウントする際に考慮すべき事項について説明します。

アベイラビリティーゾーン間のデータ転送料金を回避し、ファイルシステムのマウントターゲットと同じアベイラビリティーゾーンにある Amazon EC2 コンピューティングインスタンスを使用して EFS ファイルシステムにアクセスすることで、パフォーマンスを向上させることができます。

このセクションの手順では、次が必要となります。
+ EC2 インスタンスに `amazon-efs-utils package` をインストールしました。詳細については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。
+ ファイルシステムにマウントターゲットを作成しました。詳細については、「[マウントターゲットの管理](accessing-fs.md)」を参照してください。

## 別のアベイラビリティーゾーンの EC2 で 1 ゾーンファイルシステムをマウントする
<a name="mounting-one-zone-efs-util"></a>

別のアベイラビリティーゾーンにある Amazon EC2 インスタンスに 1 ゾーンファイルシステムをマウントする場合は、mount helper mount コマンドでファイルシステムのアベイラビリティーゾーン名またはファイルシステムのマウントターゲットの 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 マウントヘルパーを使用して、1 ゾーンファイルシステムを別のアベイラビリティーゾーンに自動的にマウントする
<a name="automount-one-zone-efs-utils"></a>

別のアベイラビリティーゾーンに配置されている EC2 インスタンスに EFS 1 ゾーンファイルシステムをマウントするために `/etc/fstab` を使用する場合は、ファイルシステムのアベイラビリティーゾーン名またはファイルシステムのマウントターゲットの DNS 名を `/etc/fstab` エントリに指定する必要があります。

```
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
```

### 1 ゾーンファイルシステムを自動的にマウントする
<a name="automnt-one-zone-nfs"></a>

1 ゾーンストレージを使用して EC2 インスタンスを別のアベイラビリティーゾーンにある EFS ファイルシステムをマウントするために `/etc/fstab` を使用の場合は、ファイルシステムのアベイラビリティーゾーン名とファイルシステムの DNS 名を `/etc/fstab` エントリに指定する必要があります。

```
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)」を参照してください。

## 1 ゾーンファイルシステムを他の AWS コンピューティングインスタンスにマウントする
<a name="mounting-one-zone-other-compute-instances"></a>

Amazon Elastic Container Service、Amazon Elastic Kubernetes Service、または で 1 ゾーンファイルシステムを使用する場合は AWS Lambda、EFS ファイルシステムが存在するのと同じアベイラビリティーゾーンを使用するようにサービスを設定する必要があります。以下に示し、以下のセクションで説明します。

![\[AWS EFS 1 ゾーンファイルシステムに接続するコンピューティングインスタンス。\]](http://docs.aws.amazon.com/ja_jp/efs/latest/ug/images/efs-mount-onezone.png)


### Amazon Elastic Container サービスからの接続
<a name="mount-one-zone-ecs"></a>

Amazon ECS ファイルシステムと EFS ファイルシステムを使用して、コンテナインスタンスのフリート全体でファイルシステムデータを共有して、配置されているインスタンスにかかわらず、タスクが同じ永続的ストレージにアクセスできます。EFS 1 ゾーンファイルシステムを Amazon ECS で使用するには、タスクを起動するときに、ファイルシステムと同じアベイラビリティーゾーンにあるサブネットのみを選択する必要があります。詳細については、*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 から 1 ゾーンファイルシステムをマウントする場合は、Amazon EFS [コンテナストレージインターフェイス](https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html) (CSI) ドライバーを使用することができ、EFS アクセスポイントをサポートし、Amazon EKS またはセルフマネージド型 Kubernetes クラスター内の複数のポッド間でファイルシステムを共有します。Amazon EFS CSI ドライバーは Fargate スタックにインストールされています。EFS 1 ゾーンファイルシステムで Amazon EFS CSI ドライバーを使用する場合、ポッドを起動するときに `nodeSelector` オプションを使用することができ、ファイルシステムと同じアベイラビリティーゾーン内でスケジュールされるようにします。

### からの接続 AWS Lambda
<a name="mount-one-zone-lambda"></a>

で Amazon EFS を使用すると AWS Lambda 、関数の呼び出し間でデータを共有したり、大きな参照データファイルを読み取ったり、関数出力を永続的な共有ストアに書き込んだりできます。Lambda は、関数インスタンスを同じアベイラビリティーゾーンとサブネットにある EFS マウントターゲットに安全に接続します。1 ゾーンファイルシステムで Lambda を使用する場合は、ファイルシステムと同じアベイラビリティーゾーンにあるサブネットへの呼び出しのみを起動するように関数を設定します。

# IAM 認可を使用してマウントする
<a name="mounting-IAM-option"></a>

 AWS Identity and Access Management (IAM) 認可を使用して EFS ファイルシステムを Linux インスタンスにマウントするには、EFS マウントヘルパーを使用します。NFS クライアントの IAM 認可の詳細については、「[IAM を使用してファイルシステムへのアクセスを制御する](iam-access-control-nfs-efs.md)」を参照してください。

以下のセクションの手順に従うには、ファイルシステムのマウントポイントとして使用するディレクトリを作成する必要があります。次のコマンドを使用して、マウントポイントディレクトリ `efs` を作成できます。

```
sudo mkdir efs
```

その後、`efs-mount-point` のインスタンスを `efs` に置き換えることができます。

## EC2 インスタンスプロファイルを使用した IAM によるマウント
<a name="mount-iam-ec2-profile"></a>

インスタンスプロファイル持つ Amazon EC2 インスタンスに対して IAM 認可によるマウントを行う場合は、次に示すように、マウントオプションとして `tls` と `iam` を使用します。

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

インスタンスプロファイルを持つ EC2 インスタンスに対して IAM 認可によるマウントを自動的に行うには、EC2 インスタンスの `/etc/fstab` ファイルに次の行を追加します。

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

## 名前付きプロファイルを使用した IAM によるマウント
<a name="mount-iam-creds-file"></a>

認証情報 AWS CLI ファイル にある IAM 認証情報、または AWS CLI 設定ファイル を使用して`~/.aws/credentials`、IAM 認可を使用してマウントできます`~/.aws/config`。`"awsprofile"` が指定されていない場合は、"デフォルト" のプロファイルが使用されます。

認証情報ファイルを使用して Linux インスタンスに対して IAM 認可によるマウントを行うには、次に示すように `tls`、`awsprofile`、`iam` マウントオプションを使用します。

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

認証情報ファイルを使用して Linux インスタンスに対して IAM 認可によるマウントを自動的に行うには、EC2 インスタンスの `/etc/fstab` ファイルに次の行を追加します。

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

# Amazon EFS アクセスポイントを使用してマウントする
<a name="mounting-access-points"></a>

EFS マウントヘルパーを使用することによってのみ、EFS アクセスポイントを使用して EFS ファイルシステムをマウントできます。

**注記**  
EFS アクセスポイントを使用してファイルシステムをマウントする場合、ファイルシステム用の 1 つ以上のマウントターゲットを設定する必要があります。

アクセスポイントを使用してファイルシステムをマウントする場合、mount コマンドには、通常のマウントオプションに加えて、`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)」を参照してください。

# 複数の EC2 インスタンスへの EFS のマウント
<a name="mount-multiple-ec2-instances"></a>

 AWS Systems Manager Run Command を使用すると、各インスタンスにログインしなくても、リモートから安全に EFS ファイルシステムを複数の Amazon EC2 インスタンスにマウントできます。 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. バージョン 1.28.1 以降の Amazon EFS クライアント (amazon-efs-utils パッケージ) が EC2 インスタンスにインストールされています。 AWS Systems Manager を使用して、インスタンスに パッケージを自動的にインストールできます。詳細については、「[ステップ 2: State Manager で使用される関連付けを設定する](setting-up-aws-sys-mgr.md#config-sys-mgr-association)」を参照してください。

**コンソールを使用して複数の EFS ファイルシステムを複数の EC2 インスタンスにマウントするには**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) で AWS Systems Manager コンソールを開きます。

1. ナビゲーションペインで、[**Run Command**] を選択します。

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. その他の追加設定を行ってください。**Run (実行)** を選択し、コマンドで指定された EFS ファイルシステムをマウントします。

   コマンドを実行すると、そのステータスがコマンド履歴に表示されます。

# 別の AWS アカウント または VPC からの EFS ファイルシステムのマウント
<a name="manage-fs-access-vpc-peering"></a>

EFS マウントヘルパーを使用し、NFS クライアントおよび EFS アクセスポイントに対して IAM 認可を使用することで、EFS ファイルシステムをマウントできます。既定では、EFS マウントヘルパーは、ドメインネームサービス (DNS) を使用して、EFS マウントターゲットの IP アドレスを解決します。別のアカウントまたは Virtual Private Cloud (VPC) からファイルシステムをマウントする場合は、EFS マウントターゲットを手動で解決する必要があります。

次に、NFS クライアントに使用する正しい EFS マウントターゲットの IP アドレスを決定する手順を示します。また、その 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>

共有 VPC を使用して、 AWS アカウント が所有する EFS ファイルシステムを、別の AWS アカウントが所有する Amazon EC2 インスタンスからマウントすることができます。VPC サブネット共有の詳細については、「*Amazon VPC ピアリングガイド*」の「[VPC を他のアカウントと共有する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html)」を参照してください。

VPC 共有をセットアップしたら、EC2 インスタンスで、ドメインネームシステム (DNS) 名前解決または EFS マウントヘルパーを使用して EFS ファイルシステムをマウントできるようになります。EFS マウントヘルパーを使用して、EFS ファイルシステムをマウントすることをお勧めします。

# 別の VPC からの EFS ファイルシステムのマウント
<a name="mount-fs-different-vpc"></a>

VPC ピアリング接続またはトランジットゲートウェイを使用して VPC に接続する場合、ある VPC 上の Amazon EC2 インスタンスから別の VPC の EFS ファイルシステムにアクセスすることができます。VPC 同士が異なるアカウントに属していても可能です。

別の VPC で EFS マウントポイントに DNS 名前解決を使用することはできません。EFS ファイルシステムをマウントするには、対応する可用性ゾーンのマウントポイントの IP アドレスを使用します。

または、DNS サービスとして Amazon Route 53 を使用することもできます。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-utils` の一部である、Amazon EFS クライアントをインストールします。EFS マウントヘルパーを使用します。これは `amazon-efs-utils` に含まれ、ファイルシステムをマウントします。`amazon-efs-utils` のインストール手順については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。
+ `ec2:DescribeAvailabilityZones` に、インスタンスにアタッチした IAM ロールの IAM ポリシー内のアクションを許可します。 AWS 管理ポリシーを IAM エンティティ`AmazonElasticFileSystemsUtils`にアタッチして、エンティティに必要なアクセス許可を付与することをお勧めします。
+ 別の からマウントする場合は 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 をインストールしてください。EFS クライアントは、ファイルシステムを別の VPC にマウントするときにファイルシステムの DNS 名を解決できない場合に、ボトコアを使用してマウントターゲット IP アドレスを取得します。詳細については、「`amazon-efs-utils` README」ファイルの「[botocore のインストール](https://github.com/aws/efs-utils#Install-botocore)」を参照してください。
+ VPC ピアリング接続または VPC トランジットゲートウェイを設定します。

  クライアントの VPC と EFS ファイルシステムの VPC を接続するには、VPC ピアリング接続または VPC トランジットゲートウェイを使用します。VPC ピアリング接続またはトランジットゲートウェイを使用して VPC に接続する場合、ある VPC 上の Amazon EC2 インスタンスから別の VPC の EFS ファイルシステムにアクセスすることができます。VPC 同士が異なるアカウントに属していても可能です。

  トランジットゲートウェイは、VPC とオンプレミスネットワークを相互接続するために使用できるネットワークの中継ハブです。Transit Gateways の詳細については、*Amazon VPC Transit Gateways Guide*の [Transit Gatewayで始める](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-getting-started.html) を参照してください。

  VPC ピアリング接続は、2 つの VPC 間のネットワーク接続です。このタイプの接続では、インターネットプロトコルバージョン 4 (IPv4) またはインターネットプロトコルバージョン 6 (IPv6) のプライベートアドレスを使用して、2 つの VPC 間でトラフィックをルーティングできます。VPC ピアリングを使用して、同じ 内 AWS リージョン または 間で VPCs を接続できます AWS リージョン。VPC ピアリング詳細については、*Amazon VPC Peering Guide*の「[VPC ピアリングとは](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)」を参照してください。

ファイルシステムの高可用性を確保するために、NFS クライアントと同じアベイラビリティーゾーン (AZ) にある EFS マウントターゲットの IP アドレスを常に使用することをお勧めします。別のアカウントにある EFS ファイルシステムをマウントする場合は、NFS クライアントと EFS マウントターゲットが同じ アベイラビリティーゾーン ID にあることを確認します。この要件が適用されるのは、AZ 名がアカウントによって異なる可能性があるためです。

**IAM またはアクセスポイントを使用して EFS ファイルシステムを別の VPC にマウントするには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](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/
   ```

   EFS を使用した IAM 認可の詳細については、「[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
```

行のコメントを解除し、`us-east-1` にない場合、ファイルシステムが配置されているリージョンのIDの値を置換します。

# ネットワークファイルシステムを使用した EFS ファイルシステムのマウント
<a name="mounting-fs-old"></a>

以下では、ネットワーク ファイルシステム (NFS) クライアントをインストールする方法と、Amazon EFS ファイルシステムを Amazon EC2 インスタンスにマウントする方法について説明します。また、`mount` コマンドの説明と、`mount` コマンドでファイルシステムの ドメインネームシステム (DNS) 名を指定するために使用可能なオプションについても説明します。加えて、システムの再起動後に `fstab` ファイルを使用してファイルシステムを自動的に再マウントする方法を説明します。

**注記**  
このセクションでは、amazon-efs-utils パッケージを使用せずに、Amazon EFS ファイルシステムをマウントする方法について説明します。ファイルシステムを使用して、転送時のデータの暗号化を使用するには、Transport Layer Security (TLS) を使用して、ファイルシステムをマウントする必要があります。これを行うには、amazon-efs-utils パッケージを使用することをお勧めします。詳細については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。

**Topics**
+ [前提条件](#reqs-mount-nfs)
+ [NFS サポート](#mounting-fs-nfs-info)
+ [NFS クライアントをインストールする](mounting-fs-install-nfsclient.md)
+ [推奨される NFS マウント設定](mounting-fs-nfs-mount-settings.md)
+ [DNS 名を使用して Amazon EC2 にマウントする](mounting-fs-mount-cmd-dns-name.md)
+ [IP アドレスを使用してマウントする](mounting-fs-mount-cmd-ip-addr.md)

## 前提条件
<a name="reqs-mount-nfs"></a>

ファイルシステムをマウントする前に、次の要件が満たされていることを確認してください。
+ 関連する AWS リソースを作成、設定、起動します。手順については、「[Amazon EFS の開始方法](getting-started.md)」を参照してください。
+ Amazon EC2 インスタンスとマウントターゲットに、必要なインバウンドおよびアウトバウンドアクセス権を持つ VPC セキュリティグループを作成します。詳細については、「[VPC セキュリティグループを使用する](network-access.md)」を参照してください。

## NFS サポート
<a name="mounting-fs-nfs-info"></a>

Amazon EFS は、ファイルシステムを Amazon EC2 インスタンスにマウントするときに、[Network File System(ネットワークファイルシステム)] バージョン 4.0 と 4.1 (NFSv4) プロトコルをサポートします。NFSv4.0 はサポートされていますが、NFSv4.1 を使用することをお勧めします。Amazon EC2 インスタンスに Amazon EFS ファイルシステムをマウントするには、選択した NFSv4 プロトコルをサポートする NFS クライアントも必要になります。macOS Big Sur を実行している Amazon EC2 Mac インスタンスは、NFS v4.0 のみをサポートします。

Amazon EFS は、`nconnect` マウントオプションをサポートしていません。

**注記**  
Linux カーネルバージョン5.4.\$1では、Linux NFS クライアントは、デフォルトの `read_ahead_kb` の値である 128KB を使用します。この値を 15 MB に増やすことをお勧めします。詳細については、「[NFS を最適化する read\$1ahead\$1kb サイズ](performance-tips.md#efs-perf-optimize-nfs-read-ahead)」を参照してください。

最適なパフォーマンスのため、また、既知のさまざまな NFS クライアントのバグを避けるため、最新の Linux カーネルの使用をお勧めします。エンタープライズ Linux ディストリビューションを使用している場合は、以下をお勧めします。
+ Amazon Linux 2
+ Amazon Linux 2017.09 以降
+ Red Hat Enterprise Linux (および CentOS などの派生製品) バージョン 8 以降
+ Ubuntu 16.04 LTS 以降
+ SLES 12 Sp2 以降

別のディストリビューションまたはカスタムカーネルを使用している場合は、カーネルバージョン 4.3 以降をお勧めします。EC2 インスタンスから Amazon EFS を使用する場合の、特定の AMI またはカーネルバージョンに関連する問題のトラブルシューティングを行うには [AMI とカーネルの問題のトラブルシューティング](troubleshooting-efs-ami-kernel.md) を参照してください。

**注記**  
Microsoft Windows を実行している Amazon EC2 インスタンスで EFS ファイルシステムをマウントすることはサポートされていません。

# NFS クライアントをインストールする
<a name="mounting-fs-install-nfsclient"></a>

Amazon EC2 インスタンスに EFS ファイルシステムをマウントするには、まず NFS クライアントをインストールする必要があります。EC2 インスタンスに接続して NFS クライアントをインストールするには、EC2 インスタンスの公開 DNS 名とユーザー名でログインする必要があります。インスタンスのユーザー名は通常 `ec2-user` です。

**EC2 インスタンスに接続し、NFS クライアントをインストールするには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)」を参照してください。

   キーファイルは SSH 用に公開できません。これらの許可を設定するには、**chmod 400 *filename*.pem** コマンドを使用できます。詳細については、「[Amazon EC2 インスタンスのキーペアを作成する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)」を参照してください。

1. (オプション) アップデートを入手して再起動します。

   ```
   $ sudo yum -y update 
               $  sudo reboot
   ```

1. 再起動後、EC2 インスタンスに再接続します。

1. NFS クライアントをインストールします。

   Amazon Linux AMI または Red Hat Linux AMI を使用している場合は、次のコマンドを使用して NFS クライアントをインストールします。

   ```
   $ sudo yum -y install nfs-utils
   ```

   Ubuntu Amazon EC2 AMI を使用している場合は、次のコマンドを使用して NFS クライアントをインストールします。

   ```
   $ sudo apt-get -y install nfs-common
   ```

1. 次のコマンドを使用して NFS サービスを起動します。

   ```
   $ sudo service nfs-server start
   ```

1. 次のように、NFS サービスが起動したことを確認します。

   ```
   $ sudo service nfs-server status
   Redirecting to /bin/systemctl status nfs.service
   ● nfs-server.service - NFS server and services
      Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
      Active: active (exited) since Wed 2019-10-30 16:13:44 UTC; 5s ago
     Process: 29446 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
     Process: 29441 ExecStartPre=/bin/sh -c /bin/kill -HUP `cat /run/gssproxy.pid` (code=exited, status=0/SUCCESS)
     Process: 29439 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
    Main PID: 29446 (code=exited, status=0/SUCCESS)
      CGroup: /system.slice/nfs-server.service
   ```

カスタムカーネル (カスタム AMI を構築する場合) を使用する場合は、少なくとも NFSv4.1 クライアントカーネルモジュールと適切な NFS4 ユーザースペースマウントヘルパーを含める必要があります。

**注記**  
Amazon EC2 インスタンスの起動時に [**Amazon Linux AMI 2016.03.0**] または [**Amazon Linux AMI 2016.09.0**] を選択する場合、`nfs-utils` はデフォルトですでに AMI に含まれているため、インストールする必要はありません。

**次の手順: ファイルシステムをマウントする**  
以下のいずれかの手順を実行し、ファイルシステムをマウントします。
+ [DNS 名を使用して Amazon EC2 にマウントする](mounting-fs-mount-cmd-dns-name.md)
+ [IP アドレスを使用してマウントする](mounting-fs-mount-cmd-ip-addr.md)
+ [EFS ファイルシステムの自動マウントNFS を使用した EC2 Linux または Mac インスタンスでの自動マウントの有効化](nfs-automount-efs.md)

# 推奨される NFS マウント設定
<a name="mounting-fs-nfs-mount-settings"></a>

Linux の マウントオプションには次の値をお勧めします。
+ `noresvport` - ネットワーク接続が再確立された時に、新しい非特権の Transmission Control Protocol (TCP) 送信元ポートを使用するように、NFS クライアントに指示します。古いバージョンの Linux カーネル (バージョン v5.4 以下) に含まれている NFS クライアントソフトウェアには、切断時に NFS クライアントが同じ TCP ソースポートで再接続を試みるという動作が含まれています。この動作は TCP RFC に準拠していないため、これらのクライアントが EFS ファイルシステムへの接続をすぐに再確立できなくなる可能性があります。

  `noresvport` オプションを使用すると、NFS クライアントが EFS ファイルシステムに透過的に再接続できるようになり、ネットワーク回復イベント後に再接続しても中断されない可用性が維持されます。
**重要**  
再接続やネットワーク復旧イベントの後も EFS ファイルシステムの可用性が中断されないように、`noresvport` マウントオプションを使用することを強くお勧めします。  
[EFS マウントヘルパー](mounting-fs.md)を使用して、ファイルシステムをマウントすることを検討します。EFS マウントヘルパーは、Amazon EFS ファイルシステム用に最適化された NFS マウントオプションを使用します。
+ `rsize=1048576` - 各ネットワーク読み取りリクエストに対して NFS クライアントが受信できるデータの最大バイト数を設定します。この値は、EFS ファイルシステム上のファイルからデータを読み取る際に適用されます。パフォーマンスが低下しないように、可能な限り大きいサイズ (最大 `1048576`) を使用することをお勧めします。
+ `wsize=1048576` - 各ネットワーク書き込みリクエストに対して NFS クライアントが送信できるデータの最大バイト数を設定します。この値は、EFS ファイルシステム上のファイルにデータを書き込む際に適用されます。パフォーマンスが低下しないように、可能な限り大きいサイズ (最大 `1048576`) を使用することをお勧めします。
+ `hard` - NFS リクエストがタイムアウトした後の NFS クライアントのリカバリ動作を設定します。これにより、NFS リクエストは、サーバーが応答するまで無期限に再試行されます。データの整合性を確保できるように、ハードマウントオプション (`hard`) を使用することをお勧めします。`soft` マウントを使用する場合は、`timeo` パラメータを `150` デシ秒 (15 秒) 以上に設定してください。これにより、ソフトマウントに固有のデータ破損が生じるリスクを最小限に抑えることができます。
+ `timeo=600` - NFS クライアントがレスポンスを待機するのに要するタイムアウト値を設定してから、NFS リクエストを 600 デシ秒 (60 秒) に設定します。タイムアウトパラメータ (`timeo`) を変更する必要がある場合は、少なくとも `150` の値を使用することをお勧めします。これは 15 秒に相当します。これにより、パフォーマンスの低下を避けることができます。
+ `retrans=2` - NFS クライアントでリカバリアクションを試行する前に、そのアクションのリクエスト試行回数を 2 回に設定します。
+ `_netdev` – `/etc/fstab` に存在する場合、クライアントは、ネットワークが有効になるまで、EFS ファイルシステムをマウントすることはできません。
+ `nofail` – マウントされた EFS ファイルシステムのステータスに関係なく EC2 インスタンスを起動する必要がある場合は、`/etc/fstab` ファイルのファイルシステムのエントリに `nofail` オプションを追加します。

前述のデフォルト設定を使用しない場合は、以下の点に注意してください。
+ 一般に、デフォルトとは異なる他のマウントオプションを設定しないでください。パフォーマンスが低下し、別の問題が生じる可能性があります。たとえば、読み取りまたは書き込みバッファサイズを変更したり、属性のキャッシュを無効にしたりするとパフォーマンスが損なわれる可能性があります。
+ Amazon EFS は送信元ポートを無視します。Amazon EFS 送信元ポートを変更した場合、変更は無効になります。
+ Amazon EFS では、`nconnect` マウントオプションをサポートしていません。
+ Amazon EFS では Kerberos セキュリティバリアントをサポートしていません。たとえば、以下のマウントコマンドは失敗します。

  ```
   $ mount -t nfs4 -o krb5p <DNS_NAME>:/ /efs/ 
  ```
+ ファイルシステムは、DNS 名を使用してマウントすることをお勧めします。この名前は、Amazon EC2 インスタンスと同じアベイラビリティーゾーンの Amazon EFS マウントターゲットの IP アドレスに解決されます。ご使用の Amazon EC2 インスタンスとは異なるアベイラビリティーゾーンでマウントターゲットを使用すると、アベイラビリティーゾーンから送信されるデータに対して EC2 の標準料金がかかります。また、ファイルシステムオペレーションのレイテンシーが増加することがあります。
+ 他のマウントオプションや、デフォルト設定の詳細な説明については、Linux のドキュメントを参照してください。

# DNS 名を使用して Amazon EC2 にマウントする
<a name="mounting-fs-mount-cmd-dns-name"></a>

**注記**  
ファイルシステムをマウントする前に、ポート 2049 で EC2 セキュリティグループからのインバウンドの NFS アクセスを許可するルールをマウントターゲットのセキュリティグループに追加する必要があります。詳細については、「[VPC セキュリティグループを使用する](network-access.md)」を参照してください。
+ **ファイルシステムの DNS 名** – ファイルシステムの DNS 名を使用するのがもっとも簡単なマウントオプションです。ファイルシステムの DNS 名は、接続する Amazon EC2 インスタンスのアベイラビリティーゾーン内のマウントターゲットの IP アドレスを自動的に解決します。この DNS 名はコンソールから取得できます。ファイルシステム ID がある場合は、次の規則を使用してコンストラクトすることができます。

  ```
  file-system-id.efs.aws-region.amazonaws.com
  ```
**注記**  
 ファイルシステムの DNS 名の DNS 解決には、Amazon EFS ファイルシステムが、クライアント インスタンスと同じアベイラビリティーゾーンにマウントターゲットがある必要があります。
  + ファイルシステムの DNS 名を使用して、Amazon EC2 Linux インスタンスにファイルシステムをマウントするには次のコマンドを使用します。

    ```
    sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ /efs-mount-point
    ```
  + ファイルシステムの DNS 名を使用して、macOS バージョン (Big Sur、Monterey、Ventura) をサポートしている Amazon EC2 Mac インスタンスにファイルシステムをマウントするには、次のコマンドを使用します。

    ```
    sudo mount -t nfs -o nfsvers=4.0,rsize=65536,wsize=65536,hard,timeo=600,retrans=2,noresvport,mountport=2049 file-system-id.efs.aws-region.amazonaws.com:/ /efs
    ```
**重要**  
macOS バージョンをサポートしている EC2 Mac インスタンスにマウントするときに EFS ファイルシステムに正常に接続するには、`mountport=2049` を使用する必要があります。
+ **マウントターゲットの DNS 名** – 2016 年 12 月、ファイルシステムの DNS 名を導入しました。各アベイラビリティーゾーンマウントターゲットに DNS 名を引き続き提供し、下位互換性を確保します。一般的な形式のマウントターゲット DNS 名は次のようになります。

  ```
  availability-zone.file-system-id.efs.aws-region.amazonaws.com
  ```
**注記**  
アベイラビリティーゾーン間でのマウントターゲット DNS 名解決がサポートされています。

  場合によっては、マウントターゲットを削除して同じアベイラビリティーゾーンに新たに作成します。このような場合は、そのアベイラビリティーゾーンの新しいマウントターゲットの DNS 名は、古いマウントターゲットの DNS 名と同じになります。

ファイルシステムをマウントするための正確なコマンドを 「**Attach(添付)**」 ダイアログボックスで表示し、コピーすることができます。

**ファイルシステムのマウントコマンドを表示するには**

1. Amazon EFS コンソールで、マウントするファイルシステムを選択して詳細ページを表示します。

1. このファイルシステムで使用するマウントコマンドを表示するには、右上の **[アタッチ]** を選択します。

   「**Attach(添付)**」画面には、ファイルシステムのマウントに使用する正確なコマンドが表示されます。

1. デフォルトの［**Mount via DNS (DNS 経由でマウントする)**］ビューでは、EFS マウントヘルパーまたは NFS クライアントでマウントする際に、ファイルシステムの DNS 名を使用してファイルシステムをマウントするコマンドが表示されます。

Amazon EFS をサポートする AWS リージョンのリストについては、 の[Amazon Elastic File System](https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticfilesystem-region)」を参照してください AWS 全般のリファレンス。

`mount` コマンドで DNS 名を使用するには、以下の条件が満たされている必要があります。
+ 接続する EC2 インスタンスは VPC 内にあり、Amazon が提供する DNS サーバーを使用するように設定されている必要があります。Amazon DNS サーバーの詳細については、「*Amazon VPC ユーザーガイド*」の「[Amazon VPC の DHCP オプションセット](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)」を参照してください。
+ 接続する EC2 インスタンスの VPC で **DNS 解決**と **DNS ホスト名**の利用が有効になっている必要があります。詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC の DNS 属性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-viewing)」を参照してください。
+ 接続する EC2 インスタンスは、EFS ファイルシステムと同じ VPC 内にある必要があります。別の場所または別の VPC からの、ファイルシステムへのアクセスおよびマウントの詳細については、[前提条件](mounting-fs-mount-helper-direct.md#efs-onpremises) および [チュートリアル: 別の VPC からファイルシステムをマウントする](efs-different-vpc.md) を参照してください。

**注記**  
ファイルシステムをマウントする前に、マウントターゲットを作成してから 90 秒待機することをお勧めします。この待機により、DNS レコードはファイルシステム AWS リージョン がある で完全に伝播されます。

# IP アドレスを使用してマウントする
<a name="mounting-fs-mount-cmd-ip-addr"></a>

Amazon EFS ファイルシステムを DNS 名でマウントする代わりに、Amazon EC2 インスタンスはマウントターゲットの IP アドレスを使ってファイルシステムをマウントすることができます。IP アドレスによるマウントは、DNS ホスト名が無効化されている VPC などの、DNS が無効な環境で機能します。

デフォルトで DNS 名を使用してファイルシステムをマウントするように設定されたアプリケーションのフォールバックオプションとして、マウントターゲット IP アドレスを使用してファイルシステムのマウントを設定することもできます。マウントターゲット IP アドレスに接続する場合、EC2 インスタンスは接続先インスタンスと同じアベイラビリティーゾーンのマウントターゲット IP アドレスを使用してマウントする必要があります。

ファイルシステムをマウントするための正確なコマンドを「**Attach(添付)**」ダイアログボックスで表示し、コピーすることができます。

**注記**  
ファイルシステムをマウントする前に、ポート 2049 で EC2 セキュリティグループからのインバウンドの NFS アクセスを許可するルールをマウントターゲットのセキュリティグループに追加する必要があります。詳細については、「[VPC セキュリティグループを使用する](network-access.md)」を参照してください。

**マウントターゲット IP アドレスを使用して EFS ファイルシステムをマウントするための正確なコマンドを表示およびコピーするには**

1. Amazon Elastic File System コンソールの [https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/) を開いてください。

1. Amazon EFS コンソールで、マウントするファイルシステムを選択して詳細ページを表示します。

1. このファイルシステムで使用するマウントコマンドを表示するには、右上の **[アタッチ]** を選択します。

1. 「**Attach(添付)**」画面には、ファイルシステムのマウントに使用する正確なコマンドが表示されます。

   [**Mount via IP(IP経由でマウント)**]を選択して、NFSクライアントで選択したアベイラビリティーゾーンのマウントターゲットIPアドレスを使用してファイルシステムをマウントするコマンドを表示します。
+ `mount` コマンドでマウントターゲットの IP アドレスを使用して、次のコマンドで Amazon EC2 Linux インスタンスにファイルシステムをマウントすることができます。

  ```
  sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/   /efs 
  ```
+ `mount` コマンドでマウントターゲットの IP アドレスを使用して、次のコマンドで macOS Big Sur を実行している Amazon EC2 Mac インスタンスにファイルシステムをマウントすることができます。

  ```
  sudo mount -t nfs -o nfsvers=4.0,rsize=65536,wsize=65536,hard,timeo=600,retrans=2,noresvport,mountport=2049 mount-target-IP:/ /efs
  ```
**重要**  
macOS Big Sur を実行している EC2 Mac インスタンスにマウントするときに EFS ファイルシステムに正常に接続するには、`mountport=2049` を使用する必要があります。

## での IP アドレスを使用したマウント AWS CloudFormation
<a name="mount-fs-ip-addr-cloudformation"></a>

 CloudFormation テンプレートの IP アドレスを使用してファイルシステムをマウントすることもできます。詳細については、GitHub のコミュニティが提供している設定ファイルの**awsdocs/elastic-beanstalk-samples** リポジトリの [storage-efs-mountfilesystem-ip-addr.config](https://github.com/awsdocs/elastic-beanstalk-samples/blob/master/configuration-files/community-provided/instance-configuration/storage-efs-mountfilesystem-ip-addr.config) を参照してください。

# EFS ファイルシステムの自動マウント
<a name="mount-fs-auto-mount-onreboot"></a>

EFS マウントヘルパーまたは NFS を使用して Amazon EC2 インスタンスを設定することで、インスタンスの起動時に自動的に EFS ファイルシステムをマウントできます。
+ EFS マウントヘルパーの使用
  + EC2 インスタンス起動ウィザードを使用して新しい EC2 Linux インスタンスを作成するときに、EFS ファイルシステムをアタッチします。
  + EFS ファイルシステムのエントリで EC2 の `/etc/fstab` ファイルを更新する。
+ EC2 Linux および Mac インスタンスを対象に、[NFS を使用して EFS マウントヘルパーなしで](https://docs.aws.amazon.com/efs/latest/ug/nfs-automount-efs.html) EC2 の `/etc/fstab` ファイルを更新します。

**注記**  
EFS マウントヘルパーは、macOS Big Sur または Monterey を実行している EC2 Mac インスタンスでの自動マウントをサポートしていません。代わりに、[NFS を使用して EC2 Mac インスタンスの /etc/fstab ファイルを設定](nfs-automount-efs.md)し、EFS ファイルシステムを自動的にマウントすることができます。

**Topics**
+ [新しい EC2 Linux インスタンスでの自動マウントの有効化](mount-fs-auto-mount-on-creation.md)
+ [既存の EC2 Linux インスタンスでの自動マウントの有効化](mount-fs-auto-mount-update-fstab.md)
+ [NFS を使用した EC2 Linux または Mac インスタンスでの自動マウントの有効化](nfs-automount-efs.md)

# 新しい EC2 Linux インスタンスでの自動マウントの有効化
<a name="mount-fs-auto-mount-on-creation"></a>

Amazon EC2 インスタンス起動ウィザードを使用して新しい EC2 Linux インスタンスを作成する場合、Amazon EFS ファイルシステムが自動的にマウントされるように設定できます。EC2 インスタンスでは、インスタンスが最初に起動されたときと再起動ごとに、ファイルシステムが自動的にマウントされます。

この方法では、EFS マウントヘルパーを使用してファイルシステムをマウントし、EC2 インスタンス上で /etc/fstab ファイルを更新します。マウントヘルパーは、[`amazon-efs-utils`](using-amazon-efs-utils.md) というツールセットの一部です。

**注記**  
EFS ファイルシステムは、インスタンスの起動時に macOS Big Sur または Monterey を実行する EC2 Mac インスタンスへのマウントをサポートしていません。

**注記**  
Amazon EFS は、Microsoft Windows ベースの Amazon EC2 インスタンスでは使用できません。

EC2 インスタンスを起動して接続する前に、キーペアを作成する必要があります。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 のキーペアと Amazon EC2 インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)」を参照してください。

**起動時に自動的に EFS ファイルシステムをマウントするよう EC2 インスタンスを設定するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. [**インスタンスの作成**] を選択してください。

1. [**ステップ 1: Amazon マシンイメージ (AMI) の選択**] で、リストの一番上にある Amazon Linux AMI を見つけて [**選択**] を選択します。

1. **[ステップ 2: インスタンスタイプの選択]** で、**[次へ: インスタンスの詳細の設定]** を選択します。

1. **[ステップ 3: インスタンスの詳細の設定]** で、以下の情報を入力します。
   + [**ネットワーク**] で、マウントする EFS ファイルシステムと同じ VPC のエントリを選択します。
   + **[サブネット]** で、任意のアベイラビリティーゾーンのデフォルトのサブネットを選択します。
   + [**ファイルシステム**] で、マウントする EFS ファイルシステムを選択します。ファイルシステム ID の横に表示されるパスは、EC2 インスタンスが使用するマウントポイントです。このマウントポイントは変更できます。
   + [**Advanced Details (高度な詳細)**] の [**User data (ユーザーデータ)**] で、ユーザーデータが自動的に生成されます。このデータには、[**File systems (ファイルシステム)**] で指定した EFS ファイルシステムをマウントするために必要なコマンドが含まれます。

1. [**Next: Add Storage**] (次の手順: ストレージの追加) を選択します。

1. [**次の手順：タグの追加**] を選択します。

1. インスタンスに名前を付け、**[次へ: セキュリティグループの設定]** を選択します。

1. **[ステップ 6: セキュリティグループの設定]** で、**[セキュリティグループの割り当て]** を **[既存のセキュリティグループを選択する]** に設定します。デフォルトのセキュリティグループを選択して、EFS ファイルシステムにアクセスできることを確認します。

   このセキュリティグループを使用して、Secure Shell (SSH) で EC2 インスタンスにアクセスすることはできません。SSH によるアクセスについては、後でデフォルトのセキュリティを編集し、SSH を許可するルールまたは SSH を許可する新しいセキュリティグループを追加できます。以下の設定を使用できます。
   + **タイプ:** SSH
   + [**Protocol**]: TCP
   + **ポート範囲:** 22
   + **出典:** Anywhere 0.0.0.0/0

1. [**Review and Launch（確認と作成)**] を選択します。

1. [**起動**] を選択します。

1. 作成したキーペアのチェックボックスを選択した後、**[インスタンスの起動]** を選択します。

これで、EC2 インスタンスは、起動時および再起動されるたびに EFS ファイルシステムをマウントするよう設定されました。

# 既存の EC2 Linux インスタンスでの自動マウントの有効化
<a name="mount-fs-auto-mount-update-fstab"></a>

`/etc/fstab` ファイルには、ファイルシステムに関する情報が含まれています。インスタンスの起動中に実行される `mount -a` コマンドは、`/etc/fstab` に示されているすべてのファイルシステムをマウントします。この手順では、Amazon EC2 Linux インスタンス上の `/etc/fstab` を手動で更新して、インスタンスの再起動時にインスタンスが EFS マウントヘルパーを使用して EFS ファイルシステムを自動的に再マウントするようにします。

**注記**  
EFS ファイルシステムは、macOS Big Sur または Monterey を実行している EC2 Mac インスタンス上で EFS マウントヘルパーを使用した `/etc/fstab` による自動マウントをサポートしていません。代わりに、[NFS と `/etc/fstab`](nfs-automount-efs.md)を使用して、macOS Big Sur と Monterey を実行している EC2 Mac インスタンスにファイルシステムを自動的にマウントできます。

この方法では、EFS マウントヘルパーを使用してファイルシステムをマウントします。マウントヘルパーは、`amazon-efs-utils` というツールセットの一部です。

これらの `amazon-efs-utils` ツールは、Amazon Linux および Amazon Linux 2 の Amazon マシンイメージ (AMI) にインストールできます。`amazon-efs-utils` の詳細については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。Red Hat Enterprise Linux (RHEL) など、他の Linux ディストリビューションを使用している場合は、`amazon-efs-utils` を手動でビルドおよびインストールします。詳細については、「[他の Linux ディストリビューションで amazon-efs-utils パッケージをインストールする](installing-amazon-efs-utils.md#installing-other-distro)」を参照してください。

## 前提条件
<a name="mount-helper-fstab-prereqs"></a>

この手順を正常に実装するには、以下の要件を満たす必要があります。
+ 自動的に再マウントする EFS ファイルシステムが既に作成されています。詳細については、「[コンソールを使用したクイック作成](creating-using-create-fs.md#gs-step-two-create-efs-resources)」を参照してください。
+ EFS ファイルシステムを自動的に再マウントするように設定する EC2 Linux インスタンスは既に作成されています。
+ EFS マウントヘルパーは EC2 Linux インスタンスにインストールされます。詳細については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。

## /etc/fstab ファイルの更新
<a name="update-fstab-file"></a>

EC2 Linux インスタンスの /etc/fstab を更新すると、インスタンスの再起動時に、インスタンスで EFS マウントヘルパーを使用して自動的に EFS ファイルシステムを再マウントできます。この設定を行うには、次の手順を実行します。

**EC2 インスタンスで / etc / fstab ファイルを更新するには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)」を参照してください。

1. エディタで `/etc/fstab` ファイルを開きます。

1. IAM 認可または EFS アクセスポイントを使用した自動マウントの場合:
   + インスタンスプロファイルを持つ EC2 インスタンスに対して IAM 認可によるマウントを自動的に行うには、`/etc/fstab` ファイルに次の行を追加します。

     ```
     file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,iam 0 0
     ```
   + 認証情報ファイルを使用して Linux インスタンスに対して IAM 認可によるマウントを自動的に行うには、`/etc/fstab` ファイルに次の行を追加します。

     ```
     file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,iam,awsprofile=namedprofile 0 0
     ```
   + EFS アクセスポイントを使用してファイルシステムを自動的にマウントするには、`/etc/fstab` ファイルに次の行を追加します。

     ```
     file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,accesspoint=access-point-id 0 0
     ```
**警告**  
ファイルシステムを自動的にマウントする場合、ネットワークファイルシステムを識別するために使用された `_netdev` オプションを使用します。`_netdev` が見つからない場合、EC2 インスタンスはレスポンスを停止する可能性があります。この結果は、コンピューティングインスタンスがネットワークを開始後、ネットワークファイルシステムを初期化する必要があるためです。詳細については、「[自動マウントが失敗してインスタンスがレスポンスしない](troubleshooting-efs-mounting.md#automount-fails)」を参照してください。

   詳細については、「[IAM 認可を使用してマウントする](mounting-IAM-option.md)」および「[Amazon EFS アクセスポイントを使用してマウントする](mounting-access-points.md)」を参照してください。

1. 変更をファイルに保存します。

**注記**  
場合によっては、マウントされた EFS ファイルシステムのステータスに関係なく、EC2 インスタンスの起動が必要になることがあります。そのような場合は、`/etc/fstab` ファイルに記載されているファイルシステムのエントリに `nofail` オプションを追加します。

`/etc/fstab` ファイルに追加したコードの行は以下のようになります。


| フィールド | 説明 | 
| --- | --- | 
|  `file-system-id:/`  |  EFS ファイルシステムの ID。この ID は、コンソールから取得することも、CLI または AWS SDK からプログラムで取得することもできます。  | 
|  `efs-mount-point`  |  EC2 インスタンス上の EFS ファイルシステムのマウントポイントです。  | 
|  `efs`  |  ファイルシステムのタイプ。マウントヘルパーを使用している場合、このタイプは常に `efs` です。  | 
|  `mount options`  |  ファイルシステムのマウントオプション。以下はオプションのカンマ区切りのリストです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/efs/latest/ug/mount-fs-auto-mount-update-fstab.html)  | 
|  `0`  |  ゼロ以外の値の場合、ファイルシステムを `dump` でバックアップする必要があることを示します。EFS の場合、この値は `0` になっている必要があります。  | 
|  `0`  |  起動時に `fsck` がファイルシステムをチェックする順序。EFS ファイルシステムの場合、起動時に `fsck` を実行すべきでないことを示すにはこの値を `0` にします  | 

# NFS を使用した EC2 Linux または Mac インスタンスでの自動マウントの有効化
<a name="nfs-automount-efs"></a>

EC2 Linux および Mac インスタンスを対象に、NFS を使用して EFS マウントヘルパーなしで Amazon EC2 の `/etc/fstab` ファイルを更新します。

**EC2 インスタンスで `/etc/fstab` ファイルを更新するには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)」を参照してください。

1. エディタで `/etc/fstab` ファイルを開きます。

1. EFS マウントヘルパーの代わりに NFS を使って使用してファイルシステムを自動的にマウントするには、`/etc/fstab` ファイルに次の行を追加します。
   + *file\$1system\$1id* を、マウントするファイルシステムの ID に置き換えます。
   + *aws-region* AWS リージョン を、 などのファイルシステムの に置き換えます`us-east-1`。
   + *mount\$1point* をファイルシステムのマウントポイントに置き換えます。

   ```
   file_system_id.efs.aws-region.amazonaws.com:/ mount_point nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0
   ```

`/etc/fstab` ファイルに追加したコードの行は以下のようになります。


| フィールド | 説明 | 
| --- | --- | 
|  `file-system-id:/`  |  EFS ファイルシステムの ID。この ID は、コンソールから取得することも、CLI または AWS SDK からプログラムで取得することもできます。  | 
|  `efs-mount-point`  |  EC2 インスタンス上の EFS ファイルシステムのマウントポイントです。  | 
|  `nfs4`  |  ファイルシステムのタイプを指定します。  | 
|  `mount options`  |  ファイルシステムのマウント・オプションのカンマ区切りリスト: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/efs/latest/ug/nfs-automount-efs.html)  | 
|  `0`  |  `dump` 値を指定し、`0` がファイルシステムをバックアップしないように `dump` ユーティリティに指示します。  | 
|  `0`  |  起動時に実行しないように `fsck` ユーティリティに指示します。  | 

# ファイルシステムをアンマウントする
<a name="unmounting-fs"></a>

ファイルシステムを削除する前に、接続しているすべての Amazon EC2 インスタンスからアンマウントすることをお勧めします。インスタンス自体で `umount` コマンドを実行することで、Amazon EC2 インスタンスのファイルシステムをアンマウントできます。EFS ファイルシステムは、 AWS CLI、、 AWS マネジメントコンソールまたは AWS SDKs を使用してアンマウントすることはできません。Linux を実行する EC2 インスタンスに接続されている EFS ファイルシステムをアンマウントするには、次のように `umount` コマンドを使用します。

```
umount /mnt/efs 
```

他の `umount` オプションを指定しないことをお勧めします。デフォルトと異なる `umount` オプションを設定しないでください。

`df` コマンドを実行すると、EFS ファイルシステムのマウントが解除されたことを確認できます。このコマンドを実行すると、Linux ベースの Amazon EC2 インスタンスに現在マウントされているファイルシステムのディスク使用状況の統計情報が表示されます。アンマウントする EFS ファイルシステムが `df` コマンドの出力にリストされていない場合、ファイルシステムがアンマウントされていることを意味します。

**Example – EFS ファイルシステムのマウントステータスを特定してアンマウントする**  

```
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on 
/dev/sda1 ext4 8123812 1138920 6884644 15% / 
availability-zone.file-system-id.efs.aws-region.amazonaws.com :/ nfs4 9007199254740992 0 9007199254740992 0% /mnt/efs
```

```
$ umount /mnt/efs
```

```
$ df -T 
```

```
Filesystem Type 1K-blocks Used Available Use% Mounted on 
/dev/sda1 ext4 8123812 1138920 6884644 15% /
```

# チュートリアル: EFS ファイルシステムを作成し、 を使用して EC2 インスタンスにマウントする AWS CLI
<a name="wt1-getting-started"></a>

暗号化された EFS ファイルシステムを作成し、VPC 内の EC2 インスタンスにマウントし、 AWS CLIを使用してセットアップをテストします。

**注記**  
「[開始方法](getting-started.md)」チュートリアルでは、コンソールを使用して Amazon EC2 および EFS リソースを作成します。このチュートリアルでは、 AWS CLI を使用して同じことを行います。主に Amazon EFS API に慣れるために使用します。

このチュートリアルでは、アカウントに次の AWS リソースを作成します。
+ Amazon EC2 リソース。
  + 2 つのセキュリティグループ (EC2 インスタンスおよび EFS ファイルシステム用)。

    セキュリティグループにルールを追加して、適切なインバウンド/アウトバウンドアクセスを許可します。これにより、EC2 インスタンスは、標準の NFSv4.1 TCP ポートを使用して、マウントターゲットを通じてファイルシステムに接続できます。
  + VPC 内の EC2 インスタンス。
+ Amazon EFS のリソース
  + ファイルシステム。
  + ファイルシステムのマウントターゲット。

    ファイルシステムを EC2 インスタンスにマウントするには、VPC にマウントターゲットを作成する必要があります。VPC 内の各アベイラビリティーゾーンに 1 つのマウントターゲットを作成できます。詳細については、「[Amazon EFS の仕組み](how-it-works.md)」を参照してください。

次に、EC2 インスタンス上のファイルシステムをテストします。チュートリアルの最後のクリーンアップの手順には、これらのリソースを削除するための情報が記載されています。

このチュートリアルでは、これらのリソースをすべて米国西部 (オレゴン) リージョン (`us-west-2`) に作成します。どちら AWS リージョン を使用する場合でも、常に使用してください。VPC、EC2 リソース、EFS リソースなどのすべてのリソースは、同じ AWS リージョン内になければなりません。

**Topics**
+ [前提条件](#wt1-prepare)
+ [のセットアップ AWS CLI](#wt1-setup-awscli)
+ [ステップ 1: EC2 リソースを作成する](#wt1-create-ec2-resources)
+ [ステップ 2: EFS リソースを作成する](#wt1-create-efs-resources)
+ [ステップ 3: ファイルシステムを EC2 インスタンスにマウントしてテストする](#wt1-test)
+ [ステップ 4: クリーンアップする](#wt1-clean-up)

## 前提条件
<a name="wt1-prepare"></a>
+ のルート認証情報を使用して AWS アカウント コンソールにサインインし、入門演習を試すことができます。ただし、 AWS Identity and Access Management (IAM) では、 のルート認証情報を使用しないことをお勧めします AWS アカウント。代わりに、アカウントに管理者ユーザーを作成し、それらの認証情報を使用してアカウントのリソースを管理します。詳細については、「 *AWS IAM アイデンティティセンター ユーザーガイド*[」の「IAM Identity Center ユーザーに AWS アカウント アクセス権を割り当てる](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-assign-account-access-user.html)」を参照してください。
+ アカウントで作成したデフォルトの VPC またはカスタム VPC を使用できます。このウォークスルーでは、デフォルトの VPC 設定が機能します。ただし、カスタム VPC を使用する場合は、次の点を確認してください。
  + DNS ホスト名は有効です。詳細については、「*Amazon VPC ユーザーガイド*」の「[DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)」(VPC の DNS 属性) を参照してください。
  + インターネットゲートウェイが VPC にアタッチされています。詳細については、「*Amazon VPC ユーザーガイド*」の「[インターネットゲートウェイを使用してインターネットに接続する](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)」を参照してください。
  + VPC サブネットは、VPC サブネットで起動されたインスタンスのパブリック IP アドレスを要求するように設定されています。詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC とサブネットの IP アドレス指定](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html)」を参照してください。
  + VPC ルートテーブルには、インターネット経由のすべてのトラフィックをインターネットゲートウェイに送信するルールが含まれています。
+ をセットアップ AWS CLI し、管理者ユーザープロファイルを追加する必要があります。

## のセットアップ AWS CLI
<a name="wt1-setup-awscli"></a>

以下の手順を使用して、 AWS CLI および ユーザープロファイルを設定します。

**を設定するには AWS CLI**

1.  AWS CLIをダウンロードして設定します。手順については、「*AWS Command Line Interface ユーザーガイド*」の「[AWS CLIの開始方法](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」を参照してください。

1. プロファイルを設定します。

   ユーザー認証情報を AWS CLI `config` ファイルに保存します。このチュートリアルの CLI コマンドの例では、adminuser プロファイルを指定します。configuser ファイルを `config` ファイルに作成します。以下のように、管理者ユーザープロファイルを `config` ファイルのデフォルトとして設定することもできます。

   ```
   [profile adminuser]
   aws_access_key_id = admin user access key ID
   aws_secret_access_key = admin user secret access key
   region = us-west-2
   
   [default]
   aws_access_key_id = admin user access key ID
   aws_secret_access_key = admin user secret access key
   region = us-west-2
   ```

   前述のプロファイルもデフォルトを設定します AWS リージョン。CLI コマンドでリージョンを指定しない場合、us-west-2 リージョンが使用されます。

1. コマンドプロンプトで以下のコマンドを入力して、セットアップを確認します。これらのコマンドの両方は、いずれも認証情報を明示的に提供しないため、デフォルトプロファイルの認証情報が使用されます。
   + help コマンドを試してみます。

     `--profile` パラメータを追加することで、明示的にユーザープロファイルを指定することもできます。

     ```
     aws help
     ```

     ```
     aws help \
     --profile adminuser
     ```

## ステップ 1: EC2 リソースを作成する
<a name="wt1-create-ec2-resources"></a>

このステップでは、次の作業を行います。
+ 2 つのセキュリティグループを作成します。
+ セキュリティグループにルールを追加して、追加のアクセスを許可します。
+ EC2 インスタンスの起動 その次の手順で EFS ファイルシステムを作成し、このインスタンス上にマウントします。

### ステップ 1.1: 2 つのセキュリティグループを作成する
<a name="wt1-create-sg"></a>

このセクションでは、EC2 インスタンスと EFS マウントターゲットの VPC にセキュリティグループを作成します。チュートリアルの後の手順で、これらのセキュリティグループを EC2 インスタンスと EFS マウントターゲットに割り当てます。セキュリティグループについては、「[Linux インスタンス用の Amazon EC2 セキュリティグループ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html#vpc-security-groups)」を参照してください。

**セキュリティグループを作成するには**

1. `create-security-group` CLI コマンドを使用して、2 つのセキュリティグループを作成します。

   1. EC2 インスタンス用のセキュリティグループ (`efs-walkthrough1-ec2-sg`) を作成し、VPC ID を指定します。

      ```
      $ aws ec2 create-security-group \
      --region us-west-2 \
      --group-name efs-walkthrough1-ec2-sg \
      --description "Amazon EFS walkthrough 1, SG for EC2 instance" \
      --vpc-id vpc-id-in-us-west-2 \
      --profile adminuser
      ```

      セキュリティグループ ID を書き留めます。以下に、応答の例を示します。

      ```
      {
          "GroupId": "sg-aexample"
      }
      ```

      次のコマンドを使用して、VPC ID を見つけることができます。

      ```
      $ aws  ec2 describe-vpcs    
      ```

      

   1. EFS マウントターゲット用のセキュリティグループ (`efs-walkthrough1-mt-sg`) を作成します。VPC ID を指定する必要があります。

      ```
      $ aws ec2 create-security-group \
      --region us-west-2 \
      --group-name efs-walkthrough1-mt-sg \
      --description "Amazon EFS walkthrough 1, SG for mount target" \
      --vpc-id vpc-id-in-us-west-2 \
      --profile adminuser
      ```

      セキュリティグループ ID を書き留めます。以下に、応答の例を示します。

      ```
      {
          "GroupId": "sg-aexample"
      }
      ```

1. セキュリティグループを確認します。

   ```
   aws ec2 describe-security-groups \
   --group-ids list of security group IDs separated by space \
   --profile adminuser \
   --region us-west-2
   ```

   両方には、すべてのトラフィックを残すことができるアウトバウンドルールが 1 つだけ必要です。

   次のセクションでは、以下を可能にする追加アクセスを承認します。
   + EC2 インスタンスに接続できるようにします。
   + EC2 インスタンスと EFS マウントターゲットの間のトラフィックを有効にします (このチュートリアルの後の手順で、これらにセキュリティグループを関連付けます)。

### ステップ 1.2: セキュリティグループにルールを追加してインバウンド/アウトバウンドアクセスを承認する
<a name="wt1-update-sg"></a>

このステップでは、セキュリティグループにルールを追加して、インバウンド/アウトバウンドアクセスを許可します。

**ルールを追加するには**

1. 任意のホストからの Secure Shell (SSH) を使用して EC2 インスタンスに接続できるように、EC2 インスタンス (`efs-walkthrough1-ec2-sg`) のセキュリティグループへの受信 SSH 接続を認可します。

   ```
   $ aws ec2 authorize-security-group-ingress \
   --group-id id of the security group created for EC2 instance \
   --protocol tcp \
   --port 22 \
   --cidr 0.0.0.0/0 \
   --profile adminuser \
   --region us-west-2
   ```

   セキュリティグループに追加したインバウンドおよびアウトバウンドのルールがあることを確認します。

   ```
   aws ec2 describe-security-groups \
   --region us-west-2 \
   --profile adminuser \
   --group-id security-group-id
   ```

1. EFS マウントターゲット (`efs-walkthrough1-mt-sg`) のセキュリティグループへのインバウンドアクセスを許可します。

   コマンドプロンプトで、adminuser プロファイルを使用して次の AWS CLI `authorize-security-group-ingress`コマンドを実行し、インバウンドルールを追加します。

   ```
   $ aws ec2 authorize-security-group-ingress \
   --group-id ID of the security group created for Amazon EFS mount target \
   --protocol tcp \
   --port 2049 \
   --source-group ID of the security group created for EC2 instance \
   --profile adminuser \
   --region us-west-2
   ```

1. 両方のセキュリティグループがインバウンドアクセスを許可することを確認します。

   ```
   aws ec2 describe-security-groups \
   --group-names efs-walkthrough1-ec2-sg   efs-walkthrough1-mt-sg \
   --profile adminuser \
   --region us-west-2
   ```

### ステップ 1.3: EC2 インスタンスを起動する
<a name="wt1-create-ec2-instance"></a>

このステップでは、EC2 インスタンスを起動します。

**EC2 インスタンスを起動するには**

1. EC2 インスタンスを起動するときに必要な次の情報を収集します。
   + [キーペア名]。キーペアを作成する手順については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 インスタンスのキーペアを作成する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)」を参照してください。
   + インスタンスの起動に使用する Amazon マシンイメージ (AMI) の ID。

     EC2 インスタンスを起動するために使用する AWS CLI コマンドには、パラメータとしてデプロイする Amazon マシンイメージ (AMI) の ID が必要です。この演習では、Amazon Linux HVM AMI を使用しています。
**注記**  
ほとんどの汎用の Linux ベースの AMI を使用することができます。別の Linux AMI を使用する場合は、必ずご使用のディストリビューションのパッケージマネージャーを使用して、インスタンスに NFS クライアントをインストールします。また、必要に応じてソフトウェアパッケージを追加する必要がある場合もあります。

     Amazon Linux HVM AMI では、[Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/) で最新の ID を見つけることができます。Amazon Linux AMI ID テーブルから次のように ID 値を選択します。
     + [**US West Oregon (米国西部オレゴン)**] リージョンを選択します。このチュートリアルでは、米国西部 (オレゴン) リージョン (us-west-2) 内にすべてのリソースを作成していることを前提としています。
     + [**EBS-backed HVM 64-bit**] タイプを選択します (CLI コマンドでインスタンスストアをサポートしない `t2.micro` インスタンスタイプを指定するため)。

     
   + EC2 インスタンス用に作成したセキュリティグループの ID。
   + AWS リージョン。このチュートリアルでは、us-west-2 リージョンを使用しています。
   + インスタンスを起動する VPC サブネット ID。サブネットのリストを取得するには、`describe-subnets` コマンドを使用します。

     ```
     $ aws ec2 describe-subnets \
     --region us-west-2 \
     --filters "Name=vpc-id,Values=vpc-id" \
     --profile adminuser
     ```

     サブネット ID を選択した後、`describe-subnets` の結果から次の値を書き留めます。
     + **サブネット ID** – マウントターゲットを作成するときにこの値が必要です。この練習では、EC2 インスタンスを起動するのと同じサブネットにマウントターゲットを作成します。
     + **サブネットのアベイラビリティーゾーン** - この値は、マウントターゲットの DNS 名を構成するために必要です。この名前は、EC2 インスタンスにファイルシステムをマウントするために使用します。

1. 次の AWS CLI `run-instances`コマンドを実行して EC2 インスタンスを起動します。

   ```
   $ aws ec2 run-instances \
   --image-id AMI ID \
   --count 1 \
   --instance-type t2.micro \
   --associate-public-ip-address \
   --key-name key-pair-name \
   --security-group-ids ID of the security group created for EC2 instance \
   --subnet-id VPC subnet ID \
   --region us-west-2 \
   --profile adminuser
   ```

1. `run-instances` コマンドによって返されるインスタンス ID を書き留めます。

1. 作成した EC2 インスタンスには、EC2 インスタンスに接続してファイルシステムをマウントするために使用するパブリック DNS 名が必要です。パブリック DNS 名の形式は次のとおりです。

   ```
   ec2-xx-xx-xx-xxx.compute-1.amazonaws.com
   ```

   次の CLI コマンドを実行して、パブリック DNS 名を書き留めます。

   ```
   aws ec2 describe-instances \
   --instance-ids EC2 instance ID \
   --region us-west-2 \ 
   --profile adminuser
   ```

   パブリック DNS 名が見つからない場合は、EC2 インスタンスを起動した VPC の設定を確認してください。詳細については、「[前提条件](#wt1-prepare)」を参照してください。

1. (オプション) 作成した EC2 インスタンスに名前を割り当てます。これを行うには、インスタンスに割り当てる名前にキー名と値を設定したタグを追加します。これを行うには、次の AWS CLI `create-tags`コマンドを実行します。

   ```
   $  aws ec2 create-tags \
   --resources  EC2-instance-ID \
   --tags Key=Name,Value=Provide-instance-name  \
   --region us-west-2 \
   --profile adminuser
   ```

## ステップ 2: EFS リソースを作成する
<a name="wt1-create-efs-resources"></a>

このステップでは、次の作業を行います。
+ 暗号化された EFS ファイルシステムを作成します。
+ ライフサイクル管理を有効にします。
+ EFS インスタンスを起動したアベイラビリティーゾーンにマウントターゲットを作成します。

### ステップ 2.1: EFS ファイルシステムを作成する
<a name="wt1-create-file-system"></a>

このステップでは、EFS ファイルシステムを作成します。次のステップで、ファイルシステムのマウントターゲットを作成するときに使用する `FileSystemId` を書き留めます。

**ファイルシステムを作成するには**
+ オプションの `Name` タグを使用してファイルシステムを作成します。

  1. コマンドプロンプトで、次の AWS CLI `create-file-system` コマンドを実行します。

     ```
     $  aws efs create-file-system \
     --encrypted \
     --creation-token FileSystemForWalkthrough1 \
     --tags Key=Name,Value=SomeExampleNameValue \
     --region us-west-2 \
     --profile adminuser
     ```

     次のレスポンスが返されます。

     ```
     {
         "OwnerId": "111122223333",
         "CreationToken": "FileSystemForWalkthrough1",
         "FileSystemId": "fs-c657c8bf",
         "CreationTime": 1548950706.0,
         "LifeCycleState": "creating",
         "NumberOfMountTargets": 0,
         "SizeInBytes": {
             "Value": 0,
             "ValueInIA": 0,
             "ValueInStandard": 0
         },
         "PerformanceMode": "generalPurpose",
         "Encrypted": true,
         "KmsKeyId": "arn:aws:kms:us-west-2:111122223333:a5c11222-7a99-43c8-9dcc-abcdef123456",
         "ThroughputMode": "bursting",
         "Tags": [
             {
                 "Key": "Name",
                 "Value": "SomeExampleNameValue"
             }
         ]
     }
     ```

  1. [`FileSystemId`] の値を書き留めます。「[ステップ2.3: マウントターゲットを作成する](#wt1-create-mount-target)」でこのファイルシステムのマウントターゲットを作成するときに、この値が必要になります。

### ステップ 2.2:ライフサイクル管理を有効にする
<a name="wt1-lifecycle-management"></a>

このステップでは、EFS 低頻度アクセス (IA) ストレージクラスを使用するために、ファイルシステムでライフサイクル管理を有効にします。詳細については、「[ストレージライフサイクルを管理する](lifecycle-management-efs.md)」および「[EFS ストレージクラス](features.md#storage-classes)」を参照してください。

**ライフサイクル管理を有効にするには**
+ コマンドプロンプトで、次の AWS CLI `put-lifecycle-configuration`コマンドを実行します。

  ```
  $  aws efs put-lifecycle-configuration \
  --file-system-id fs-c657c8bf \
  --lifecycle-policies TransitionToIA=AFTER_30_DAYS \
  --region us-west-2 \
  --profile adminuser
  ```

  次のレスポンスが返されます。

  ```
  {
    "LifecyclePolicies": [
      {
          "TransitionToIA": "AFTER_30_DAYS"
      }
    ]
  }
  ```

### ステップ2.3: マウントターゲットを作成する
<a name="wt1-create-mount-target"></a>

このステップでは、EC2 インスタンスを起動したアベイラビリティーゾーンにファイルシステムのマウントターゲットを作成します。

1. 以下の情報があることを確認してください。
   + マウント対象を作成するファイルシステムの ID (例: `fs-example`)。
   + [ステップ 1: EC2 リソースを作成する](#wt1-create-ec2-resources) で EC2 インスタンスを起動した VPC サブネット ID。

     このチュートリアルでは、EC2 インスタンスを起動したサブネットと同じサブネットにマウントターゲットを作成するため、サブネット ID (例えば `subnet-example`) が必要です。
   + 前のステップでマウントターゲット用に作成したセキュリティグループの ID。

1. コマンドプロンプトで、次の AWS CLI `create-mount-target`コマンドを実行します。

   ```
   $ aws efs create-mount-target \
   --file-system-id file-system-id \
   --subnet-id  subnet-id \
   --security-group ID-of-the security-group-created-for-mount-target \
   --region us-west-2 \
   --profile adminuser
   ```

   次のレスポンスが返されます。

   ```
   {
       "MountTargetId": "fsmt-example",
       "NetworkInterfaceId": "eni-example",
       "FileSystemId": "fs-example",
       "PerformanceMode" : "generalPurpose",
       "LifeCycleState": "available",
       "SubnetId": "fs-subnet-example",
       "OwnerId": "account-id",
       "IpAddress": "xxx.xx.xx.xxx"
   }
   ```

1. また、`describe-mount-targets` コマンドを使用して、ファイルシステムで作成したマウントターゲットの説明を取得することもできます。

   ```
   $ aws efs describe-mount-targets \
   --file-system-id file-system-id \
   --region us-west-2 \
   --profile adminuser
   ```

## ステップ 3: ファイルシステムを EC2 インスタンスにマウントしてテストする
<a name="wt1-test"></a>

このステップでは、次の作業を行います。
+ 必要な情報を収集します。
+ EC2 インスタンスに NFS クライアントをインストール。
+ EC2 インスタンスにファイルシステムをマウントしてテストします。

**Topics**
+ [ステップ 3.1: 情報を収集する](#wt1-connect-test-gather-info)
+ [ステップ 3.2: EC2 インスタンスに NFS クライアントをインストールする](#wt1-connect-install-nfs-client)
+ [ステップ 3.3: ファイルシステムを EC2 インスタンスにマウントしてテストする](#wt1-mount-fs-and-test)

### ステップ 3.1: 情報を収集する
<a name="wt1-connect-test-gather-info"></a>

このセクションの手順に従って、次の情報を確認してください。
+ EC2 インスタンスのパブリック DNS 名の形式は以下のとおりです。

  ```
  ec2-xx-xxx-xxx-xx.aws-region.compute.amazonaws.com 
  ```
+ ファイルシステムの DNS 名。この DNS 名は、次の一般的な形式を使用して作成できます。

  ```
  file-system-id.efs.aws-region.amazonaws.com
  ```

  マウントターゲットを使用してファイルシステムをマウントする EC2 インスタンスは、ファイルシステムの DNS 名をマウントターゲットの IP アドレスに解決できます。

**注記**  
Amazon EFS は、EC2 インスタンスがパブリック IP アドレスまたはパブリック DNS 名を持つことを要求するものではありません。前述の要件は、SSH を使用して VPC 外のインスタンスに接続するための、このチュートリアルでの一例です。

### ステップ 3.2: EC2 インスタンスに NFS クライアントをインストールする
<a name="wt1-connect-install-nfs-client"></a>

Windows または Linux、macOS X、またはその他の Unix バリアントを実行しているコンピュータから、EC2 インスタンスに接続できます。

**NFS クライアントをインストールするには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)」を参照してください。

1. SSH セッションを使用して、EC2 インスタンスで次のコマンドを実行します。

   1. (オプション) アップデートを入手して再起動します。

      ```
      $  sudo yum -y update  
      $  sudo reboot
      ```

      再起動後、EC2 インスタンスに再接続します。

   1. NFS クライアントをインストールします。

      ```
      $ sudo yum -y install nfs-utils
      ```
**注記**  
EC2 インスタンスの起動時に **Amazon Linux AMI 2016.03.0** という Amazon Linux AMI を選択した場合、`nfs-utils` はデフォルトで既に AMI に組み込まれているため、インストールする必要はありません。

### ステップ 3.3: ファイルシステムを EC2 インスタンスにマウントしてテストする
<a name="wt1-mount-fs-and-test"></a>

これで、EC2 インスタンスにファイルシステムをマウントします。

1. ディレクトリを作成します (「efs-mount-point」)。

   ```
   $ mkdir ~/efs-mount-point 
   ```

1. EFS ファイルシステムをマウントします。

   ```
   $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-DNS:/   ~/efs-mount-point  
   ```

   EC2 インスタンスは、マウントターゲットの DNS 名を IP アドレスに解決できます。オプションでマウントターゲットの IP アドレスを直接指定することもできます。

   ```
   $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  ~/efs-mount-point
   ```

1. これで EC2 インスタンスに EFS ファイルシステムがマウントされたので、ファイルを作成することができます。

   1. ディレクトリを変更します。

      ```
      $ cd ~/efs-mount-point  
      ```

   1. ディレクトリの内容を一覧表示します。

      ```
      $ ls -al
      ```

      これは空である必要があります。

      ```
      drwxr-xr-x 2 root     root     4096 Dec 29 22:33 .
      drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..
      ```

      

   1. ファイルシステムのルートディレクトリは、作成時に root ユーザーが所有し、root ユーザーによって書き込みが可能なため、ファイルを追加する権限を変更する必要があります。

      ```
      $ sudo chmod go+rw .
      ```

      `ls -al` コマンドを実行すると、権限が変更されたことがわかります。

      ```
      drwxrwxrwx 2 root     root     4096 Dec 29 22:33 .
      drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..
      ```

   1.  テキストファイルを作成します。

      ```
      $ touch test-file.txt 
      ```

   1. ディレクトリのコンテンツを一覧表示します。

      ```
      $ ls -l
      ```

これで、EFS ファイルシステムが正常に作成され、VPC 内の EC2 インスタンスにマウントされました。

マウントしたファイルシステムは、再起動後も保持されません。ディレクトリを自動的に再マウントするには、`fstab` ファイルを使用します。Auto Scaling グループを使用して EC2 インスタンスを起動する場合は、起動設定でスクリプトを設定することもできます。

## ステップ 4: クリーンアップする
<a name="wt1-clean-up"></a>

作成したリソースが不要になった場合は、削除する必要があります。これは CLI で行うことができます。
+ EC2 リソース (EC2 インスタンスと 2 つのセキュリティグループ) を削除します。マウントターゲットを削除すると、Amazon EFS はネットワークインタフェースを削除します。
+ EFS リソース (ファイルシステム、マウントターゲット) を削除します。

**このチュートリアルで作成した AWS リソースを削除するには**

1. このチュートリアルのために作成した EC2 インスタンスを終了します。

   ```
   $ aws ec2 terminate-instances \
   --instance-ids instance-id \
   --profile adminuser
   ```

   コンソールを使用して EC2 リソースを削除することもできます。手順については、[「インスタンスの終了」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#terminating-instances-console)を参照してください。

1. マウントターゲットを削除します。

   ファイルシステムを削除する前に、そのファイルシステム用に作成されたマウントターゲットを削除する必要があります。マウントターゲットのリストを取得するには、`describe-mount-targets` CLI コマンドを使用します。

   ```
   $  aws efs describe-mount-targets \
   --file-system-id file-system-ID \
   --profile adminuser \
   --region aws-region
   ```

   次に、`delete-mount-target` CLI コマンドを使用してマウントターゲットを削除します。

   ```
   $ aws efs delete-mount-target \
   --mount-target-id ID-of-mount-target-to-delete \
   --profile adminuser \
   --region aws-region
   ```

1. (オプション) 作成した 2 つのセキュリティグループを削除します。セキュリティグループを作成するための料金はかかりません。

   EC2 インスタンスのセキュリティグループを削除する前に、まずマウントターゲットのセキュリティグループを削除する必要があります。マウントターゲットのセキュリティグループには、EC2 セキュリティグループを参照するルールがあります。したがって、EC2 インスタンスのセキュリティグループを最初に削除することはできません。

   手順については、「*Amazon EC2 ユーザーガイド*」の「[セキュリティグループを削除する](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-ec2-sg.html#deleting-a-security-group)」を参照してください。

1. `delete-file-system` CLI コマンドを使用してファイルシステムを削除します。`describe-file-systems` CLI コマンドを使用すると、ファイルシステムのリストを取得できます。レスポンスからファイルシステム ID を取得できます。

   ```
   aws efs describe-file-systems \
   --profile adminuser \
   --region aws-region
   ```

   ファイルシステム ID を指定してファイルシステムを削除します。

   ```
   $ aws efs delete-file-system \
   --file-system-id ID-of-file-system-to-delete \
   --region aws-region \
   --profile adminuser
   ```

# チュートリアル: オンプレミス Linux クライアントを使用してマウントする
<a name="mounting-fs-mount-helper-direct"></a>

 Direct Connect または VPN を使用して Amazon VPC EFS ファイルシステムをオンプレミスのデータセンターサーバーにマウントできます。次の図は、オンプレミスから EFS ファイルシステムをマウント AWS のサービス するために必要な の概略図を示しています。

![\[Direct Connectを使用する場合は、オンプレミスクライアントに EFS ファイルシステムをマウントします。\]](http://docs.aws.amazon.com/ja_jp/efs/latest/ug/images/efs-directconnect-how-it-works.png)


**注記**  
Microsoft Windows ベースのクライアントでの Amazon EFS; の使用はサポートされていません。

**Topics**
+ [前提条件](#efs-onpremises)
+ [ステップ 1: EFS リソースを作成する](#wt5-step1-efs)
+ [ステップ 2: NFS クライアントをインストールする](#wt5-step4-install-nfs)
+ [ステップ 3: オンプレミスクライアントに EFS ファイルシステムをマウントする](#wt5-step3-connect)
+ [ステップ 4: リソースをクリーンアップして AWS アカウントを保護する](#wt5-step4-cleanup)
+ [オプション: 転送中のデータの暗号化](#wt5-step2-get-efs-utils)

## 前提条件
<a name="efs-onpremises"></a>

 Direct Connect または VPN 接続が既にあることを確認します。 Direct Connectの詳細については、「[Direct Connect ユーザーガイド](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)」を参照してください。VPN 接続の設定の詳細については、「*Amazon VPC ユーザーガイド*」の「[AWS Virtual Private Networkを使用して VPC をリモートネットワークに接続する](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)」を参照してください。

 Direct Connect または VPN 接続が完了したら、Amazon VPC に EFS ファイルシステムとマウントターゲットを作成します。その後、amazon-efs-utils ツールをダウンロードしてインストールします。次に、オンプレミスクライアントからファイルシステムをテストします。最後に、ウォークスルーの最後のクリーンアップのステップでは、これらのリソースを削除するための情報が提供されます。

このチュートリアルにより、 リージョン () にこれらのリソースがすべて作成されます。どちら AWS リージョン を使用する場合でも、常に使用してください。次の図に示すように、VPC、マウントターゲット、EFS ファイルシステムなど AWS リージョン、すべてのリソースが同じ にある必要があります。

![\[Direct Connectを使用する場合は、オンプレミスクライアントに EFS ファイルシステムをマウントします。\]](http://docs.aws.amazon.com/ja_jp/efs/latest/ug/images/efs-directconnect-how-it-works.png)


**注記**  
場合によっては、ローカルアプリケーションが EFS ファイルシステムが使用可能かどうかを知る必要があります。このような場合、最初のマウントポイントを一時的に使用できなくなった場合、アプリケーションは別のマウントポイントの IP アドレスを指すことができます。このシナリオでは、可用性を高めるために、2 つのオンプレミスクライアントを異なるアベイラビリティーゾーン (AZ) を介してファイルシステムに接続することをお勧めします。

のルート認証情報を使用して AWS アカウント コンソールにサインインし、この演習を試すことができます。ただし、 AWS Identity and Access Management (IAM) のベストプラクティスでは、 のルート認証情報を使用しないことをお勧めします AWS アカウント。代わりに、アカウントに管理者ユーザーを作成し、それらの認証情報を使用してアカウントのリソースを管理します。詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[AWS アカウントへのシングルサインオンアクセス](https://docs.aws.amazon.com/singlesignon/latest/userguide/useraccess.html)」を参照してください。

アカウントで作成したデフォルトの VPC またはカスタム VPC を使用できます。このウォークスルーでは、デフォルトの VPC 設定が機能します。ただし、カスタム VPC を使用する場合は、次の点を確認してください。
+ インターネットゲートウェイが VPC にアタッチされています。詳細については「*Amazon VPC ユーザーガイド*」の「[インターネットゲートウェイを使用して VPC へのインターネットアクセスを有効にする](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)」を参照してください。
+ VPC ルートテーブルには、インターネット経由のすべてのトラフィックをインターネットゲートウェイに送信するルールが含まれています。

## ステップ 1: EFS リソースを作成する
<a name="wt5-step1-efs"></a>

このステップでは、EFS ファイルシステムとマウントターゲットを作成します。

**EFS ファイルシステムを作成するには**

1. Amazon Elastic File System コンソール ([https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/)) を開きます。

1. [**ファイルシステムの作成**] を選択します。

1. [**VPC**] リストからデフォルトの VPC を選択します。

1. すべてのアベイラビリティーゾーンのチェックボックスをオンにします。それらがすべてデフォルトのサブネット、自動 IP アドレス、および選択済みのデフォルトのセキュリティグループを持っていることを確認します。これらが、マウントターゲットです。詳細については、「[マウントターゲットの管理](accessing-fs.md)」を参照してください。

1. ［**Next Step(次のステップ)**] をクリックします。

1. ファイルシステムに名前を付け、デフォルトのパフォーマンスモードとして [**general purpose (汎用)**] を選択したまま [**Next Step (次のステップ)**] を選択します。

1. [**ファイルシステムの作成**] を選択します。

1. リストからファイルシステムを選択し、[**Security group (セキュリティグループ)**] 値を書き留めます。この値は次のステップで必要になります。

作成したファイルシステムにはマウントターゲットがあります。各マウントターゲットには、関連するセキュリティグループがあります。セキュリティグループは、ネットワークトラフィックを制御する仮想ファイアウォールとして機能します。マウントターゲットの作成時にセキュリティグループを指定しなかった場合、Amazon EFSはVPCのデフォルトのセキュリティグループをそれに関連付けます。上記のステップに正確に従った場合、マウントターゲットはデフォルトのセキュリティグループを使用します。

次に、マウントターゲットのセキュリティグループにルールを追加して、ネットワークファイルシステム (NFS) ポート (2049) へのインバウンドトラフィックを許可します。を使用して AWS マネジメントコンソール 、VPC 内のマウントターゲットのセキュリティグループにルールを追加できます。

**NFS ポートへのインバウンドトラフィックを許可するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) で Amazon EC2 コンソールを開きます。

1. [**NETWORK & SECURITY (ネットワークとセキュリティ)**] で、[**Security Groups (セキュリティグループ)**] を選択します。

1. ファイルシステムに関連付けられているセキュリティグループを選択します。[ステップ 1: EFS リソースを作成する](#wt5-step1-efs) の最後にこれを書き留めました。

1. セキュリティグループのリストの下に表示されるタブ付きペインで、[**Inbound (インバウンド)**] タブを選択します。

1. **[編集]** を選択します。

1. [**Add Rule (ルールの追加)**] を選択し、以下のタイプのルールを選択します。
   + **タイプ** – [**NFS**]
   + **ソース** – [**Anywhere (任意の場所)**]

   テストには [**Anywhere (任意の場所)**] ソースのみを使用することをお勧めします。オンプレミスクライアントの IP アドレスに設定されたカスタムソースを作成するか、クライアント自体のコンソールを使用して [**My IP (マイ IP)**] を選択するかを選ぶことができます。
**注記**  
アウトバウンドルールを追加する必要はありません。これは、デフォルトのアウトバウンドルールですべてのトラフィックを残すことができるためです。このデフォルトのアウトバウンドルールがない場合は、アウトバウンドルールを追加して NFS ポート 2049 上の TCP 接続を開き、マウントターゲットのセキュリティグループを送信先として識別します。

## ステップ 2: NFS クライアントをインストールする
<a name="wt5-step4-install-nfs"></a>

このステップでは、NFS クライアントをインストールします。

**オンプレミスサーバーに NFS クライアントをインストール**
**注記**  
転送中のデータを暗号化する必要がある場合は、NFS クライアントの代わりに Amazon EFS マウントヘルパー `amazon-efs-utils` を使用します。amazon-efs-utils の詳細については、「*オプション: 転送中のデータの暗号化*」セクションを参照してください。

1. オンプレミスクライアントのターミナルにアクセスします。

1. NFS をインストールします。

   Red Hat Linux を使用している場合は、次のコマンドを使用して NFS をインストールします。

   ```
   $ sudo yum -y install nfs-utils
   ```

   Ubuntu を使用している場合は、次のコマンドを使用して NFS をインストールします。

   ```
   $ sudo apt-get -y install nfs-common
   ```

## ステップ 3: オンプレミスクライアントに EFS ファイルシステムをマウントする
<a name="wt5-step3-connect"></a>

**マウントのディレクトリを作成するには**

1.  次のコマンドを使用して、マウントポイントのディレクトリを作成します。  
**Example**  

   ```
   mkdir ~/efs
   ```

1. アベイラビリティーゾーンで、目的のマウントターゲットの IP アドレスを選択します。オンプレミス Linux クライアントからレイテンシーを測定できます。これを行うには、異なるアベイラビリティーゾーンの EC2 インスタンスの IP アドレスに対して `ping` のようなターミナルベースのツールを実行して、レイテンシーが最も短いものを探します。
+ mount コマンドを実行して、マウントターゲットの IP アドレスを使用してファイルシステムをマウントします。

  ```
  $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/   ~/efs
  ```

EFS ファイルシステムをマウントしたので、次の手順でテストすることができます。

**EFS ファイルシステムの接続をテストするには**

1. ディレクトリを、次のコマンドで、作成した新しいディレクトリに変更します。

   ```
   $ cd ~/efs
   ```

1. サブディレクトリを作成し、そのサブディレクトリの所有権を EC2 インスタンスユーザーに変更します。次に、以下のコマンドを使用して、その新しいディレクトリに移動します。

   ```
   $ sudo mkdir getting-started
   $ sudo chown ec2-user getting-started
   $ cd getting-started
   ```

1. 次のコマンドを使用してテキストファイルを作成します。

   ```
   $ touch test-file.txt
   ```

1. 次のコマンドを使用して、ディレクトリの内容を一覧表示します。

   ```
   $ ls -al
   ```

その結果、次のファイルが作成されます。

```
-rw-rw-r-- 1 username username 0 Nov 15 15:32 test-file.txt
```

**警告**  
ファイルシステムを自動的にマウントする場合、ネットワークファイルシステムを識別するために使用された `_netdev` オプションを使用します。`_netdev` が見つからない場合、EC2 インスタンスはレスポンスを停止する可能性があります。この結果は、コンピューティングインスタンスがネットワークを開始後、ネットワークファイルシステムを初期化する必要があるためです。詳細については、「[自動マウントが失敗してインスタンスがレスポンスしない](troubleshooting-efs-mounting.md#automount-fails)」を参照してください。

## ステップ 4: リソースをクリーンアップして AWS アカウントを保護する
<a name="wt5-step4-cleanup"></a>

このウォークスルーが完了したら、またはウォークスルーを調べない場合は、以下の手順に従ってリソースをクリーンアップし、 AWS アカウントを保護する必要があります。

**リソースをクリーンアップして を保護するには AWS アカウント**

1. 次のコマンドで、EFS ファイルシステムをアンマウントします。

   ```
   $ sudo umount ~/efs
   ```

1. [Amazon EFS コンソール](https://console.aws.amazon.com/efs/)で Amazon EFS コンソールを開きます。

1. ファイルシステムのリストから削除する EFS ファイルシステムを選択します。

1. **[Actions]** (アクション) で、**[Delete file system]** (ファイルシステムの削除) を選択します。

1. **[ファイルシステムを完全に削除]** ダイアログボックスで、削除する EFS ファイルシステムのファイルシステム ID を入力して、**[ファイルシステムの削除]** を選択します。

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Security Groups**] を選択してください。

1. このウォークスルーのルールを追加したセキュリティグループの名前を選択します。
**警告**  
VPC のデフォルトのセキュリティグループを削除しないでください。

1. **[アクション]** メニューで、**[Edit inbound rules]** (インバウンドルールの編集) を選択します。

1. 追加したインバウンドルールの最後に [X] を選択し、[**Save (保存)**] を選択します。

## オプション: 転送中のデータの暗号化
<a name="wt5-step2-get-efs-utils"></a>

転送中のデータを暗号化する必要がある場合は、NFS クライアントの代わりに、 マウントヘルパー、amazon-efs-utils を使用します

*amazon-efs-utils* パッケージは、Amazon EFS ツールのオープンソースのコレクションです。amazon-efs-utils コレクションには、マウントヘルパーおよび の転送時のデータ暗号化の実行を簡単にするツールが付属しています。このパッケージの詳細については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。このパッケージは、パッケージのリポジトリを複製することで GitHub から無料でダウンロードできます。

**GitHub から amazon-efs-utils のクローンを作成するには**

1. オンプレミスクライアントのターミナルにアクセスします。

1. ターミナルから以下のコマンドで、GitHub の amazon-efs-utils ツールを任意のディレクトリにクローンします。

   ```
   git clone https://github.com/aws/efs-utils
   ```

パッケージが手に入ったため、それをインストールすることができます。このインストールは、オンプレミスクライアントの Linux ディストリビューションによって異なります。以下のディストリビューションがサポートされています。
+ Amazon Linux 2
+ Amazon Linux
+ Red Hat Enterprise Linux (および CentOS などの派生製品) バージョン 8 以降
+ Ubuntu 16.04 LTS 以降

**amazon-efs-utils を RPM パッケージとしてビルドおよびインストールするには**

1. クライアント上のターミナルを開き、GitHub からクローンされた amazon-efs-utils パッケージのあるディレクトリに移動します。

1. 次のコマンドを使用して、パッケージをビルドします。

   ```
   make rpm
   ```
**注記**  
rpm-builder パッケージをまだインストールしていない場合は、次のコマンドを使用してインストールします。  

   ```
   sudo yum -y install rpm-build
   ```

1. 次のコマンドでパッケージをインストールします。

   ```
   sudo yum -y install build/amazon-efs-utils*rpm
   ```

**amazon-efs-utils を deb パッケージとしてビルドおよびインストールするには**

1. クライアント上のターミナルを開き、GitHub からクローンされた amazon-efs-utils パッケージのあるディレクトリに移動します。

1. 次のコマンドを使用して、パッケージをビルドします。

   ```
   ./build-deb.sh
   ```

1. 次のコマンドでパッケージをインストールします。

   ```
   sudo apt-get install build/amazon-efs-utils*deb
   ```

パッケージをインストールしたら、 Direct Connect または VPN AWS リージョン で使用するために amazon-efs-utils を設定します。

**で使用する amazon-efs-utils を設定するには AWS リージョン**

1. Secure Shell (SSH) を介して EC2 インスタンスのターミナルにアクセスし、適切なユーザー名でログインします。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)」を参照してください。

1. 任意のテキストエディタを使用して、`/etc/amazon/efs/efs-utils.conf` ファイルを開きます。

1. `“dns_name_format = {fs_id}.efs.{region}.amazonaws.com”` という行を探します。

1. `us-west-2` のように、`{region}` を AWS リージョンの IDに変更します。

オンプレミスのクライアントに EFS ファイルシステムをマウントするには、まず、オンプレミス Linux クライアントでターミナルを開きます。システムをマウントするには、ファイルシステム ID、ユーザーのマウントターゲット内のマウントターゲット IP アドレス、ファイルシステムの AWS リージョンリージョンが必要です。ファイルシステムに複数のマウントターゲットを作成した場合は、これらのいずれかを選択できます。

その情報がある場合は、次の 3 つのステップで、ファイルシステムをマウントできます。

**マウントのディレクトリを作成するには**

1.  次のコマンドを使用して、マウントポイントのディレクトリを作成します。  
**Example**  

   ```
   mkdir ~/efs
   ```

1. アベイラビリティーゾーンで、目的のマウントターゲットの IP アドレスを選択します。オンプレミス Linux クライアントからレイテンシーを測定できます。これを行うには、異なるアベイラビリティーゾーンの EC2 インスタンスの IP アドレスに対して `ping` のようなターミナルベースのツールを実行して、レイテンシーが最も短いものを探します。

**`/etc/hosts` を更新するには**
+ ローカルの `/etc/hosts` ファイルに、ファイルシステム ID とマウントターゲットの IP アドレスを含むエントリを次の形式で追加します。

  ```
  mount-target-IP-Address file-system-ID.efs.region.amazonaws.com
  ```  
**Example**  

  ```
  192.0.2.0 fs-12345678.efs.us-west-2.amazonaws.com
  ```

**マウントのディレクトリを作成するには**

1.  次のコマンドを使用して、マウントポイントのディレクトリを作成します。  
**Example**  

   ```
   mkdir ~/efs
   ```

1. マウントコマンドを使用してファイルシステムをマウントします。  
**Example**  

   ```
   sudo mount -t efs fs-12345678 ~/efs
   ```

   転送時にデータの暗号化を使用する場合、マウントコマンドは次のようになります。  
**Example**  

   ```
   sudo mount -t efs -o tls fs-12345678 ~/efs
   ```

# チュートリアル: 別の VPC からファイルシステムをマウントする
<a name="efs-different-vpc"></a>

このチュートリアルでは、EC2 インスタンスを設定して、別の仮想プライベートクラウド (VPC) にある EFS ファイルシステムをマウントします。これは、EFS マウントヘルパーを使用して行います。マウントヘルパーは、`amazon-efs-utils` というツールセットの一部です。`amazon-efs-utils` の詳細については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。

クライアントの VPC と EFS ファイルシステムの VPC を接続するには、VPC ピアリング接続または VPC トランジットゲートウェイを使用する必要があります。VPC ピアリング接続またはトランジットゲートウェイを使用して VPC に接続すると、ある VPC 上の EC2 インスタンスから別の VPC の EFS ファイルシステムにアクセスすることができます。VPC 同士が異なるアカウントに属していても可能です。

**注記**  
Microsoft Windows ベースのクライアントでの Amazon EFS; の使用はサポートされていません。

**Topics**
+ [前提条件](#wt6-prepare)
+ [ステップ 1: マウントターゲットのアベイラビリティーゾーンの ID を特定する](#wt6-efs-utils-step1)
+ [ステップ 2: マウントターゲットの IP アドレスを特定する](#wt6-efs-utils-step2)
+ [ステップ 3: マウントターゲットにホストエントリを追加する](#wt6-efs-utils-step3)
+ [ステップ 4: EFS マウントヘルパーを使用してファイルシステムをマウントする](#wt6-efs-utils-step4)
+ [ステップ 5: リソースをクリーンアップして を保護する AWS アカウント](#wt6-step5-cleanup)

## 前提条件
<a name="wt6-prepare"></a>

このチュートリアルを完了するには、以下が必要です。
+ この手順を使用する前に、`amazon-efs-utils` ツールセットが EC2 インスタンスにインストールされていること。`amazon-efs-utils` のインストール手順については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。
+ 次のいずれかです:
  + EFS ファイルシステムが存在する VPC と EC2 インスタンスが存在する VPC との間の VPC ピアリング接続。VPC ピアリング接続は、2 つの VPC 間のネットワーク接続です。このタイプの接続では、インターネットプロトコルバージョン 4 (IPv4) またはインターネットプロトコルバージョン 6 (IPv6) のプライベートアドレスを使用して、2 つの VPC 間でトラフィックをルーティングできます。VPC ピアリングを使用して、同じ 内 AWS リージョン または 間で VPCs を接続できます AWS リージョン。詳細については、*Amazon VPC ピアリングガイド*の「[VPC ピア接続の作成と承認](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html)」を参照してください。
  + EFS ファイルシステムが存在する VPC と EC2 インスタンスが存在する VPC を接続するトランジットゲートウェイ。トランジットゲートウェイは、VPC とオンプレミスネットワークを相互接続するために使用できるネットワークの中継ハブです。詳細については、「*Amazon VPC トランジットゲートウェイガイド*」の「[Amazon VPC トランジットゲートウェイの使用を開始する](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-getting-started.html)」を参照してください。

## ステップ 1: マウントターゲットのアベイラビリティーゾーンの ID を特定する
<a name="wt6-efs-utils-step1"></a>

ファイルシステムの高可用性を確保するために、NFS クライアントと同じアベイラビリティーゾーンにある EC2 マウントターゲットの IP アドレスを常に使用することをお勧めします。別のアカウントにある EFS ファイルシステムをマウントする場合は、NFS クライアントと EFS マウントターゲットが同じ アベイラビリティーゾーン ID にあることを確認します。この要件が適用されるのは、アベイラビリティーゾーン名がアカウントによって異なる可能性があるためです。

**EC2 インスタンスのアベイラビリティーゾーン ID を決定するには**

1. EC2 インスタンスに接続します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)」を参照してください。

1. EC2 インスタンスがある アベイラビリティーアベイラビリティーゾーン ID を特定するには、次のように `describe-availability-zones` CLI コマンドを使用します。

   ```
   [ec2-user@ip-10.0.0.1] $ aws ec2 describe-availability-zones --zone-name
   {
       "AvailabilityZones": [
           {
               "State": "available", 
               "ZoneName": "us-east-2b", 
               "Messages": [], 
               "ZoneId": "use2-az2", 
               "RegionName": "us-east-2"
           }
       ]
   }
   ```

   このアベイラビリティーゾーン ID は、`ZoneId`プロパティ、`use2-az2` に返されます。

## ステップ 2: マウントターゲットの IP アドレスを特定する
<a name="wt6-efs-utils-step2"></a>

EC2 インスタンスの アベイラビリティーゾーン ID を特定したら、同じ アベイラビリティーゾーン ID にあるマウントターゲットの IP アドレスを取得します。

**同じ アベイラビリティーゾーン ID のマウントターゲットの IP アドレスを特定するには**
+ 次のように CLI コマンド `describe-mount-targets` を使用して、AZ ID `use2-az2` 内のファイルシステムに対するマウントターゲットの IP アドレスを取得します。

  ```
  $ aws efs describe-mount-targets --file-system-id file_system_id
  {
      "MountTargets": [
          {
              "OwnerId": "111122223333",
              "MountTargetId": "fsmt-11223344", 
    =====>    "AvailabilityZoneId": "use2-az2",
              "NetworkInterfaceId": "eni-048c09a306023eeec", 
              "AvailabilityZoneName": "us-east-2b", 
              "FileSystemId": "fs-01234567", 
              "LifeCycleState": "available", 
              "SubnetId": "subnet-06eb0da37ee82a64f", 
              "OwnerId": "958322738406", 
    =====>    "IpAddress": "10.0.2.153"
          }, 
  ...
          {
              "OwnerId": "111122223333",
              "MountTargetId": "fsmt-667788aa", 
              "AvailabilityZoneId": "use2-az3", 
              "NetworkInterfaceId": "eni-0edb579d21ed39261", 
              "AvailabilityZoneName": "us-east-2c", 
              "FileSystemId": "fs-01234567", 
              "LifeCycleState": "available", 
              "SubnetId": "subnet-0ee85556822c441af", 
              "OwnerId": "958322738406", 
              "IpAddress": "10.0.3.107"
          }
      ]
  }
  ```

  アベイラビリティーゾーン ID `use2-az2` 内のマウントターゲットの IP アドレスは 10.0.2.153 です。

## ステップ 3: マウントターゲットにホストエントリを追加する
<a name="wt6-efs-utils-step3"></a>

次は、EC2 インスタンスの `/etc/hosts` ファイルに、マウントターゲット IP アドレスを EFS ファイルシステムのホスト名にマッピングするエントリを作成します。

**マウントターゲットのホストエントリを追加するには**

1. EC2 インスタンスの `/etc/hosts` ファイルに、マウントターゲットの IP アドレスの行を追加します。このエントリには、`mount-target-IP-Address file-system-ID.efs.region.amazonaws.com` という形式を使用します。ファイルに行を追加するには、次のコマンドを使用します。

   ```
   echo "10.0.2.153 fs-01234567.efs.us-east-2.amazonaws.com" | sudo tee -a /etc/hosts
   ```

1. EC2 インスタンスとマウントターゲットの VPC セキュリティグループに、必要に応じて EFS ファイルシステムへのアクセスを許可するルールがあることを確認してください。詳細については、「[VPC セキュリティグループを使用する](network-access.md)」を参照してください。

## ステップ 4: EFS マウントヘルパーを使用してファイルシステムをマウントする
<a name="wt6-efs-utils-step4"></a>

EFS ファイルシステムをマウントするには、まず EC2 インスタンスにマウントディレクトリを作成します。次に、EFS マウントヘルパーを使用して、 AWS Identity and Access Management (IAM) 認可または EFS アクセスポイントを使用してファイルシステムをマウントできます。詳細については、「[IAM を使用してファイルシステムへのアクセスを制御する](iam-access-control-nfs-efs.md)」および「[アクセスポイントの使用](efs-access-points.md)」を参照してください。

**マウントのディレクトリを作成するには**
+ 次のコマンドを使用して、ファイルシステムをマウントするためのディレクトリを作成します。

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

**IAM 認可を使用してファイルシステムをマウントするには**
+ IAM 認可を使用してファイルシステムをマウントするには、次のコマンドを使用します。

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

**EFS アクセスポイントを使用してファイルシステムをマウントするには**
+ EFS アクセスポイントを使用してファイルシステムをマウントするには、次のコマンドを使用します。

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

これで EFS ファイルシステムがマウントされたので、次の手順でテストすることができます。

**EFS ファイルシステムの接続をテストするには**

1. ディレクトリを、次のコマンドで、作成した新しいディレクトリに変更します。

   ```
   $ cd ~/mnt/efs
   ```

1. サブディレクトリを作成し、そのサブディレクトリの所有権を EC2 インスタンスユーザーに変更します。次に、以下のコマンドを使用して、その新しいディレクトリに移動します。

   ```
   $ sudo mkdir getting-started
   $ sudo chown ec2-user getting-started
   $ cd getting-started
   ```

1. 次のコマンドを使用してテキストファイルを作成します。

   ```
   $ touch test-file.txt
   ```

1. 次のコマンドを使用して、ディレクトリの内容を一覧表示します。

   ```
   $ ls -al
   ```

その結果、次のファイルが作成されます。

```
-rw-rw-r-- 1 username username 0 Nov 15 15:32 test-file.txt
```

`/etc/fstab` ファイルにエントリを追加することで、自動的にファイルシステムをマウントすることもできます。詳細については、「[既存の EC2 Linux インスタンスでの自動マウントの有効化](mount-fs-auto-mount-update-fstab.md)」を参照してください。

**警告**  
ファイルシステムを自動的にマウントする場合、ネットワークファイルシステムを識別するために使用された `_netdev` オプションを使用します。`_netdev` が見つからない場合、EC2 インスタンスはレスポンスを停止する可能性があります。この結果は、コンピューティングインスタンスがネットワークを開始後、ネットワークファイルシステムを初期化する必要があるためです。詳細については、「[自動マウントが失敗してインスタンスがレスポンスしない](troubleshooting-efs-mounting.md#automount-fails)」を参照してください。

## ステップ 5: リソースをクリーンアップして を保護する AWS アカウント
<a name="wt6-step5-cleanup"></a>

このチュートリアルが完了したら、次の手順を実行してリソースをクリーンアップし、 AWS アカウントを保護します。

**リソースをクリーンアップして を保護するには AWS アカウント**

1. 次のコマンドで、EFS ファイルシステムをアンマウントします。

   ```
   $ sudo umount ~/efs
   ```

1. Amazon Elastic File System コンソールの [https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/) を開いてください。

1. ファイルシステムのリストから削除する EFS ファイルシステムを選択します。

1. **[Actions]** (アクション) で、**[Delete file system]** (ファイルシステムの削除) を選択します。

1. **[ファイルシステムを完全に削除]** ダイアログボックスで、削除する EFS ファイルシステムのファイルシステム ID を入力して、**[ファイルシステムの削除]** を選択します。

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Security Groups**] を選択してください。

1. このチュートリアルでルールを追加したセキュリティグループの名前を選択します。
**警告**  
VPC のデフォルトのセキュリティグループを削除しないでください。

1. **[アクション]** メニューで、**[Edit inbound rules]** (インバウンドルールの編集) を選択します。

1. 追加したインバウンドルールの最後に [X] を選択し、[**Save (保存)**] を選択します。

# マウントの問題のトラブルシューティング
<a name="troubleshooting-efs-mounting"></a>

以下では、EFS ファイルシステムのマウントに関する問題のトラブルシューティングについて説明します。

## Windows インスタンスでのファイルシステムのマウントが失敗する
<a name="mount-windows-instance-fails"></a>

Microsoft Windows の Amazon EC2 インスタンスで、ファイルシステムのマウントが失敗します。

**実行するアクション**  
Amazon EFS を Windows EC2 インスタンスで使用しないでください。これはサポートされていません。

## サーバーによってアクセスが拒否されました
<a name="mount-fail-access-denied-by-server"></a>

ファイルシステムのマウントが失敗し、次のメッセージが表示されます。

```
/efs mount.nfs4: access denied by server while mounting 127.0.0.1:/
```

この問題は、ファイルシステムをマウントするためのアクセス許可が NFS クライアントにない場合に発生することがあります。

**実行するアクション**  
IAM を使用してファイルシステムをマウントする場合は、マウントコマンドで `-o iam` または -o tls オプションを必ず使用します。これにより、EFS マウントヘルパーから EFS マウントターゲットに認証情報を渡すように指示します。それでもアクセスできない場合は、ファイルシステムポリシーと ID ポリシーをチェックして、接続に DENY 句が適用されていないこと、および接続に ALLOW 句が少なくとも 1 つ適用されていることを確認します。詳細については、「[IAM を使用してファイルシステムへのアクセスを制御する](iam-access-control-nfs-efs.md)」および「[ファイルシステムポリシーの作成](create-file-system-policy.md)」を参照してください。

## 自動マウントが失敗してインスタンスがレスポンスしない
<a name="automount-fails"></a>

この問題は、ファイルシステムがインスタンスで自動的にマウントされ、`_netdev` オプションが宣言されていない場合に発生することがあります。`_netdev` が見つからない場合、EC2 インスタンスはレスポンスを停止する可能性があります。この結果は、コンピューティングインスタンスがネットワークを開始後、ネットワークファイルシステムを初期化する必要があるためです。

**実行するアクション**  
この問題が発生した場合は、 AWS サポートにお問い合わせください。

## /etc/fstab での複数の Amazon EFS ファイルシステムのマウントが失敗する
<a name="automount-fix-multiple-fs"></a>

`/etc/fstab` で 2 つ以上の Amazon EFS エントリを使用して systemd init システムを使用するインスタンスの場合、これらのエントリの一部またはすべてがマウントされないことがあります。この場合、`dmesg` 出力で以下のような 1 つ以上の行が表示されます。

```
NFS: nfs4_discover_server_trunking unhandled error -512. Exiting with error EIO
```

**実行するアクション**  
この場合、`/etc/systemd/system/mount-nfs-sequentially.service` に新しい systemd サービスファイルを作成することをお勧めします。ファイルに含めるコードは、ファイルシステムを手動でマウントするか、Amazon EFS マウントヘルパーを使用するかによって異なります。
+ ファイルシステムを手動でマウントする場合、`ExecStart` コマンドはネットワークファイルシステム (NFS4) を指している必要があります。ファイルに次のコードを含めます。

  ```
  [Unit]
  Description=Workaround for mounting NFS file systems sequentially at boot time
  After=remote-fs.target
  
  [Service]
  Type=oneshot
  ExecStart=/bin/mount -avt nfs4
  RemainAfterExit=yes
  
  [Install]
  WantedBy=multi-user.target
  ```
+ Amazon EFS マウントヘルパーを使用している場合、Transport Layer Security (TLS) を使用するためには、`ExecStart` コマンドは NFS4 ではなく EFS を指している必要があります。ファイルに次のコードを含めます。

  ```
  [Unit]
  Description=Workaround for mounting NFS file systems sequentially at boot time
  After=remote-fs.target
  
  [Service]
  Type=oneshot
  ExecStart=/bin/mount -avt efs
  RemainAfterExit=yes
  
  [Install]
  WantedBy=multi-user.target
  ```

ファイル作成後、次の 2 つのコマンドを実行します。

1. `sudo systemctl daemon-reload`

1. `sudo systemctl enable mount-nfs-sequentially.service`

次に、Amazon EC2 インスタンスを再起動します。通常 1 秒以内にオンデマンドでファイルシステムがマウントされます。

## エラーメッセージ「wrong fs type」でマウントコマンドが失敗する
<a name="mount-error-wrong-fs"></a>

マウントコマンドが失敗し、次のエラーメッセージが表示されます。

```
mount: wrong fs type, bad option, bad superblock on 10.1.25.30:/, 
missing codepage or helper program, or other error (for several filesystems 
(e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try dmesg | tail or so.
```

**実行するアクション**  
このメッセージが表示された場合、`nfs-utils` (または Ubuntu では `nfs-common`) パッケージをインストールします。詳細については、「[NFS クライアントをインストールする](mounting-fs-install-nfsclient.md)」を参照してください。

## エラーメッセージ「incorrect mount option」でマウントコマンドが失敗する
<a name="mount-error-incorrect-mount"></a>

マウントコマンドが失敗し、次のエラーメッセージが表示されます。

```
mount.nfs: an incorrect mount option was specified
```

**実行するアクション**  
このエラーメッセージは、ほとんどの場合、ご利用の Linux ディストリビューションが Network File System バージョン 4.0 および 4.1 (NFSv4) をサポートしていないことを意味します。これが該当するかどうかを確認するには、次のコマンドを実行します。

```
$ grep CONFIG_NFS_V4_1 /boot/config*
```

前述のコマンドが `# CONFIG_NFS_V4_1 is not set` を返すなら、ご利用の Linux ディストリビューションで NFSv4.1 がサポートされていません。NFSv4.1 をサポートする Amazon Elastic Compute Cloud (Amazon EC2) の Amazon マシンイメージ (AMI) の一覧については、「[NFS サポート](mounting-fs-old.md#mounting-fs-nfs-info)」を参照してください。

## アクセスポイントでのマウントは失敗します。
<a name="mount-error-no-such-file"></a>

アクセスポイントでマウントすると、マウントコマンドが失敗し、次のエラーメッセージが表示されます。

```
mount.nfs4: mounting access_point failed, reason given by server: No such file or directory
```

**実行するアクション**  
このエラーメッセージは、指定した EFS パスが存在しないことを示します。アクセスポイントのルートディレクトリの所有権とアクセス許可を必ず指定してください。この情報がないと EFS はルートディレクトリを作成しません。詳細については、「[アクセスポイントの使用](efs-access-points.md)」を参照してください。

ルートディレクトリの所有権とアクセス許可を指定せず、ルートディレクトリがまだ存在しない場合、EFS はルートディレクトリを作成しません。この場合、アクセスポイントを使用してファイルシステムをマウントしようとすると失敗します。

## ファイルシステムを作成した後すぐにファイルシステムのマウントが失敗する
<a name="mount-fails-propegation"></a>

マウントターゲットを作成した後、ドメインネームサービス (DNS) のレコードが AWS リージョンに完全に伝達するには、最大 90 秒かかります。

**実行するアクション**  
たとえば、 CloudFormation テンプレートを使用してファイルシステムをプログラムで作成およびマウントする場合は、待機条件を実装することをお勧めします。

## ファイルシステムのマウントがハングした後、タイムアウトエラーで失敗する
<a name="mount-hangs-fails-timeout"></a>

ファイルシステムのマウントコマンドが 1、2 分間ハングし、タイムアウトエラーで失敗します。次のコードは例を示しています。

```
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ mnt

[2+ minute wait here]
mount.nfs: Connection timed out
$Â 
```

**実行するアクション**

このエラーは、Amazon EC2 インスタンスまたはマウントターゲットのセキュリティグループが正しく設定されていないために発生することがあります。マウントターゲットセキュリティグループに、ポート 2049 で EC2 セキュリティグループから NFS へのアクセスを許可するインバウンドルールがあることを確認します。詳細については、「[VPC セキュリティグループを使用する](network-access.md)」を参照してください。

指定したマウントターゲットの IP アドレスが有効であることを確認します。間違った IP アドレスを指定し、その IP アドレスにマウントを拒否するものが他に何もない場合、この問題が生じることがあります。

## DNS 名を使用した NFS によるファイルシステムのマウントが失敗する
<a name="mount-fails-dns-name"></a>

次の例に示すように、ファイルシステムの DNS 名を使用して (`amazon-efs-utils` クライアントを使用せずに) NFS クライアントを使用してファイルシステムをマウントしようとすると失敗します。

```
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ mnt   
mount.nfs: Failed to resolve server file-system-id.efs.aws-region.amazonaws.com: 
  Name or service not known.   

$ 
```

**実行するアクション**

VPC 設定を確認します。カスタム VPC を使用している場合は、DNS 設定が有効であることを確認します。詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC の DNS 属性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)」を参照してください。また、ファイルシステムおよびマウントターゲット DNS 名は、存在している VPC 外部から解決できません。

`mount` コマンドの DNS 名を使用してファイルシステムをマウントするには、次の作業を行う必要があります。
+ Amazon EC2 インスタンスと同じアベイラビリティーゾーンに Amazon EFS マウントターゲットがあることを確認します。
+ Amazon EC2 インスタンスと同じ VPC にマウントターゲットがあることを確認します。そうしないと、別の VPC で EFS マウントターゲットに DNS 名前解決を使用することができません。詳細については、「[別の AWS アカウント または VPC からの EFS ファイルシステムのマウント](manage-fs-access-vpc-peering.md)」を参照してください。
+ Amazon が提供する DNS サーバーを使用するように設定された Amazon VPC 内で Amazon EC2 インスタンスを接続します。詳細については、「*Amazon VPC ユーザーガイド*」の「[Amazon VPC の DHCP オプションセット](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)」を参照してください。
+ 接続する Amazon EC2 インスタンスの Amazon VPC で、DNS ホスト名が有効であることを確認します。詳細については、「*Amazon VPC ユーザーガイド*」の「[DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)」(VPC の DNS 属性) を参照してください。

## 「nfs が応答していません」が表示されてファイルシステムのマウントが失敗する
<a name="tcp-reconnect-nfs-not-responding"></a>

`"nfs: server_name still not responding"` との Transmission Control Protocol (TCP) 再接続イベントで Amazon EFS ファイルシステムのマウントが失敗します。

**実行するアクション**

ネットワーク接続が再確立されたときに、NFS クライアントが新しい TCP ソースポートを使用することを確認するには、`noresvport` マウントオプションを使用します。これにより、ネットワーク復旧イベント後の中断のない可用性が保証されます。

## マウントターゲットのライフサイクル状態がスタックする
<a name="mount-target-lifecycle-stuck"></a>

マウントターゲットのライフサイクル状態が [**creating (作成中)**] または [**deleting (削除中)**] の状態でスタックします。

**実行するアクション**  
`CreateMountTarget` または `DeleteMountTarget` の呼び出しを再試行します。

## マウントターゲットのライフサイクルの状態にエラーが表示される
<a name="mount-target-dns-error"></a>

マウントターゲットのライフサイクルステータスが「**エラー**」と表示されます。

**実行するアクション**

 仮想プライベートクラウド (VPC) に競合するホストゾーンがある場合、Amazon EFS は新しいファイルシステムのマウントターゲットに必要なドメインネームシステム (DNS) レコードを作成できません。Amazon EFS は、カスタマー所有のホストゾーン内に新しいレコードを作成することはできません。`efs.<region>.amazonaws.com` DNS 範囲が競合するホストゾーンを維持する必要がある場合は、別の VPC にホストゾーンを作成します。VPC の DNS に関する考慮事項に関する詳細については、「[VPC の DNS 属性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)」を参照してください。

この問題を解決するには、VPC から競合している `efs.<region>.amazonaws.com` ホストを削除して、マウントターゲットを再作成してください。マウントターゲットの削除について詳細は、「[マウントターゲットの管理](accessing-fs.md)」を参照してください。

## マウントが応答しない
<a name="mount-unresponsive"></a>

Amazon EFS マウントが応答していないようにみえます。たとえば、`ls` のようなコマンドがハングします。

**実行するアクション**

別のアプリケーションが大量のデータをファイルシステムに書き込んでいる際に、このエラーが発生することがあります。オペレーションが完了するまで、書き込み中のファイルへのアクセスがブロックされている可能性があります。一般的に、書き込まれているファイルにアクセスしようとするコマンドまたはアプリケーションはハングしているように見えます。たとえば、`ls` コマンドは、書き込み中のファイルに実行された場合、ハングする場合があります。この結果は、一部の Linux ディストリビューションでは、`ls` コマンドに別名を付け、ディレクトリの内容を一覧表示するだけでなく、ファイルの属性を取得するためです。

この問題を解決するには、以下の例のように、別のアプリケーションが Amazon EFS マウントにファイルを書き込んでいること、また、それが `Uninterruptible sleep` (`D`) 状態であることを確認します。

```
$ ps aux | grep large_io.py 
root 33253 0.5 0.0 126652 5020 pts/3 D+ 18:22 0:00 python large_io.py /efs/large_file
```

このような場合には、他の書き込み操作が完了するのを待つか、回避策を実装して問題を解決できます。`ls` の例では、エイリアスの代わりに直接 `/bin/ls` コマンドを使用できます。これにより、書き込まれているファイルにハングすることなくコマンドを続行できます。一般的に、データを書き込むアプリケーションが (おそらく `fsync(2)` を使用して) 定期的にデータを強制的にフラッシュする場合、そうすることで他のアプリケーションへのファイルシステムの応答性が向上する可能性があります。ただし、この改善は、アプリケーションがデータを書き込むときのパフォーマンスを犠牲にする可能性があります。

## マウントされたクライアントは切断されます。
<a name="client-disconnected"></a>

Amazon EFS ファイルシステムにマウントされたクライアントは、さまざまな原因により切断されることがあります。NFS クライアントは、日常的な切断がアプリケーションのパフォーマンスと可用性に与える影響を最小限に抑えるため、中断した場合は自動的に再接続するように設計されています。ほとんどの場合、クライアントは数秒以内に透過的に再接続します。

ただし、古いバージョンの Linux カーネル (バージョン v5.4 以下) に含まれている NFS クライアントソフトウェアには、切断時に NFS クライアントが同じ TCP ソースポートに再接続を試みるという動作が含まれています。この動作は TCP RFC に準拠していないため、これらのクライアントが NFS サーバー (この場合は EFS ファイルシステム) への接続をすぐに再確立できなくなる可能性があります。

この問題を解決するために、Amazon EFS マウントヘルパーを使用して、EFS ファイルシステムをマウントすることを強くお勧めします。EFS マウントヘルパーは、Amazon EFS ファイルシステム用に最適化されたマウント設定を使用します。EFS クライアントおよびマウントヘルパーに関する詳細については、「[Amazon EFS クライアントの手動インストール](using-amazon-efs-utils.md)」を参照してください。

EFS マウントヘルパーを使用できない場合は、この問題を回避するために、新しい TCP ソースポートを使用して接続を再確立するよう NFS クライアントに指示する `noresvport` NFS マウントオプションの使用を強くお勧めします。詳細については、「[推奨される NFS マウント設定](mounting-fs-nfs-mount-settings.md)」を参照してください。

## 新しくマウントされたファイルシステムでの操作が「bad file handle」エラーを返します
<a name="operations-return-bad-file-handle"></a>

新しくマウントされたファイルシステムで実行された操作が `bad file handle` エラーを返します。

このエラーは、Amazon EC2 インスタンスが 1 つのファイルシステムおよび 1 つのマウントターゲットに指定された IP アドレスで接続され、そのファイルシステムとマウントターゲットが削除された場合に発生します。同じマウントターゲットの IP アドレスを持つ Amazon EC2 インスタンスに接続するために新しいファイルシステムとマウントターゲットを作成すると、この問題が発生する可能性があります。

**実行するアクション**  
このエラーは、ファイルシステムをアンマウントし、Amazon EC2 インスタンス上のファイルシステムを再マウントすることで解決できます。Amazon EFS ファイルシステムのアンマウントの詳細については、[ファイルシステムをアンマウントする](unmounting-fs.md) を参照してください。

## ファイルシステムのアンマウントが失敗する
<a name="troubleshooting-unmounting"></a>

ファイルシステムが使用中の場合、アンマウントすることはできません。

**実行するアクション**  
この問題は以下の方法で解決できます。
+ 遅延アンマウント、**umount -l** を使用します。これは、実行時にファイルシステム階層からファイルシステムを切り離し、ビジー状態でなくなるとすぐにファイルシステムへのすべてのリファレンスをクリーンアップします。
+ すべての読み取りおよび書き込み操作が終了するまで待機してから、**umount** コマンドを再実行してください。
+ **umount -f** コマンドを使用して強制的にアンマウントします。
**警告**  
強制的なアンマウントにより、ファイルシステムで現在処理中の、すべてのデータ読み込みまたは書き込み操作が中断されます。このオプションを使用する場合の詳細とガイダンスについては、[umount man page](https://man7.org/linux/man-pages/man8/umount.8.html) を参照してください。