EFS ファイルシステムをマウント、アンマウント、自動マウント、オンプレミスマウントするための基本的な手順は何ですか?

所要時間4分
0

Amazon Elastic File System (Amazon EFS) ファイルシステムをマウント、アンマウント、自動マウント、オンプレミスマウントするための基本的な手順は何ですか?

解決方法

Amazon EFS ファイルシステムをマウントするには、nfs-utils パッケージまたは efs-utils パッケージをインストールします。

efs-utils ツールで EFS をマウントする

1.    次のコマンドを実行して、efs-utils パッケージをインストールします。

Amazon Linux または Amazon Linux 2

$ sudo yum install -y amazon-efs-utils

Ubuntu および Debian ベースのディストリビューション

$ sudo apt-get -y install ./build/amazon-efs-utils*deb./build-deb.sh
$ cd /path/to/efs-utils
$ git clone https://github.com/aws/efs-utils
$ sudo apt-get -y install git binutils
$ sudo apt-get update

その他の Linux のディストリビューション

$ sudo yum -y install git
$ sudo yum -y install rpm-build
$ git clone https://github.com/aws/efs-utils
$ cd /path/efs-utils
$ sudo yum -y install make
$ sudo yum -y install rpm-build
$ sudo make rpm
$ sudo yum -y install ./build/amazon-efs-utils*rpm

2.    efs-utils パッケージをインストールしたら、EFS コンソールを開きます。

3.    [File systems] (ファイルシステム) を選択します。

4.    マウントするファイルシステムを選択します。

5.    [Attach] (アタッチ) を選択します。

6.    EFS マウントヘルパーを使用してコマンドをコピーします。

7.    SSH または AWS Systems Manager セッションマネージャーを介してインスタンスに接続し、ステップ 6 でコピーしたコマンドを実行します。

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

注: ファイルシステム ID やマウントポイントなどを置き換えて、必要に応じて前述のコマンドを編集します。

NFS クライアントで EFS をマウントする

1.    次のコマンドを実行して、nfs-utils パッケージをインストールします。

RHEL および CentOS ベースのディストリビューション

$ sudo yum -y install nfs-utils

Ubuntu ベースのディストリビューション

$ sudo apt install nfs-common

2.    nfs-utils パッケージをインストールしたら、EFS コンソールに移動します。

3.    [File systems] (ファイルシステム) を選択します。

4.    マウントするファイルシステムを選択します。

5.    [Attach] (アタッチ) を選択します。

6.    NFS マウントヘルパーを使用してコマンドをコピーします。

7.    SSH またはセッションマネージャーを介してインスタンスに接続し、ステップ 6 でコピーしたコマンドを実行します。

$ sudo mkdir -p /mnt/efs
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-DNS:/   ~/efs-mount-point
  • または -

次のコマンドを実行して、IP アドレスを使ってマウントします。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  ~/efs-mount-point

注: ファイルシステム ID、マウントポイント、DNS、IP アドレスなどを置き換えて、必要に応じて前述のコマンドを編集します。

EFS ファイルシステムをアンマウントする

次のコマンドを実行して、ファイルシステムをアンマウントします。

$ umount /mnt/efs

マウントポイントがビジーの場合は、unmount コマンドで -l パラメータを使用します。

$ umount -l /mnt/efs

/etc/fstab を使用してファイルシステムを自動マウントする

次のコマンドを実行して /etc/fstab にエントリを作成し、再起動時に EFS マウントが保持されるようにします。

# vim /etc/fstab

efs-utils を使用する

fs-xxxxxxxx:/ /mnt/efs efs _netdev,nofail,noresvport,tls,iam 0 0

NFS クライアントを使用する

設定に応じて fstab のパラメータを変更します。

fs-XXXXXXXX.efs.REGION.amazonaws.com:/ /mnt/efs nfs4 defaults,_netdev,nofail 0 0
# mount -a

マウントヘルパーを使用するさまざまなマウントオプションについては、EFS マウントヘルパーで /etc/fstab を使用して EFS を自動的にマウントするを参照してください。

注: クライアント (Amazon Elastic Compute Cloud (Amazon EC2)) とは異なるアベイラビリティーゾーンにあるマウントターゲットの IP アドレスを使用して、ファイルシステムをマウントできます。その場合は、アベイラビリティーゾーン間のデータ転送料金やレイテンシーなどの要素を考慮してください。

起動ウィザードを使用してインスタンスの起動時に EFS をマウントする

EC2 インスタンスの起動時に、起動ウィザードを使用して、EFS をマウントするためのユーザーデータを自動的に追加できます。

1.    EC2 コンソールを開きます。

2.    [Launch Instances] (インスタンスの起動) を選択します。

3.    AMI およびインスタンスタイプを選択して、[Next: Configure Instance Details] (次のステップ: インスタンスの詳細の設定) を選択します。

4.    要件に応じてさまざまなパラメータを構成します。必ず EFS マウントに必要な VPC とサブネットを選択してください。

5.    [Configure instance] (インスタンスの構成) ページの [File systems] (ファイルシステム) で、マウントする EFS ファイルシステムを選択します。ファイルシステム ID の横に表示されるパスは、EC2 インスタンスが使用するマウントポイントです。このパスは必要に応じて変更できます。EFS をマウントするためのユーザーデータは、[Advanced details] (詳細情報) セクションで自動的に生成されます。

#cloud-config
package_update: true
package_upgrade: true
runcmd:
- yum install -y amazon-efs-utils
- apt-get -y install amazon-efs-utils
- yum install -y nfs-utils
- apt-get -y install nfs-common
- file_system_id_1=fs-0cae1679a766bcf49
- efs_mount_point_1=/mnt/efs/fs1
- mkdir -p "${efs_mount_point_1}"
- test -f "/sbin/mount.efs" && printf "\n${file_system_id_1}:/ ${efs_mount_point_1} efs tls,_netdev\n" >> /etc/fstab || printf "\n${file_system_id_1}.efs.us-east-1.amazonaws.com:/ ${efs_mount_point_1} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0\n" >> /etc/fstab
- test -f "/sbin/mount.efs" && grep -ozP 'client-info]\nsource' '/etc/amazon/efs/efs-utils.conf'; if [[ $? == 1 ]]; then printf "\n[client-info]\nsource=liw\n" >> /etc/amazon/efs/efs-utils.conf; fi;
- retryCnt=15; waitTime=30; while true; do mount -a -t efs,nfs4 defaults; if [ $? = 0 ] || [ $retryCnt -lt 1 ]; then echo File system mounted successfully; break; fi; echo File system not available, retrying to mount.; ((retryCnt--)); sleep $waitTime; done;>
  • または -

カスタム AMI 上で、または特定のオプションを使用して EFS をマウントするには、[Advanced details] (高度な詳細) セクションで必要なコマンドを使ってカスタムユーザーデータを追加します。詳細については、起動時に Linux インスタンスでコマンドを実行するをご参照ください。

RHEL および CentOS ベースのディストリビューション

#!/bin/bash
sudo mkdir -p /mnt/efs
sudo yum -y install nfs-utils

Ubuntu ベースのディストリビューション

#!/bin/bash
sudo mkdir -p /mnt/efs
sudo apt install nfs-common
sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  /mnt/efs

6.    インスタンスを起動します。

オンプレミスで EFS をマウントする

オンプレミスサーバーで EFS をマウントするには、EFS とオンプレミスサーバー間の接続が必要です。AWS Direct Connect と VPN を使用してこの接続を確立できます。

オンプレミスサーバーと EFS の VPC 間の接続を確立したら、次のコマンドを実行して NFS クライアントをインストールし、EFS をマウントします。

$ sudo yum -y install nfs-utils (Red Hat Linux)
$ sudo apt-get -y install nfs-common(Ubuntu)
$ mkdir ~/efs
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/  ~/efs

詳細については、「EFS マウントヘルパーを使用してオンプレミスの Linux クライアントに AWS Direct Connect および VPN 経由でマウントする」を参照してください。


AWS公式
AWS公式更新しました 2年前