S3 ファイルゲートウェイの NFS ファイル共有をシステム起動時に自動マウントしてみた
こんにちは。テクニカルサポートチームのShiinaです。
はじめに
S3 ファイルゲートウェイの NFSファイル共有を利用する場合、コマンドでマウントして利用すると思います。
クライアント側となる EC2 インスタンスの再起動を行うとマウントが外れてしまいます。
毎回マウントを行うのは面倒ですよね。
今回は /etc/fstab にエントリーを追記してシステム起動時にマウントする設定をやってみました。
前提
- S3 ファイルゲートウェイは作成済みであること
- NFS プロトコルでファイル共有を作成していること
- 今回検証に利用した S3 ファイルゲートウェイの IP アドレス、S3 バケット名、マウントパスは次の通りです。
 [gateway VM IP address]:172.31.15.2
 [S3 bucket name]:file-gateway-s3-test
 [mount path on your client]:/data


やってみた
まずはマウントパスのディレクトリを作成し、手動でマウントしてみます。
マウントコマンドはコンソールから確認できるコマンドを利用しました。

sudo mkdir /data
sudo mount -t nfs -o nolock,hard 172.31.15.2:/file-gateway-s3-test /data
df -h
Filesystem                         Size  Used Avail Use% Mounted on
devtmpfs                           4.0M     0  4.0M   0% /dev
tmpfs                              475M     0  475M   0% /dev/shm
tmpfs                              190M  448K  190M   1% /run
/dev/xvda1                         8.0G  1.6G  6.4G  20% /
tmpfs                              475M     0  475M   0% /tmp
/dev/xvda128                        10M  1.3M  8.7M  13% /boot/efi
tmpfs                               95M     0   95M   0% /run/user/0
172.31.15.2:/file-gateway-s3-test  8.0E     0  8.0E   0% /data
/data へマウントされていることを確認できます。
システム起動時に自動マウントするために /etc/fstab にエントリーを追加します。
172.31.15.2:/file-gateway-s3-test /data nfs4 noresvport,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,nofail 0 0
- マウントのオプション
 nfs4: ファイルゲートウェイでは NFSv3 と NFSv4 の両方をサポートしているため、NFS v4を使用します。
 noresvport: ネットワーク接続が再確立されたときに新しい TCP ソースポートを使用します。
 rsize=1048576,wsize=1048576: 読み書きのバッファサイズを最大に設定します。
 hard: サーバーが応答するまで NFS リクエストを無期限に再試行します。
 timeo=600: NFS リクエストのタイムアウト値を60秒に設定します。
 retrans=2: リクエストの再試行回数を2回に設定します。
 _netdev: ネットワークが有効になるまでマウントを遅延させます。
 nofail: マウントに失敗してもブート処理を続行します。
 0 0: ダンプフラグとパスチェック順序を指定します。
上記は NFS マウントに対して推奨される設定[1]を組み合わせたものです。
システムの再起動後もマウントを維持し、ネットワークの問題に対する耐性を高めるのに役立ちます。
設定後は一度アンマウントを行い、マウントの確認を実施します。
sudo umount /data
sudo mount -a
マウント時にエラーメッセージが出なければ正しく設定できています。
EC2 インスタンスを再起動してみます。

自動でマウントされていることが確認できました。
sudo df -h
Filesystem                         Size  Used Avail Use% Mounted on
devtmpfs                           4.0M     0  4.0M   0% /dev
tmpfs                              475M     0  475M   0% /dev/shm
tmpfs                              190M  444K  190M   1% /run
/dev/xvda1                         8.0G  1.6G  6.4G  20% /
tmpfs                              475M     0  475M   0% /tmp
/dev/xvda128                        10M  1.3M  8.7M  13% /boot/efi
tmpfs                               95M     0   95M   0% /run/user/0
172.31.15.2:/file-gateway-s3-test  8.0E     0  8.0E   0% /data
まとめ
S3 ファイルゲートウェイの NFSファイル共有を NFS の推奨オプション設定を参考に /etc/fstab に設定してみました。
本記事が誰かのお役に立てれば幸いです。
参考










