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

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

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

EFS マウントヘルパーを使用すると、に示されてサポートされているディストリビューションを実行する EC2 Linux および Mac インスタンスに EFS ファイルシステムをマウントできます。概要

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

注記

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

使用方法

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

警告

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

ファイルシステムをマウントするには、次のいずれかのプロパティを指定します。

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

  • ファイルシステム 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 または Linux ディストリビューションに依存する systemd および macOS Big Sur ディストリビューションの launchd で管理されます。

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 サポートと共有できます。

このログは、マウントヘルパーがインストールされたシステムの /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 マウントヘルパーは、外部リソースを呼び出さずに、ファイルシステム ID をマウントターゲット Elastic Network Interface (ENI) のローカル IP アドレスを解決します。

  • Amazon EFS マウントターゲット – Virtual Private Cloud (VPC) にマウントターゲットを作成します。サービス推奨設定を使用してコンソールでファイルシステムを作成する場合、マウントターゲットはファイルシステムがある AWS リージョン の各アベイラビリティーゾーンに作成します。マウントターゲットの作成手順については、「マウントターゲットとセキュリティグループの作成と管理」を参照してください。

    注記

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

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

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

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

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

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

    • Amazon Linux 2

    • Amazon Linux 2017.09 以降

    • macOS Big Sur

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

    • Ubuntu 16.04 LTS 以降

    注記

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

  • Amazon EFS マウントヘルパーは EC2 インスタンスにインストールされています。— マウントヘルパーはamazon-efs-utilsユーティリティのパッケージ。インストールについての情報amazon-efs-utils「」を参照してください。を使用するAWS Systems Managerインストールするamazon-efs-utilsそして手動インストールamazon-efs-utils

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

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

  • EC2 インスタンスと異なるファイルシステムの場合AWS リージョン— EC2 インスタンスとマウントするファイルシステムが異なるにある場合AWS リージョン「」を編集する必要があります。regionプロパティのefs-utils.confファイルを開きます。詳細については、「Amazon EFS ファイルシステムを別の AWS リージョン からマウントする」を参照してください。

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

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

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

  2. バージョン 1.28.1 以降の Amazon EFS クライアント (amazon-efs-utils パッケージ) は EC2 インスタンスにインストールされています。AWS Systems 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. コマンド 検索フィールドに「AWS-RunShellScript」と入力します。

  5. SelectAWS-RunShellScript

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

    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 ファイルシステムをマウントします。

    コマンドを実行すると、そのステータスがコマンド履歴に表示されます。

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

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

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

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

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

前提条件

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

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

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

  • 別の AWS アカウント から取り付ける場合は、ファイルシステムリソースポリシーを更新して、他の AWS アカウント のプリンシパル ARN に対するアクション elasticfilesystem:DescribeMountTarget を許可します。例:

    { "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 名を解決できない場合に、ボトコアを使用してマウントターゲット IP アドレスを取得します。詳細については、次を参照してください。botocore をインストールするamazon-efs-utilsREADME ファイル。

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

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

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

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

ファイルシステムの高可用性を確保するために、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ファイルシステムをマウントする場合は、ファイルを編集する必要があります。efs-utils.conf で、次の行を見つけます。

#region = us-east-1

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

別の AWS アカウント iまたは同じ VPC からマウントする

共有 VPC を使用して、AWS アカウント が所有する Amazon EFS ファイルシステムを、別の AWS アカウント が所有する Amazon EC2 インスタンスからマウントすることができます。共有 VPC の設定については、Amazon VPC Peering Guideの「共有 VPC の使用」を参照してください。

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