EFS マウントヘルパーを使用したファイルシステムのマウント - Amazon Elastic File System

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

EFS マウントヘルパーを使用したファイルシステムのマウント

EFS マウントヘルパーにより、EC2 Linux インスタンスおよび Mac インスタンスに EFS ファイルシステムをマウントできます。Overview

Amazon EFS マウントヘルパーにより、ファイルシステムのマウントが簡素化されます。Amazon EFS 推奨のマウントオプションがデフォルトで含まれています。さらに、マウントヘルパーにはトラブルシューティングのためのログ記録が組み込まれています。Amazon EFS ファイルシステムに問題が発生した場合は、これらのログをAWSSupport 対象。ファイルシステムのマウントに関する詳細については、「」を参照してください。EFS ファイルシステムをマウントする

注記

Amazon EFS は、Amazon EC2 Windows インスタンスからのマウントをサポートしていません。

仕組み

マウントヘルパーは efs という新しいネットワークファイルシステムタイプを定義します。これには Linux の標準的な mount コマンドと完全な互換性があります。マウントヘルパーは、インスタンスのブート時に Amazon EFS ファイルシステムを自動的にマウントするのもサポートしています。/etc/fstab設定ファイル。

警告

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

以下のプロパティのうち、1 つを指定することで、ファイルシステムをマウントできます。

  • ファイルシステムのDNS名— ファイルシステム DNS 名を使用し、マウントヘルパーがこれを解決できない場合(たとえば、別の VPC にファイルシステムをマウントする場合など)、マウントターゲット IP アドレスの使用にフォールバックします。詳細については、「別の EFS ファイルシステムをマウントするAWS アカウントまたは VPC」を参照してください。

  • ファイルシステム ID— ファイルシステム ID を使用する場合、マウントヘルパーは外部リソースを呼び出さずに、マウントターゲットの elastic network interface (ENI) のローカル IP アドレスにこれを解決します。

  • マウントターゲットIPアドレス— いずれかのファイル・システムのマウント・ターゲットのIPアドレスを使用できます。

Amazon EFS コンソールで、これらのプロパティの値を確認できます。ファイルシステムのDNS名は、アタッチ画面。

転送時のデータ暗号化が Amazon EFS ファイルシステムのマウントオプションとして宣言されている場合、マウントヘルパーはクライアントstunnelプロセスと、amazon-efs-mount-watchdog。-amazon-efs-mount-watchdogプロセスは TLS マウントの状態を監視し、EFS ファイルシステムが TLS 経由で初めてマウントされたときに自動的に開始されます。このプロセスは、upstartまたはsystemdによって、Linux ディストリビューションに応じてlaunchdmacOS ビッグサーディストリビューションで

Stunnelはオープンソースの多目的ネットワークリレーです。クライアントstunnelプロセスはインバウンドトラフィックのローカルポートをリッスンし、マウントヘルパーは NFS クライアントトラフィックをこのローカルポートにリダイレクトします。

マウントヘルパーはファイルシステムとの通信に TLS バージョン 1.2 を使用します。TLS の使用には、信頼された Amazon 認証機関によって署名された証明書が必要です。暗号化の動作の詳細については、Amazon EFS でのデータの暗号化 を参照してください。

Amazon EFS クライアントで使用されるマウントオプション

Amazon EFS クライアントは、Amazon EFS 用に最適化された次のマウントオプションを使用します。

  • nfsvers=4.1— EC2 Linux インスタンスへのマウント時に使用

    nfsvers=4.0— macOS Big Surを実行している EC2 Mac インスタンスにマウントする場合に使用します。

  • rsize=1048576

  • wsize=1048576

  • hard

  • timeo=600

  • retrans=2

  • noresvport

  • mountport=2049— macOS Big Surを実行している EC2 Mac インスタンスにマウントする場合のみ使用

サポートログの取得

マウントヘルパーには、Amazon EFS ファイルシステム用のログ記録が組み込まれています。これらのログは、AWSトラブルシューティングのためのSupport。

このログは、マウントヘルパーがインストールされたシステムの /var/log/amazon/efs にあります。これらのログは、マウントヘルパー、stunnel プロセス自体、stunnel プロセスをモニタリングする amazon-efs-mount-watchdog プロセスのためのものです。

注記

ウォッチドッグプロセスは、各マウントの stunnel プロセスが実行されているかどうか、Amazon EFS ファイルシステムがアンマウントされたときに stunnel が停止されたかどうかを確認します。何らかの理由で、stunnel プロセスが予期せず終了した場合、ウォッチドッグプロセスにより再開されます。

/etc/amazon/efs/efs-utils.conf でログの設定を変更できます。ただし、変更を有効にするためには、マウントヘルパーでファイルシステムをアンマウントしてから再マウントする必要があります。マウントヘルパーおよびウォッチドッグログのログ容量は 20 MiB に制限されています。stunnel プロセスのログはデフォルトでは無効になっています。

重要

stunnel プロセスログのログ記録を有効にすることができます。ただし、stunnel ログを有効にするとファイルシステムのいくらかの容量が使用されます。

EFS マウントヘルパーを使用するための前提条件

Amazon EFS マウントヘルパーを使用して Amazon EC2 インスタンスに Amazon EFS ファイルシステムをマウントできます。マウントヘルパーを使用するには、以下が必要になります。

  • マウントするファイルシステムのファイルシステムID-EFS マウントヘルパーは、外部リソースを呼び出さずに、マウントターゲットの elastic network interface (ENI) のローカル IP アドレスにファイルシステム ID を解決します。

  • Amazon EFS マウントターゲット— 仮想プライベートクラウド (VPC) にマウントターゲットを作成します。サービス推奨設定を使用してコンソールでファイルシステムを作成すると、マウントターゲットはAWS リージョンファイルシステムが格納されていること。マウントターゲットを作成する手順については、「」を参照してください。マウントターゲットの作成と管理

    注記

    ファイルシステムをマウントする前に、マウントターゲットを作成してから 90 秒待機することをお勧めします。この待機により、DNS レコードはAWS リージョンファイルシステムを格納します。

    ご使用の Amazon EC2 インスタンスとは異なるアベイラビリティーゾーンでマウントターゲットを使用すると、アベイラビリティーゾーンから送信されるデータに対して EC2 の標準料金がかかります。また、ファイルシステムオペレーションのレイテンシーが増加することがあります。

    注記

    One Zone ストレージクラスを使用する Amazon EFS ファイルシステムには、ファイルシステムと同じアベイラビリティーゾーンにある 1 つのマウントターゲットがあります。EFS マウントヘルパーを使用するには、AWSコンピュートインスタンスは、ファイルシステムと同じアベイラビリティーゾーンに配置する必要があります。

  • ファイルシステムをマウントする場合1 つのゾーンストレージクラス別のアベイラビリティーゾーンから:

    • ファイルシステムのアベイラビリティーゾーンの名前— EC2 インスタンスとは異なるアベイラビリティーゾーンにある One Zone ストレージクラスを使用して EFS ファイルシステムをマウントする場合。

    • マウントターゲットDNS名— または、アベイラビリティーゾーンの代わりにマウントターゲットの DNS 名を指定することもできます。

  • サポートされている Linux または macOS ディストリビューションの 1 つを実行している Amazon EC2 インスタンス— マウントヘルパーを使用してファイルシステムをマウントするためにサポートされているディストリビューションは以下の通りです:

    • Amazon Linux 2

    • Amazon Linux 2017.09 以降

    • macOS ビッグSur

    • Red Hat Enterprise Linux (および、その派生物 CentOS など) バージョン 7 以降

    • Ubuntu 16.04 LTS 以降

    注記

    macOS Big Surを実行している EC2 Mac インスタンスは NFS 4.0 のみをサポートします。

  • EC2 インスタンスにインストールされた Amazon EFS マウントヘルパー— マウントヘルパーはamazon-efs-utils。のインストールについては、amazon-efs-utils「」を参照してください。Amazon EFS クライアントの手動インストール

  • EC2 インスタンスは VPC 内にあります— 接続する EC2 インスタンスは、Amazon VPC サービスに基づいて Virtual Private Cloud (VPC) で作成する必要があります。また、で提供される DNS サーバーを使用するように設定されている必要があります。AWS。Amazon DNS サーバーの詳細については、「」を参照してください。DHCP オプションセットAmazon VPC User Guide

  • VPC で DNS ホスト名が有効になっている— 接続する EC2 インスタンスの VPC で DNS ホスト名が有効になっている必要があります。詳細については、「」を参照してください。EC2 インスタンスの DNS ホスト名を確認するAmazon VPC User Guide

EFS マウントヘルパーを使用して Amazon EC2 Linux インスタンスにマウントする

EC2 Linux インスタンスでマウントヘルパーを使用して Amazon EFS ファイルシステムをマウントするには

  1. Secure Shell (SSH) を使用して EC2 インスタンスでターミナルウィンドウを開き、適切なユーザー名でログインします。詳細については、「」を参照してください。SSH を使用した Linux インスタンスへの接続Linux インスタンスの場合。

  2. 以下のいずれかのコマンドを実行し、ファイルシステムをマウントします。

    注記

    マウントする EC2 インスタンスおよびファイルシステムが異なるAWS リージョンについては、Amazon EFS ファイルシステムを別のAWS リージョンを編集するにはregionプロパティのefs-utils.confファイルを開きます。

    • ファイル・システムIDを使用してマウントするには、次の手順で行います。

      sudo mount -t efs file-system-id efs-mount-point/
      sudo mount -t efs fs-12345678 efs/

      または、転送時にデータの暗号化を使用する場合、次のコマンドを使用してファイルシステムをマウントできます。

      sudo mount -t efs -o tls fs-12345678 efs/
    • ファイル・システムのDNS名を使用してマウントするには、次の手順で行います。

      sudo mount -t -efs -o tls file-system-dns-name efs-mount-point/
      sudo mount -t -efs -o tls fs-12345678.efs.us-east-2.amazonaws.com efs/
    • マウントターゲットIPアドレスを使用してマウントするには

      sudo mount -t efs -o tls,mounttargetip=mount-target-ip file-system-id efs-mount-point/
      sudo mount -t efs -o tls,mounttargetip=192.0.2.0 fs-12345678 efs/

    ファイルシステムをマウントするための正確なコマンドを表示およびコピーするには、アタッチダイアログボックスで。

    1. Amazon EFS コンソールで、マウントするファイルシステムを選択して、詳細ページを表示します。

    2. このファイルシステムで使用するマウントコマンドを表示するには、アタッチ右上の [] をクリックします。

      
                  ファイルシステムをマウントするときに使用する正確なコマンドを示す [ファイルシステムのアタッチ] 画面

      -アタッチ画面には、ファイルシステムのマウントに使用するコマンドが次のように表示されます。

      • (DNS 経由でマウントする) EFS マウントヘルパーまたは NFS クライアントを使用して、ファイルシステムのDNS 名を使用します。

      • (IP経由でマウント選択したアベイラビリティーゾーンのマウントターゲットの IP アドレスを NFS クライアントと共に使用する。

EFS マウントヘルパーを使用して Amazon EC2 Mac インスタンスにマウントする

macOS Big Sur を実行する EC2 Mac インスタンスでマウントヘルパーを使用して Amazon EFS ファイルシステムをマウントするには

  1. Secure Shell (SSH) を使用して EC2 Mac インスタンスでターミナルウィンドウを開き、適切なユーザー名でログインします。詳細については、「」を参照してください。SSH を使用したインスタンスへの接続Mac インスタンスの場合は、Linux インスタンス用 Amazon EC2 ユーザーガイド

  2. 以下のコマンドを使用してファイルシステムをマウントします。

    注記

    デフォルトでは、EFS マウントヘルパーは、EC2 Mac インスタンスにマウントするときに、転送中に暗号化を使用します。これは、tlsオプションを指定します。

    sudo mount -t efs file-system-id efs-mount-point/
    sudo mount -t efs fs-12345678 efs/

    また、 を使用することもできますtlsオプションを使用します。

    sudo mount -t efs -o tls fs-12345678:/ efs

    転送中の暗号化を使用せずに EC2 Mac インスタンスにファイルシステムをマウントするには、notls次のコマンドに示すように、オプションを使用します。

    sudo mount -t efs -o notls file-system-id efs-mount-point/

    ファイルシステムをマウントするための正確なコマンドを表示およびコピーするには、管理コンソールのアタッチダイアログボックスで、次のように説明しています。

    1. Amazon EFS コンソールで、マウントするファイルシステムを選択して、詳細ページを表示します。

    2. このファイルシステムで使用するマウントコマンドを表示するには、アタッチ右上の [] をクリックします。

      
                  ファイルシステムをマウントするときに使用する正確なコマンドを示す [ファイルシステムのアタッチ] 画面

      -アタッチ画面には、ファイルシステムのマウントに使用するコマンドが次のように表示されます。

      • (DNS 経由でマウントする) EFS マウントヘルパーまたは NFS クライアントを使用して、ファイルシステムのDNS 名を使用します。

      • (IP経由でマウント選択したアベイラビリティーゾーンのマウントターゲットの IP アドレスを NFS クライアントと共に使用する。

    注記

    マウントする EC2 インスタンスおよびファイルシステムが異なるAWS リージョンについては、Amazon EFS ファイルシステムを別のAWS リージョンを編集するにはregionプロパティのefs-utils.confファイルを開きます。

Amazon EFS ファイルシステムを別のAWS リージョン

異なる Amazon EC2 インスタンスから EFS ファイルシステムをマウントする場合AWS リージョンをファイルシステムよりも使用する場合は、regionプロパティの値をefs-utils.confファイルを開きます。

で領域プロパティを編集するにはefs-utils.conf

  1. Secure Shell (SSH) を介して EC2 インスタンスのターミナルにアクセスし、適切なユーザー名でログインします。方法の詳細については、「」を参照してください。SSH を使用した Linux インスタンスへの接続Linux インスタンス用 Amazon EC2 ユーザーガイド

  2. [♪efs-utils.confファイルを開き、好みのエディタを使用して開きます。

  3. 以下の行を見つけます。

    #region = us-east-1
    1. 行のコメントを解除します。

    2. ファイルシステムがus-east-1リージョン、置換us-east-1は、ファイルシステムが配置されているリージョンの ID に置き換えます。

    3. 変更を保存します。

  4. の EFS マウントヘルパーを使用してファイルシステムをマウントします。LinuxまたはMacインスタンス。

One Zoneストレージクラスを使用したファイルシステムのマウント

1 ゾーンストレージクラスを使用する Amazon EFS ファイルシステムは、ファイルシステムと同じアベイラビリティーゾーンにある 1 つのマウントターゲットのみをサポートします。マウント・ターゲットを追加することはできません。このセクションでは、One Zone ストレージクラスを使用する Amazon EFS ファイルシステムをマウントする際に考慮すべき事項について説明します。

アベイラビリティーゾーン間のデータ転送料金を回避し、ファイルシステムのマウントターゲットのアベイラビリティーゾーンと同じアベイラビリティーゾーンにある Amazon EC2 コンピュートインスタンスを使用して EFS ファイルシステムにアクセスすることで、パフォーマンスを向上させることができます。これは、EFS ストレージクラスまたは 1 ゾーンストレージクラスを使用するファイルシステムに適用されます。

EC2 で 1 ゾーンストレージクラスを使用するファイルシステムを別のアベイラビリティーゾーンにマウントする

別のアベイラビリティーゾーンにある EC2 インスタンスで One Zone ストレージクラスを使用して EFS ファイルシステムをマウントする場合は、mount helper mount コマンドでファイルシステムのアベイラビリティーゾーン名またはファイルシステムのマウントターゲットの DNS 名を指定する必要があります。

次のコマンドは、ファイルシステムのアベイラビリティーゾーン名を指定します。

sudo mount -t efs -o az=availability-zone-name,tls file-system-id /mnt

これは、サンプル値を含むコマンドです。

sudo mount -t efs -o az=us-east-1a,tls fs-12345678 /mnt

次のコマンドは、ファイルシステムのマウントターゲットの DNS 名を指定します。

sudo mount -t efs tls mount-target-dns-name /mnt

このコマンドは、マウントターゲット DNS 名の例を示しています。

sudo mount -t efs tls us-east-1a.fs-12345678.efs.amazonaws.com /mnt

1つのゾーン・ストレージを使用したファイル・システムのマウントAWSコンピューティングインスタンス

Amazon EFS ファイルシステムを 1 ゾーンストレージクラスで使用する場合、Amazon EFS ファイルシステムを Amazon EFS ファイルシステムAmazon Elastic Kubernetes Service FS ファイルシステムを使用する場合、またはAWS Lambdaでは、EFS ファイルシステムが配置されているのと同じアベイラビリティーゾーンを使用するようにサービスを構成する必要があります。次のセクションで説明します。


          示している図AWSEFS One Zone ファイルシステムに接続するコンピュートインスタンス。

Amazon Elastic Container Service

Amazon EFS ファイルシステムを Amazon ECS で使用すると、コンテナインスタンス群でファイルシステムデータを共有できます。これにより、配置されているインスタンスにかかわらず、すべてのタスクから同じ永続的ストレージにアクセスできます。Amazon ECS で Amazon EFS One Zone ストレージクラスを使用するには、タスクを起動するときに、ファイルシステムと同じアベイラビリティーゾーンにあるサブネットのみを選択する必要があります。詳細については、「」を参照してください。Amazon EFS ボリュームAmazon Elastic Container Service

Amazon Elastic Kubernetes Service からの接続

Amazon EFS KS の One Zone ストレージクラスを使用する Amazon EFS ファイルシステムをマウントする場合は、コンテナストレージインターフェイス(CSI) ドライバーを使用して、Amazon EFS KS または自己管理型 Kubernetes クラスター内の複数の Pod 間でファイルシステムを共有できます。Amazon EFS CSI ドライバーは Fargate スタックにインストールされます。Amazon EFS One Zone ストレージクラスで Amazon EFS CSI ドライバを使用する場合は、nodeSelectorオプションを有効にして、ファイルシステムと同じアベイラビリティーゾーン内でスケジュールされるようにします。

からに接続するAWS Lambda

Amazon EFS はAWS Lambdaを使用して、関数呼び出し間でデータを共有したり、大きな参照データファイルを読み込んだり、関数出力を永続ストアと共有ストアに書き込んだりすることができます。AWS Lambdaは、関数インスタンスを同じアベイラビリティーゾーンとサブネットにある Amazon EFS マウントターゲットに安全に接続します。When you use AWS Lambdaで、EFS One Zone ストレージクラスを使用して Amazon EFS ファイルシステムを使用する場合、ファイルシステムと同じアベイラビリティーゾーンにあるサブネットへの呼び出しのみを起動するように、関数を設定します。

IAM 認証によるマウント

を使用して Linux インスタンスに Amazon EFS ファイルシステムをマウントするにはAWS Identity and Access Management(IAM) 認証を行うには、EFS マウントヘルパーを使用します。NFS クライアントの IAM 認証の詳細については、「IAM を使用したファイルシステムのデータアクセスの制御」を参照してください。

EC2 インスタンスプロファイルを使用した IAM によるマウント

インスタンスプロファイルを使用して Amazon EC2 インスタンスに対して IAM 認証によるマウントを行う場合は、tlsおよびiamマウントオプション (以下を参照)。

$ sudo mount -t efs -o tls,iam file-system-id efs-mount-point

インスタンスプロファイルを使用する Amazon EC2 インスタンスに対して IAM 認証によるマウントを自動的に行うには、次の行を/etc/fstabファイルを EC2 インスタンス上に保存します。

file-system-id:/ efs-mount-point efs _netdev,tls,iam 0 0

名前付きプロファイルを使用した IAM でのマウント

AWS CLI 認証情報ファイルにある IAM 認証情報を使用して IAM 認証でマウントできます。~/.aws/credentials、またはAWSCLI 設定ファイル~/.aws/config"awsprofile" が指定されていない場合は、"デフォルト" のプロファイルが使用されます。

認証情報ファイルを使用して Linux インスタンスに対して IAM 認証によるマウントを行うには、tls,awsprofile, およびiamマウントオプション (以下を参照)。

$ sudo mount -t efs -o tls,iam,awsprofile=namedprofile file-system-id efs-mount-point/

認証情報ファイルを使用して Linux インスタンスに対して IAM 認証によるマウントを自動的に行うには、次の行を/etc/fstabファイルを EC2 インスタンス上に保存します。

file-system-id:/ efs-mount-point efs _netdev,tls,iam,awsprofile=namedprofile 0 0

EFS アクセスポイントによるマウント

EFS アクセスポイントを使用して EFS ファイルシステムをマウントできます。そのためには、EFS マウントヘルパーを使用します。

アクセスポイントを使用してファイルシステムをマウントする場合、mount コマンドには、通常のマウントオプションに加えて、access-point-id および tls マウントオプションが含まれます。以下に例を示します。

$ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-id efs-mount-point

アクセスポイントを使用してファイルシステムを自動的にマウントするには、EC2 インスタンスの /etc/fstab ファイルに次の行を追加します。

file-system-id efs-mount-point efs _netdev,tls,accesspoint=access-point-id 0 0

EFS アクセスポイントの詳細については、「Amazon EFS アクセスポイントを使用する」を参照してください。

EFS マウントヘルパーを使用して、オンプレミス Linux クライアントにマウントするAWS Direct Connectおよび VPN

Amazon EFS ファイルシステムをオンプレミスデータセンターサーバーにマウントするには、AWS Direct Connectまたは VPN。また、amazon-efs-utils を使用して Amazon EFS ファイルシステムをマウントすると、マウントヘルパーでマウントが簡単になり、転送中のデータの暗号化を有効にすることができます。

で amazon-efs-utils を使用する方法を参照してください。AWS Direct Connectおよび VPN を使用して Amazon EFS ファイルシステムをオンプレミス Linux クライアントにマウントするには、チュートリアルのチュートリアル: でオンプレミスでファイルシステムを作成し、マウントします。AWS Direct Connectおよび VPN VPN VPN

Amazon EFS ファイルシステムを自動的にマウントする

再起動時に EFS ファイルシステムが自動的にマウントされるように Amazon EC2 インスタンスを設定するには、次の 2 つの方法があります:

  • インスタンス起動ウィザードを使用して新しい EC2 インスタンスを作成する。

  • EFS ファイルシステムのエントリで EC2 の /etc/fstab ファイルを更新する。

どちらの方法でも、EFS マウントヘルパーを使用してファイルシステムをマウントします。マウントヘルパーは、amazon-efs-utils というツールセットの一部です。

これらの amazon-efs-utils ツールは、Amazon Linux および Amazon Linux 2 の Amazon マシンイメージ (AMI) にインストールできます。の詳細については、「amazon-efs-utils」を参照してください。。amazon-efs-utils ツールを使用するRed Hat Enterprise Linux (RHEL) など、他の Linux ディストリビューションを使用している場合は、amazon-efs-utils を手動でビルドおよびインストールします。詳細については、「他の Linux ディストリビューションへの Amazon EFS クライアントのインストール」を参照してください。

注記

Amazon EFS ファイルシステムは、macOS Big Surを実行している Amazon EC2 Mac インスタンスへの自動マウントをサポートしていません。

インスタンスの起動時に EFS ファイルシステムをマウントする EC2 インスタンスの設定

EC2 インスタンス起動ウィザードを使用して新しい Amazon EC2 Linux インスタンスを作成する場合、Amazon EFS ファイルシステムを自動的にマウントするよう設定できます。EC2 インスタンスでは、インスタンスが最初に起動されたときと再起動ごとに、ファイルシステムが自動的にマウントされます。

注記

Amazon EFS ファイルシステムは、インスタンスの起動時に macOS Big Surを実行している Amazon EC2 Mac インスタンスへのマウントをサポートしていません。

この手順を実行する前に、Amazon EFS ファイルシステムを作成済みであることを確認してください。詳細については、「」を参照してください。ステップ 1: Amazon EFS ファイルシステムを作成します。Amazon EFS 入門時の演習を参照してください。

注記

Microsoft Windows ベースの Amazon EC2 インスタンスで Amazon EFS を使用することはできません。

Amazon EC2 インスタンスを起動して接続する前に、key pair をまだ作成していない場合は作成する必要があります。「」の手順を行います。Amazon EC2 でのセットアップLinux インスタンス用 Amazon EC2 ユーザーガイドkey pair を作成するには。すでにキーペアがある場合は、この演習に使用できます。

起動時に自動的に EFS ファイルシステムをマウントするよう EC2 インスタンスを設定するには

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

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

  3. Eclipseステップ 1: Amazon マシンイメージ(AMI)で、リストの上部にある Amazon Linux AMI を見つけて、[] を選択します。Select

  4. Eclipseステップ 2: インスタンスタイプの選択] で、[次へ: インスタンスの詳細の設定

  5. Eclipseステップ 3: インスタンスの詳細の設定に、次の情報を入力します。

    • [ネットワーク] で、マウントする EFS ファイルシステムと同じ VPC のエントリを選択します。

    • [サブネット] で、任意のアベイラビリティーゾーンのデフォルトのサブネットを選択します。

    • [ファイルシステム] で、マウントする EFS ファイルシステムを選択します。ファイルシステム ID の横に表示されるパスは、EC2 インスタンスが使用するマウントポイントです。このマウントポイントは変更できます。

    • [Advanced Details (高度な詳細)] の [User data (ユーザーデータ)] で、ユーザーデータが自動的に生成されます。このデータには、[File systems (ファイルシステム)] で指定した EFS ファイルシステムをマウントするために必要なコマンドが含まれます。

  6. [Next: (次へ:)] を選択します ストレージの追加

  7. [Next: (次へ:)] を選択します タグの追加

  8. インスタンスに名前を付け、次へ: セキュリティグループの設定

  9. Eclipseステップ 6: セキュリティグループの設定設定設定設定設定セキュリティグループの割り当て既存のセキュリティグループを選択する。デフォルトのセキュリティグループを選択して、EFS ファイルシステムにアクセスできることを確認します。

    このセキュリティグループを使用して、Secure Shell (SSH) で EC2 インスタンスにアクセスすることはできません。SSH によるアクセスについては、後でデフォルトのセキュリティを編集し、SSH を許可するルールまたは SSH を許可する新しいセキュリティグループを追加できます。以下の設定を使用できます。

    • Type: SSH

    • プロトコル: TCP

    • ポート範囲: 22

    • ソース: Anywhere 0.0.0.0.0.0/0

  10. [Review and Launch] を選択します。

  11. [Launch] を選択します。

  12. 作成したキーペアのチェックボックスを選択した後、[インスタンスの起動] を選択します。

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

/etc/fstab を使用した自動マウント

Amazon EC2 インスタンスの再起動時に Amazon EFS ファイルシステムディレクトリを自動的に再マウントするには、ファイルを使用します。/etc/fstab/etc/fstab ファイルには、ファイルシステムに関する情報が含まれています。コマンドmount -aインスタンスの起動中に実行される、/etc/fstab。この手順では、EFS マウントヘルパーを使用して EC2 インスタンスにインストールする必要があるファイルシステムをマウントします。

注記

Amazon EFS ファイルシステムは、/etc/fstabmacOS Big Sur を実行する Amazon EC2 Mac インスタンスで。

マウントヘルパーは、amazon-efs-utils というツールセットの一部であり、Amazon Linux および Amazon Linux 2 の Amazon マシンイメージ (AMI) にインストールできます。Amazon Linux または Amazon Linux 2 の AMI に amazon-efs-utils をインストールする方法については、「Amazon EFS クライアントの手動インストール」を参照してください。Red Hat Enterprise Linux (RHEL) など、他の Linux ディストリビューションを使用している場合は、amazon-efs-utils を手動でビルドおよびインストールします。詳細については、「他の Linux ディストリビューションへの Amazon EFS クライアントのインストール」を参照してください。

注記

更新する前に、/etc/fstabファイルに、Amazon EFS ファイルシステムがすでに作成済みであることを確認してください。詳細については、「ステップ 1: Amazon EFS ファイルシステムを作成します。」を参照してください。

EC2 インスタンスで /etc/fstab ファイルを更新するには

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

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

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

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

  2. エディタで /etc/fstab ファイルを開きます。

  3. IAM 認証または EFS アクセスポイントのいずれかを使用して、EFS ファイルシステムを自動的にマウントします:

    • インスタンスプロファイルを使用する Amazon EC2 インスタンスに対して IAM 認証によるマウントを自動的に行うには、次の行を/etc/fstabファイルを開きます。

      file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,iam 0 0
    • 認証情報ファイルを使用して Linux インスタンスに対して IAM 認証によるマウントを自動的に行うには、次の行を/etc/fstabファイルを開きます。

      file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,iam,awsprofile=namedprofile 0 0
    • EFS アクセスポイントを使用してファイルシステムを自動的にマウントするには、/etc/fstab ファイルに次の行を追加します。

      file-system-id efs-mount-point efs _netdev,noresvport,tls,accesspoint=access-point-id 0 0
    警告

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

    詳細については、「IAM 認証によるマウント」および「EFS アクセスポイントによるマウント」を参照してください。

  4. 変更をファイルに保存します。

  5. mount コマンドで 'all' および 'verbose' オプションと共に 'fake' オプションを指定して、fstab エントリをテストします。

    $ sudo mount -fav home/ec2-user/efs : successfully mounted

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

注記

場合によっては、マウントされた Amazon EFS ファイルシステムのステータスに関係なく、Amazon EC2 インスタンスの起動が必要になることがあります。そのような場合は、/etc/fstab ファイルに記載されているファイルシステムのエントリに nofail オプションを追加します。

/etc/fstab ファイルに追加したコードの行は以下のようになります。

フィールド 説明

file-system-id:/

Amazon EFS ファイルシステムのID。この ID は、コンソールから、または CLI からプログラムで取得できます。AWSSDK.

efs-mount-point

EC2 インスタンスの EFS ファイルシステムのマウントポイントです。

efs

ファイルシステムのタイプ。マウントヘルパーを使用している場合、このタイプは常に efs です。

mount options

ファイルシステムのマウントオプション。以下はオプションのカンマ区切りのリストです。

  • _netdev— このオプションは、ネットワークアクセスを必要とするデバイスにファイルシステムが存在することをオペレーティングシステムに通知します。このオプションは、クライアント上でネットワークが有効になるまで、インスタンスがファイルシステムをマウントするのを防ぎます。

  • noresvport— ネットワーク接続が再確立された時に、新しい Transmission Control Protocol (TCP) 送信元ポートを使用するように、NFS クライアントに指示します。これにより、ネットワーク復旧イベント後、EFS ファイルシステムでの中断のない可用性が保証されます。

  • tls— 転送時のデータの暗号化を可能にします。

  • iam— このオプションにより、インスタンスプロファイルを使用する Amazon EC2 に対して IAM 認証によるマウントを行います。iam マウントオプションを使用するには、tls オプションも使用する必要があります。詳細については、「IAM を使用したファイルシステムのデータアクセスの制御」を参照してください。

  • awsprofile=namedprofile— このオプションをiamおよびtlsオプションにより Linux インスタンスに対して IAM 認証によるマウントを行います。EFS アクセスポイントの詳細については、「IAM を使用したファイルシステムのデータアクセスの制御」を参照してください。

  • accesspoint=access-point-id— このオプションをtlsオプションを使用して、EFS アクセスポイントを使用してマウントします。EFS アクセスポイントの詳細については、「Amazon EFS アクセスポイントを使用する」を参照してください。

0

ゼロ以外の値の場合、ファイルシステムを dump でバックアップする必要があることを示します。EFS の場合、この値は 0 になっている必要があります。

0

起動時に fsck がファイルシステムをチェックする順序。EFS ファイルシステムの場合、この値は0ということを示す。fsckは起動時に実行しないでください。

を使用して複数の EC2 インスタンスへの EFS のマウントAWS Systems Manager

EFS ファイルシステムを複数の Amazon EC2 インスタンスにリモートで安全にマウントするには、AWS Systems ManagerRun Command の詳細AWS Systems ManagerRun CommandAWS Systems ManagerRun CommandのAWS Systems Managerユーザーガイド。この方法を使用して EFS ファイルシステムをマウントする前に、次の前提条件が必要です。

  1. EC2 インスタンスは、インスタンスプロファイルを使用して起動されます。このプロファイルには、AmazonElasticFileSystemsUtilsアクセス許可ポリシー。詳細については、「ステップ 1: 必要なアクセス権限を使用した IAM インスタンスプロファイルの設定」を参照してください。

  2. Amazon EFS クライアント(amazon-efs-utils パッケージ)のバージョン 1.28.1 以降が EC2 インスタンスにインストールされています。次を使用できます。AWSSystems Manager を使用すると、パッケージがインスタンスに自動的にインストールされます。詳細については、「ステップ 2: Amazon EFS クライアントをインストールまたは更新するためにステートマネージャーが使用する関連付けを設定する」を参照してください。

コンソールを使用して複数の EFS ファイルシステムを複数の EC2 インスタンスにマウントするには

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

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

  3. [Run a command] を選択します。

  4. EnterAWS-RunShellScriptコマンド検索フィールド。

  5. SelectAWS-RunShellScript

  6. Eclipseコマンドのパラメーターマウントする EFS ファイルシステムごとに使用する mount コマンドを入力します。以下に例を示します。

    sudo mount -t efs -o tls fs-12345678:/ /mnt/efs sudo mount -t efs -o tls,accesspoint=fsap-12345678 fs-01233210 /mnt/efs

    Amazon EFS クライアントを使用する EFS マウントコマンドの詳細については、「」を参照してください。EFS マウントヘルパーを使用して Amazon EC2 Linux インスタンスにマウントするまたはEFS マウントヘルパーを使用して Amazon EC2 Mac インスタンスにマウントする

  7. ターゲットを選択しますAWS Systems Managerコマンドを実行するマネージドの EC2 インスタンス。

  8. その他必要な追加設定を行います。次に [] を選択します。Runを使用してコマンドを実行し、コマンドで指定された EFS ファイルシステムをマウントします。

    コマンドを実行すると、コマンドの履歴にコマンドのステータスを確認できます。

別の EFS ファイルシステムをマウントするAWS アカウントまたは VPC

EFS ファイルシステムは、NFS クライアントに対して IAM 認証を使用し、EFS アクセスポイントに対して EFS ファイルシステムをマウントできます。既定では、EFS マウントヘルパーは、ドメインネームサービス (DNS) を使用して、EFS マウントターゲットの IP アドレスを解決します。別のアカウントまたは Virtual Private Cloud (VPC) からファイルシステムをマウントする場合は、EFS マウントターゲットを手動で解決する必要があります。

次に、NFS クライアントに使用する正しい EFS マウントターゲットの IP アドレスを決定する手順を示します。また、その IP アドレスを使用して EFS ファイルシステムがマウントされるようにクライアントを設定する方法についても説明します。

IAM または別の VPC からのアクセスポイントを使用したマウント

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

Prerequisites

ここに示す手順を使用する前に、以下を行う必要があります:

  • Amazon EFS クライアントをインストールします。amazon-efs-utilsEFS ファイルシステムをマウントするコンピュートインスタンス上のユーティリティのセット。含まれている EFS マウントヘルパーを使用します。amazon-efs-utilsをクリックして、ファイルシステムをマウントします。amazon-efs-utils のインストール手順については、「amazon-efs-utils ツールを使用する」を参照してください。

  • 許可するec2:DescribeAvailabilityZonesアクションを、インスタンスにアタッチした IAM ロールの IAM ポリシーで実行します。「」を添付することをお勧めします。AWS管理ポリシーAmazonElasticFileSystemsUtilsを IAM エンティティに追加して、エンティティに必要なアクセス許可を提供します。

  • 別のものからマウントする場合AWS アカウントで、ファイルシステムのリソースポリシーを更新して、elasticfilesystem:DescribeMountTarget他のプリンシパル ARN のアクションAWS アカウント。以下に例を示します。

    { "Id": "access-point-example03", "Statement": [ { "Sid": "access-point-statement-example03", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::555555555555"}, "Action": "elasticfilesystem:DescribeMountTargets", "Resource": "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-12345678", } ] }

    EFS ファイルシステムリソースポリシーの詳細については、「」を参照してください。リソースベースのポリシー

  • botocore をインストールします。EFS クライアントは、別の VPC にファイルシステムをマウントするときにファイルシステム DNS 名を解決できない場合、botocore を使用してマウントターゲット IP アドレスを取得します。詳細については、「」を参照してください。botocore をインストールするを efs-utils README ファイルに書き出します。

  • VPC ピアリング接続または VPC トランジットゲートウェイを設定します。

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

    トランジットゲートウェイは、VPC とオンプレミスネットワークを相互接続するために使用できるネットワークの中継ハブです。VPC Transit Gateway の使用に関する詳細については、「」を参照してください。トランジットゲートウェイの開始方法Amazon VPC Transit Gateway ガイド

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

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

IAM またはアクセスポイントを使用して EFS ファイルシステムを別の VPC にマウントするには

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

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

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

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

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

    $ sudo mkdir /mnt/efs
  3. IAM 認証を使用してファイルシステムをマウントするには、次のコマンドを使用します:

    $ sudo mount -t efs -o tls,iam file-system-dns-name /mnt/efs/

    EFS を使用した IAM 認証の詳細については、「IAM を使用したファイルシステムのデータアクセスの制御」を参照してください。

    EFS アクセスポイントを使用してファイルシステムをマウントするには、次のコマンドを使用します:

    $ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-dns-name /mnt/efs/

    EFS アクセスポイントの詳細については、「Amazon EFS アクセスポイントを使用する」を参照してください。

Amazon EFS ファイルシステムを別のAWS リージョン

別の VPC から EFS ファイルシステムをマウントする場合AWS リージョンをファイルシステムよりも使用する場合は、efs-utils.confファイルを開きます。Eclipseefs-utils.confで、次の行を見つけます。

#region = us-east-1

行のコメントを解除し、ファイルシステムが配置されているリージョンの ID の値をus-east-1

別のからマウントするAWS アカウント同じ VPC 内の

共有 VPC を使用して、1 つのAWS アカウント異なるによって所有されている Amazon EC2 インスタンスからAWS アカウント。共有 VPC の設定に関する詳細については、「」を参照してください。共有 VPC の使用Amazon VPC Peering Guide

VPC 共有をセットアップしたら、EC2 インスタンスで、ドメインネームシステム (DNS) 名前解決または EFS マウントヘルパーを使用して EFS ファイルシステムをマウントできるようになります。EFS マウントヘルパーを使用して EFS ファイルシステムをマウントすることをお勧めします。