AWS EFSがやっと東京リージョンでリリースされたので記念に記事にしました。これまでNFSを利用していたシーンでEFSをばしばし使っていくと良いですね。
上記のクラスタ構成も簡単に作れちゃうのにセキュアなのが魅力になります。
何が嬉しいのEFS!?
- アプリのファイル共有
- EFSはマルチAZで冗長化
- ファイルサーバとしてのセキュリティ
- 伸縮自在な容量無制限のストレージ
1はマスターからのファイル同期といった仕組みを作らなくてすみます。
2はNFSサーバの単一障害点になりやすい弱点をなくせて障害に強い設計に出来ます。
嬉しい3と4!
VPCでプライベート接続のみにしておき、EFSを共有ストレージとして安心して利用出来ます。S3は設定を間違えると全世界に機密情報を大公開ってこともあるかもしれないけれど、EFSの場合はVPCを間に挟むことでプライベートの範囲で制御できるから気軽に安心して使えるね。それにただのNFSと違って、データセンタ間で複数冗長化されているから障害にも強いんだ。
それにEFSは容量を気にせずどこまでも使えるのでファイルサーバの使えて容量がストレージからあふれてサーバが動かない!?なんて心配も無用だよ、神経質に容量の監視もしなくて良いんだ。
動画で見ようEFS
わかりやすい!
とにかく使ってみようよ
【サービス】から【EFS】を選択します。
【ファイルシステムの作成】をクリックしようね。
【次のステップ】をクリックしようね。
任意の名前を入力して、【次のステップ】をクリックしよう。最初はデフォルトで良いよ、途中で変更できるから安心してね。
【ファイルシステムの作成】をクリックしよう、もう少しだよ。頑張って!
ついにEFSが出来たよ、おめでとう。
後はこいつをEC2から使ってあげるだけだ。
大事な仕込みがあるよ
EFSのセキュリティグループにEC2で使う予定のセキュリティグループを指定してあげてね、これをしないとEC2からEFSを利用出来ないよ。これはRDSやAuroraを使うときも一緒だよ。気をつけて!
スループットを調整するよ
デフォルトだと1MB/秒でとっても遅いから、調整したいね。
【Provisioned】にしてスループットを125MiB/秒に設定して、【保存】したよ。
この数字を大きくすれば速くなるけれどお金もたくさんかかるから、お財布と相談して設定してね。
設定できたね。
EC2を動かしてEFSをマウントしよう
1 2 3 |
# mkdir -p /mnt/EFS/ # chmod 755 -R /mnt/EFS # mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,nofail fs-99(;一_一).efs.ap-northeast-1.amazonaws.com:/ /mnt/EFS |
マウントできたか確認しようね。
1 2 3 4 5 6 7 8 9 10 11 |
# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 947M 7.1G 12% / devtmpfs 474M 0 474M 0% /dev tmpfs 496M 0 496M 0% /dev/shm tmpfs 496M 13M 483M 3% /run tmpfs 496M 0 496M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/1000 tmpfs 100M 0 100M 0% /run/user/0 fs-99(;一_一).efs.ap-northeast-1.amazonaws.com:/ 8.0E 0 8.0E 0% /mnt/EFS |
良かった、マウントできたよ。
1つのEC2からだけじゃなくて、たくさんEC2をつくってEFSをマウントして、ファイルをアップして同期するかどうかなんて、わくわく楽しんでみてね。
余力があったら自動マウント設定もしよう
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# vi /etc/fstab # # /etc/fstab # Created by anaconda on Tue Jun 5 14:06:12 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=8c1540fa-e2b4-407d-bcd1-59848a73e463 / xfs defaults 0 0 ※下記を追加 fs-99(;一_一).efs.ap-northeast-1.amazonaws.com:/ /mnt/EFS nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,nofail 0 0 |
これで再起動した時に自動マウントしてくれるんだ。
お疲れ様。