メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Amazon Elastic File System (Amazon EFS)

Amazon EFS は、Amazon EC2 と併用できる拡張可能なファイルストレージを提供します。EFS ファイルシステムを作成し、ファイルシステムをマウントするためにインスタンスを設定できます。複数のインスタンスで実行している作業負荷やアプリケーションの一般的なデータソースとしてEFSファイルシステムを使用できます。詳細については、Amazon Elastic File System 製品ページを参照してください。

このチュートリアルでは、EFS ファイルシステム、およびそのファイルシステムを使ってデータを共有できる 2 つの Linux インスタンスを作成します。

重要

Amazon EFS は Windows インスタンスではサポートされていません。

前提条件

  • セキュリティグループ (efs-sg など) を作成し、次のルールを追加します。

    • コンピュータからのインバウンド SSH 接続を許可する (ソースはネットワークの CIDR ブロックです)

    • グループに関連付けられる EC2 インスタンスからのインバウンド NFS 接続を許可する (ソースはセキュリティグループ自体です)

  • キーペアの作成. インスタンスの作成時にキーペアを指定しないと、それらに接続できません。詳細については、「キーペアの作成」を参照してください。

ステップ 1: EFS ファイルシステムの作成

Amazon EFS では、複数のインスタンスが同時にマウントおよびアクセスできるファイルシステムを作成することができます。詳細については、Amazon Elastic File System ユーザーガイドCreating Resources for Amazon EFS を参照してください。

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

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

  2. [Create file system] を選択します。

  3. [Configure file system access] ページで以下の操作を実行します。

    1. [VPC] で、インスタンスで使用する VPC を選択します。

    2. [Create mount targets] で、すべてのアベイラビリティーゾーンを選択します。

    3. 各アベイラビリティーゾーンで、[Security group] の値が 前提条件 で作成したセキュリティグループであることを確認します。

    4. [Next Step] を選択します。

  4. [Configure optional settings] ページで、以下の操作を行います。

    1. Key=Name のタグ用に、[Value] でファイルシステムの名前を入力します。

    2. [Choose performance mode] では、デフォルトオプション [General Purpose] を維持します。

    3. [Next Step] を選択します。

  5. [Review and create] ページで、[Create File System] を選択します。

  6. ファイルシステムを作成した後、このチュートリアルで後ほど使用するため、ファイルシステム ID をメモします。

ステップ2: ファイルシステムをマウントします。

次の手順を使用して 2 つの t2.micro インスタンスを起動します。ユーザーデータスクリプトは起動時にファイルシステムを両方のインスタンスにマウントし、/etc/fstab を更新してインスタンスの再起動後にファイルシステムが再度マウントされるようにします。T2 インスタンスは、サブネットで起動する必要があることにご注意ください。デフォルト VPC またはデフォルト以外の VPC を使用することができます。

注記

他の方法でもボリュームをマウントできます (たとえば、すでに実行しているインスタンスなど)。詳細については、Amazon Elastic File System ユーザーガイドファイルシステムのマウントを参照してください。

2 つのインスタンスを起動して EFS ファイルシステムをマウントする

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

  2. [インスタンスの作成] を選択します。

  3. [Choose an Amazon Machine Image] ページで、HVM 仮想化タイプで Amazon Linux AMI を選択します。

  4. [Choose an Instance Type] ページで、デフォルトのインスタンスタイプ t2.micro を維持し、[Next: Configure Instance Details] を選択します。

  5. [Configure Instance Details] ページで以下の操作を実行します。

    1. [Number of instances] では 2 と入力します。

    2. [デフォルト VPC] デフォルト VPC がある場合、[Network] のデフォルト値です。デフォルト VPC と [Subnet] のデフォルト値を維持し、インスタンス用に Amazon EC2 が選択するアベイラビリティーゾーンでデフォルトのサブネットを使用します。

      [デフォルト以外の VPC] [Network] の VPC と [Subnet] のパブリックサブネットを選択します。

    3. [デフォルト以外のVPC] [Auto-assign Public IP] で、[Enable] を選択します。それ以外の場合、インスタンスではパブリック IP アドレスまたはパブリック DNS 名を取得しません。

    4. [Advanced Details] で、以下のスクリプトを [User data] に貼り付けます。[EFS_ID] をファイルシステムの ID で、また [EFS_REGION] をファイルシステムのリージョンコードで更新します。またオプションで、[EFS_MOUNT_DIR] をマウント済みのファイルシステムのディレクトリで更新できます。

      Copy
      #!/bin/bash yum update -y yum install -y nfs-utils EFS_ID=fs-xxxxxxxx EFS_REGION=region-code EFS_MOUNT_DIR=/mnt/efs mkdir -p ${EFS_MOUNT_DIR} chown ec2-user:ec2-user ${EFS_MOUNT_DIR} echo $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).${EFS_ID}.efs.${EFS_REGION}.amazonaws.com:/ ${EFS_MOUNT_DIR} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 >> /etc/fstab mount -a
    5. ウィザードのステップ 6 に進みます。

  6. [Configure Security Group] ページで、[Select an existing security group] を選択し、セキュリティグループを選択または作成して、[Review and Launch] を選択します。

  7. [Review Instance Launch] ページで、[Launch] を選択します。

  8. [Select an existing key pair or create a new key pair] ダイアログボックスで、[Choose an existing key pair] を選択し、キーペアを選択します。確認のチェックボックスを選択し、[Launch Instances] を選択します。

  9. ナビゲーションペインの [Instances] を選択して、インスタンスのステータスを表示します。最初、ステータスは pending です。ステータスが running に変わったら、インスタンスは使用できる状態です。

ステップ3: ファイルシステムをテストする

インスタンスに接続し、ファイルシステムが指定したディレクトリにマウントされていることを確認します (たとえば、/mnt/efs)。

ファイルシステムがマウントされていることを確認するには

  1. インスタンスに接続します。詳細については、「Linux インスタンスへの接続」を参照してください。

  2. 各インスタンスのターミナルウィンドウから、df -T コマンドを実行して、EFS ファイルシステムがマウントされていることを確認します。

    Copy
    $ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/xvda1 ext4 8123812 1949800 6073764 25% / devtmpfs devtmpfs 4078468 56 4078412 1% /dev tmpfs tmpfs 4089312 0 4089312 0% /dev/shm efs-dns nfs4 9007199254740992 0 9007199254740992 0% /mnt/efs

    なお、ファイルシステムの名前 (サンプル出力では efs-dns として表示) は次の形式になります。

    availability-zone.filesystem-id.efs.region.amazonaws.com:/
  3. (オプション) 1 つのインスタンスからファイルシステムでファイルを作成し、他のインスタンスからファイルを表示できることを確認します。

    1. 最初のインスタンスから、次のコマンドを実行してファイルを作成します。

      Copy
      $ sudo touch /mnt/efs/test-file.txt
    2. 2 つ目のインスタンスから、次のコマンドを実行してファイルを表示します。

      Copy
      $ ls /mnt/efs test-file.txt

手順 4: クリーンアップ

このチュートリアルを完了した後、インスタンスを終了して、ファイルシステムを削除できます。

インスタンスを削除するには

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

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

  3. 終了するインスタンスを選択します。

  4. [Actions]、[Instance State]、[Terminate] の順に選択します。

  5. 確認を求めるメッセージが表示されたら、[Yes, Terminate] を選択します。

ファイルシステムを削除するには

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

  2. 削除するファイル システムを選択します。

  3. [Actions]、[Delete file system] を順に選択します。

  4. 確認の入力を求められたら、ファイルシステムの ID を入力し、[Delete File System] を選択します。