

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

# チュートリアル: 別の 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 (保存)**] を選択します。