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

ウォークスルー: 別の VPC からファイルシステムをマウントする

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

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

注記

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

開始する前に

このウォークスルーでは、すでに次のことを前提としています。

  • この手順を使用する前に、amazon-efs-utils ツールセットが EC2 インスタンスにインストールされていること。amazon-efs-utils のインストール手順については、「amazon-efs-utils ツールを使用する」を参照してください。

  • 次のいずれかです。

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

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

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

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

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

  1. EC2 インスタンスに接続します。

    • macOS または Linux を実行しているコンピュータからインスタンスに接続するには、SSH コマンドに対する .pem ファイルを指定します。これを行うには、-i オプションとプライベートキーへのパスを使用します。

    • Windows を実行しているコンピュータから Linux インスタンスに接続する場合は、MindTerm または PuTTY のどちらかを使用できます。PuTTY を使用するには、インストールしてから .pem ファイルを .ppk ファイルに変換します。

    詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の次のトピックを参照してください。

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

    [ec2-user@ip-10.0.0.1] $ aws ec2 describe-availability-zones --zone-name `curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone` { "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 アドレスを確認するには

  • 次のように 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" } ] }

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

手順 3: マウントターゲットのホストエントリを追加する

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

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

  • 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

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

EFS ファイルシステムをマウントするには、まず EC2 インスタンスにマウントディレクトリを作成します。その後、EFS マウントヘルパーを使用し、IAM 認証または EFS アクセスポイントのいずれかでファイルシステムをマウントできます。詳細については、「IAM を使用した Amazon EFS への NFS アクセスのコントロール」および「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/

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

Amazon 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 ファイルにエントリを追加することで、自動的にファイルシステムをマウントすることもできます。詳細については、「/etc/fstab を使用した自動マウント」を参照してください。

警告

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

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

このチュートリアルを完了した場合や、チュートリアルを試さない場合は、次の手順を必ず実行してください。これによってリソースをクリーンアップし、AWS アカウントを保護できます。

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

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

    $ sudo umount ~/efs
  2. Amazon EFS コンソール (https://console.aws.amazon.com/efs/) を開きます。

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

  4. [Actions] で、[Delete file system] を選択します。

  5. [Permanently delete file system (ファイルシステムを完全に削除)] ダイアログボックスで、削除する Amazon EFS ファイルシステムのファイルシステム ID を入力して、[Delete File System (ファイルシステムの削除)] を選択します。

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

  7. ナビゲーションペインで、[Security Groups] を選択します。

  8. このウォークスルーのルールを追加したセキュリティグループの名前を選択します。

    警告

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

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

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