Amazon EFSをEC2から使ってみたメモ

Amazon EFSをEC2から使ってみたメモ:

伸長する夢のストレージEFS、気になっていたんですがはじめて使ってみました。忘れないためのメモ程度です。

https://aws.amazon.com/jp/efs/

数千台のEC2から共有マウントできるとか。すごい!


セットアップ

AWSのWebコンソールからVPCや性能を指定するだけであっさりできました。

こんな感じのNFSホスト名が生成されます: fs-(固有のID).efs.ap-northeast-1.amazonaws.com

  • パフォーマンスモード最大I/Oは多数のインスタンスからマウントして共有するようなケースで選択するとよいとのこと。
  • スループットモードプロビジョニング済みは、スループットにムラがあると困るとき(ゲームなど?)に設定するといいのかなと思います。


EFSマウントヘルパー

NFS互換なので気軽に考えていましたが、マウントを簡単にするEFSマウントヘルパーというソフトウェアが提供されています。

暗号化や、最適なマウントパラメータなど、調べたらなんとかなるんだろうけど、手間のかかる部分をアシストしてくれるようです。

EC2インスタンスであれば、コマンドひとつでインストールされます。

sudo yum install -y amazon-efs-utils 
詳しくは: amazon-efs-utils ツールを使用する
https://docs.aws.amazon.com/ja_jp/efs/latest/ug/using-amazon-efs-utils.html


常時マウント

通常は/etc/fstabにエントリを記述しておいて、再起動しても自動でマウントされるようにしておくことが多いでしょう。


EFSマウントヘルパーを使う場合

EFSマウントヘルパーを使うと短い記述で済みます。

詳しくはこちらに記載されています: Amazon EFS ファイルシステムの自動マウント
https://docs.aws.amazon.com/ja_jp/efs/latest/ug/mount-fs-auto-mount-onreboot.html#mount-fs-auto-mount-update-fstab

/etc/fstab
fs-(固有のID).efs.ap-northeast-1.amazonaws.com:/ /mnt/efs efs defaults,_netdev 0 0 
ファイルを置いて試してみます。

# /etc/fstabに基づいてマウント 
$ sudo mount -a 
# ファイルを置いてみる 
$ touch /mnt/efs/test.txt 
$ ls /mnt/efs 
test.txt 
# アンマウントしてlsしてみる 
$ sudo umount /mnt/efs 
$ ls /mnt/efs 
# ファイルなし 
# もう一度マウントしてls 
$ sudo mount -a 
$ ls /mnt/efs 
text.txt 
これでtext.txtがしっかりEFS上に作成されたことが確認できました。


EFSマウントヘルパーを使わない場合

素のLinuxからNFSマウントする場合の方法はこちらに記載されています。

自動的にマウントする
https://docs.aws.amazon.com/ja_jp/efs/latest/ug/mount-fs-auto-mount-onreboot-old.html

/etc/fstab
fs-(固有のID).efs.ap-northeast-1.amazonaws.com:/ efs-mount-point nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0 


EC2インスタンスの誕生とともにマウント

上記で紹介したページでは、EC2インスタンスの誕生と同時にマウントしておくユーザーデータも紹介されています。

インスタンスごと立ち上げて終わったら削除するような、イミュータブルなバッチ処理にも使えますね。便利!

#cloud-config 
repo_update: true 
repo_upgrade: all 
 
packages: 
- amazon-efs-utils 
 
runcmd: 
- file_system_id_01=fs-12345678 
- efs_directory=/mnt/efs 
 
- mkdir -p ${efs_directory} 
- echo "${file_system_id_01}:/ ${efs_directory} efs tls,_netdev" >> /etc/fstab 
- mount -a -t efs defaults 

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)