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

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

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

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

クライアントの 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 ツールのインストール」を参照してください。

  • 次のいずれかです:

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

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

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

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

EC2 インスタンスのアベイラビリティーゾーン ID を決定するには
  1. EC2 インスタンスに接続します。

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

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

    詳細については、Amazon EC2 ユーザーガイド」の以下のトピックを参照してください。

  2. 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 アドレスを特定する

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: マウントターゲットのホストエントリを追加する

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

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

EFS ファイルシステムをマウントするには、まず EC2 インスタンスにマウントディレクトリを作成します。その後、EFS マウントヘルパーを使用し、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/

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

警告

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

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

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

リソースをクリーンアップして を保護するには AWS アカウント
  1. Amazon EFSを開始するための3番目の最後のステップ。

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

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

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

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

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

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

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

    警告

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

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

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