Amazon EC2 での Amazon EFS の使用 - Amazon Elastic Compute Cloud

Amazon EC2 での Amazon EFS の使用

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

重要

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

EFS ファイルシステムをインスタンスにマウントするには、次の方法があります。

Amazon EFS クイック作成を使用した EFS ファイルシステムの作成

Launch Wizard の Amazon EFS クイック作成機能を使用して、EFS ファイルシステムを作成し、起動時にインスタンスにマウントできます。

EFS クイック作成を使用して EFS ファイルシステムを作成すると、次のサービス推奨設定でファイルシステムが作成されます。

  • 自動バックアップがオンになっています。詳細については、Amazon Elastic File System ユーザーガイドの「Amazon EFS での AWS Backup の使用」を参照してください。

  • VPC のデフォルトセキュリティグループを使用して、選択した VPC の各デフォルトサブネットにターゲットをマウントします。詳細については、Amazon Elastic File System User Guide の「ファイルシステムネットワークのアクセシビリティの管理」を参照してください。

  • 汎用パフォーマンスモード。詳細については、Amazon Elastic File System User Guide の「パフォーマンスモード」を参照してください。

  • バーストスループットモード。詳細については、Amazon Elastic File System User Guideの「スループットモデル」を参照してください。

  • Amazon EFS(aws/elasticfilesystem) のデフォルトのキーを使用して、保管時のデータの暗号化が有効になりました。詳細については、Amazon Elastic File System User Guide の「保管時のデータの暗号化」を参照してください。

  • 30日間のポリシーで Amazon EFS ライフサイクル管理を有効にします。詳細については、Amazon Elastic File System User Guide の「EFS のライフサイクル管理」を参照してください。

Amazon EFS クイック作成を使用して EFS ファイルシステムを作成するには

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

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

  3. [AMI の選択] ページで、[Linux AMI] を選択します。

  4. [インスタンスタイプの選択] ページで、インスタンスタイプを選択してから、[次へ: インスタンスの詳細設定] を選択します。

  5. [インスタンスの詳細設定] ページの [ファイルシステム] で、[新しいファイルシステムの作成] を選択し、新しいファイルシステムの名前を入力して [作成] をクリックします。

    ファイルシステムへのアクセスを有効にする際、次のセキュリティグループが自動的に作成され、ファイルシステムのインスタンスおよびマウントターゲットにアタッチされます。

    • インスタンスセキュリティグループ— NFS 2049 ポート経由のトラフィックを許可するインバウンドルールとアウトバウンドルールは含まれません。

    • ファイルシステムマウントターゲットセキュリティグループ— インスタンスセキュリティグループ (上述) からの NFS 2049 ポート経由のトラフィックを許可するインバウンドルールと、NFS 2049 ポート経由のトラフィックを許可するアウトバウンドルールが含まれます。

    セキュリティグループを手動で作成してアタッチすることもできます。これを行うには、[必要なセキュリティグループを自動的に作成してアタッチする] をオフにします。

    必要に応じて残りの設定を行い、[次へ: ストレージの追加] を選択します。

  6. [ストレージの追加] ページで、AMI で指定されたボリューム (ルートデバイスボリュームなど) に加えてインスタンスにアタッチするボリュームを指定します。Nvidia CUDA ツールキットに十分なストレージをプロビジョニングしていることを確認します。次に、[次の手順: タグの追加] を選択します。

  7. [タグの追加] ページで、一時インスタンスの識別に使用するタグを指定し、[Next: Configure Security Group (次へ: セキュリティグループの設定)] を選択します。

  8. [セキュリティグループの設定] ページで、セキュリティグループを確認してから、[確認して起動] を選択します。

  9. [インスタンス作成の確認] ページで設定を確認し、[起動] を選択してキーペアを選択し、インスタンスを起動します。

EFS ファイルシステムを作成し、インスタンスにマウントする

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

Prerequisites

  • EC2 インスタンスと EFS マウントターゲットに関連付けるセキュリティグループ (efs-sg など) を作成し、以下のルールを追加します。

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

    • このセキュリティグループに関連付けられている EC2 インスタンスから EFS マウントターゲットを介したファイルシステムへのインバウンド NFS 接続を許可する (ソースはセキュリティグループ自体です)。詳細については、「Amazon EFS ルール」、および Amazon Elastic File System ユーザーガイド の「セキュリティグループの作成」を参照してください。

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

ステップ 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. (オプション) [Name (名前)] にファイルシステムの名前を入力します。これにより、[Name (名前] に入力した名前をキーとし、ファイルシステムの名前を値とするタグが作成されます。

  4. [Virtual Private Cloud (VPC)] で、インスタンスに使用する VPC を選択します。

  5. [作成] を選択します。

  6. ファイルシステムの作成後、ファイルシステム ID を書き留めます。これは、このチュートリアルの後半で使用します。

  7. ファイルシステム ID を選択します。

  8. ファイルシステムのページで、[ネットワーク]、[管理] の順に選択します。VPC が存在するリージョンの各アベイラビリティーゾーンで Amazon EFS によって作成されるマウントターゲットを表示します。インスタンスの各アベイラビリティーゾーンで、[セキュリティグループ] の値が Prerequisites で作成したセキュリティグループであることを確認します。

  9. [Save] を選択します。

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

次の手順を使用して 2 つの t2.micro インスタンスを起動します。T2 インスタンスは、サブネットで起動する必要があることにご注意ください。デフォルト VPC またはデフォルト以外の VPC を使用することができます。

注記

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

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

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

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

  3. [ステップ 1: Amazon マシンイメージ (AMI) を選択する] で、Amazon Linux AMI を選択します。

  4. [ステップ 2: インスタンスタイプの選択] で、デフォルトのインスタンスタイプ t2.micro を維持し、[次の手順: インスタンスの詳細の設定] を選択します。

  5. [ステップ 3: インスタンスの詳細の設定] で、以下の操作を行います。

    1. [インスタンス数] に「2」と入力します。

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

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

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

    4. [ファイルシステム] で、[ファイルシステムの追加] を選択します。「ステップ 1: EFS ファイルシステムの作成」で作成したファイルシステム ID と値が一致していることを確認します。ファイルシステム ID の横に表示されるパスは、インスタンスが使用するマウントポイントです。このマウントポイントは変更できます。[Advanced Details (高度な詳細)] では、ユーザーデータが自動的に生成され、ファイルシステムのマウントに必要なコマンドが含まれます。

    5. ウィザードのステップ 6 に進みます。

  6. [Configure Security Group (セキュリティグループの設定)] ページで [既存のセキュリティグループを選択する] を選択したら、Prerequisites で作成したセキュリティグループを選択します。続いて、[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 に変わったら、インスタンスは使用できる状態です。

これで、インスタンスは、起動時および再起動されるたびに Amazon EFS ファイルシステムをマウントするよう設定されました。

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

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

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

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

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

    $ 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 として表示) は次の形式になります。

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

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

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

      $ ls /mnt/efs test-file.txt

ステップ 4: クリーンアップする

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

インスタンスを終了するには

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

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

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

  4. [Instance state (インスタンスの状態)]、[Terminate instance (インスタンスの終了)] の順に選択します。

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

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

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

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

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

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