チュートリアル: 別の からファイルシステムをマウントする VPC - Amazon Elastic File System

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

チュートリアル: 別の からファイルシステムをマウントする VPC

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

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

注記

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

前提条件

このチュートリアルを完了するには、以下が必要です。

  • この手順を使用する前に、amazon-efs-utils一連のツールがEC2インスタンスにインストールされます。amazon-efs-utils のインストール手順については、「Amazon EFSクライアントのインストール」を参照してください。

  • 次のいずれかです:

    • VPC EFS ファイルシステムが存在する と、EC2インスタンスVPCが存在する との間のVPCピアリング接続。VPC ピアリング接続は、2 つの 間のネットワーク接続ですVPCs。このタイプの接続では、プライベートインターネットプロトコルバージョン 4 (IPv4) またはインターネットプロトコルバージョン 6 (IPv6) アドレスを使用してトラフィックをルーティングできます。VPC ピアリングを使用して、同じ VPCs内 AWS リージョン または 間で接続できます AWS リージョン。詳細については、「Amazon VPCピアリングガイド」の「ピアリング接続の作成と承認」を参照してください。 VPC

    • VPC EFS ファイルシステムが存在する と、EC2インスタンスVPCが存在する を接続するトランジットゲートウェイ。トランジットゲートウェイは、 VPCsとオンプレミスのネットワークを相互接続するために使用できるネットワークトランジットハブです。詳細については、「Amazon Transit Gateways ガイド」の「Transit Gateway の開始方法」を参照してください。 VPC

ステップ 1: マウントターゲットのアベイラビリティーゾーンの ID を決定する

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

EC2 インスタンスのアベイラビリティーゾーン ID を確認するには
  1. EC2 インスタンスに接続します。詳細については、「Amazon ユーザーガイド」のEC2「インスタンスに接続する」を参照してください。 EC2

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

    [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 アドレスを決定する

EC2 インスタンスのアベイラビリティーゾーン ID がわかったので、同じアベイラビリティーゾーン ID にあるマウントターゲットの IP アドレスを取得できるようになりました。

同じ アベイラビリティーゾーン ID のマウントターゲットの IP アドレスを特定するには
  • 次のように、 describe-mount-targets CLI コマンドを使用して、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: マウントターゲットにホストエントリを追加する

マウントターゲット IP アドレスを/etc/hostsファイルシステムのホスト名にマッピングするエントリをEC2インスタンスの EFS ファイルに作成できるようになりました。

マウントターゲットのホストエントリを追加するには
  1. マウントターゲット IP アドレスの行をEC2インスタンスの /etc/hosts ファイルに追加します。このエントリには、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
  2. EC2 インスタンスとマウントターゲットVPCのセキュリティグループに、必要に応じてEFSファイルシステムへのアクセスを許可するルールがあることを確認します。詳細については、「Amazon EC2インスタンスとマウントターゲットのセキュリティVPCグループの使用」を参照してください。

ステップ 4: マウントヘルパーを使用してファイルシステムをEFSマウントする

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

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

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

    $ sudo mkdir getting-started $ sudo chown ec2-user getting-started $ cd getting-started
  3. 次のコマンドを使用してテキストファイルを作成します。

    $ touch test-file.txt
  4. 次のコマンドを使用して、ディレクトリの内容を一覧表示します。

    $ ls -al

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

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

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

警告

ファイルシステムを自動的にマウントする場合、ネットワークファイルシステムを識別するために使用された _netdev オプションを使用します。_netdev が欠落している場合、EC2インスタンスは応答を停止することがあります。この結果は、コンピューティングインスタンスがネットワークを開始後、ネットワークファイルシステムを初期化する必要があるためです。詳細については、「自動マウントが失敗してインスタンスがレスポンスしない」を参照してください。

ステップ 5: リソースをクリーンアップして を保護する AWS アカウント

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

リソースをクリーンアップして を保護するには AWS アカウント
  1. 次のコマンドを使用してEFSファイルシステムをアンマウントします。

    $ sudo umount ~/efs
  2. で Amazon Elastic File System コンソールを開きますhttps://console.aws.amazon.com/efs/

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

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

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

  6. で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

  7. ナビゲーションペインで、[セキュリティグループ] を選択します。

  8. このチュートリアルでルールを追加したセキュリティグループの名前を選択します。

    警告

    のデフォルトのセキュリティグループを削除しないでくださいVPC。

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

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