Amazon EFSをEC2から使ってみたメモ
Amazon EFSをEC2から使ってみたメモ:
伸長する夢のストレージEFS、気になっていたんですがはじめて使ってみました。忘れないためのメモ程度です。
https://aws.amazon.com/jp/efs/
数千台のEC2から共有マウントできるとか。すごい!
AWSのWebコンソールからVPCや性能を指定するだけであっさりできました。
こんな感じのNFSホスト名が生成されます:
NFS互換なので気軽に考えていましたが、マウントを簡単にするEFSマウントヘルパーというソフトウェアが提供されています。
暗号化や、最適なマウントパラメータなど、調べたらなんとかなるんだろうけど、手間のかかる部分をアシストしてくれるようです。
EC2インスタンスであれば、コマンドひとつでインストールされます。
詳しくは: amazon-efs-utils ツールを使用する
https://docs.aws.amazon.com/ja_jp/efs/latest/ug/using-amazon-efs-utils.html
通常は
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
ファイルを置いて試してみます。
これで
素のLinuxからNFSマウントする場合の方法はこちらに記載されています。
自動的にマウントする
https://docs.aws.amazon.com/ja_jp/efs/latest/ug/mount-fs-auto-mount-onreboot-old.html
上記で紹介したページでは、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
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
コメント
コメントを投稿