自動でEFSをマウントしたい・・・
複数のEC2でEFS(Elastic File System)をマウントして「ネットワークファイルシステム完成!」と思ったら、なんてことはなく、EC2を再起動するとマウントは解除されてしまいました。。。
定期的なEC2の停止⇒起動がサイクルに含まれているサービスの場合、これはちょっと困ります。
なので起動の度に自動でEFSをマウントするよう設定してみようと思います。
環境
Amazon Linux2です。
amazon-efs-utilsをインストール
まさにこの要件のためのツールが提供されているようなので、こちらをインストールします。
$ sudo yum install -y amazon-efs-utils
EFSをマウントする
$ sudo mount -t efs <ファイルシステムのID>:// <マウントディレクトリ>
マウント出来ているか確認します。
$ df -h
# マウントしたEFSが表示されていればOK
<ファイルシステムのID>.efs.ap-northeast-1.amazonaws.com:/ 8.0E 0 8.0E 0% <マウントしたディレクトリ>
後で分かりやすいように、ファイルも作成しておきましょう。
今回は「I'm here!」と書いておきます。
$ sudo vi test.txt
I'm here!
ちなみに、マウント解除は以下のコマンドです。
指定する階層を間違えた場合はこれで元に戻します。
$ sudo umount <マウントしたディレクトリ>
自動でマウントできるように設定する
「/etc/fstab」に記述を追加します。
「/etc/fstab」とは簡単に言うとマウントまわりの設定を記述するファイルです。
詳しく知らない方は(私もですが)以下の記事が参考になります。
$ sudo vi /etc/fstab
(中略)
<ファイルシステムのID>:/ <マウントしたディレクトリの絶対パス> efs defaults,_netdev 0 0 # こちらを追加
ここまで出来たらEC2を再起動します。
$ sudo reboot
数分待って再度EC2へ接続し、以下のコマンドを打ちます。
$ df -h
# マウントしたEFSが表示されていればOK
<ファイルシステムのID>.efs.ap-northeast-1.amazonaws.com:/ 8.0E 0 8.0E 0% <マウントしたディレクトリ>
念のためファイルも確認します。
$ cat /<マウントしたディレクトリ>/text.txt
I'm here!
居ました!
とりあえずなんとか出来ましたが、大丈夫かな?
何か問題があれば後日追記します。