[AWS]EC2にEFSを設定してみる

遅めですがEFSが東京リージョンにも対応したので利用してみました。


前提

接続するEC2インスタンスのVPCでDNSホスト名が有効になっている必要がある。

Amazonが提供するDNSサーバーを使用するように設定されている必要がある。


EFS用セキュリティグループ作成

ec2に設定しているセキュリティグループからのNFSインバウンドを許可する。

タイプ
NFS

プロトコル
TCP

ポート
2049

ソース
EFSを利用するEC2のセキュリティグループ


マウントヘルパーインストール


マウント前の確認

# df -Th

ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 492M 0 492M 0% /dev/shm
tmpfs tmpfs 492M 400K 492M 1% /run
tmpfs tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 xfs 8.0G 1.4G 6.7G 17% /
tmpfs tmpfs 99M 0 99M 0% /run/user/1000


インストール

# sudo yum install -y amazon-efs-utils

# sudo mkdir /efs

# sudo mount -t efs -o tls fs-{efs-ID}:/ /efs


マウント後の確認

# df -Th

ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 492M 0 492M 0% /dev/shm
tmpfs tmpfs 492M 440K 492M 1% /run
tmpfs tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 xfs 8.0G 1.5G 6.6G 19% /
tmpfs tmpfs 99M 0 99M 0% /run/user/1000
127.0.0.1:/ nfs4 8.0E 0 8.0E 0% /efs


自動的にマウントするよう既存の EC2 インスタンスを更新する

/etc/fstabに下記を追記

fs-{efs-ID}:/ /efs efs defaults,_netdev 0 0

(2019/04/10)*こちら/mnt/efsになっていたため/efsに修正いたしました。


インスタンス再起動後

EC2の管理画面から今回設定したEC2インスタンスを再起動して

再起動後もマウントされているか確認します。

# df -Th

ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 492M 0 492M 0% /dev/shm
tmpfs tmpfs 492M 400K 492M 1% /run
tmpfs tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 xfs 8.0G 1.5G 6.6G 19% /
fs-{efs-ID}.efs.ap-northeast-1.amazonaws.com:/ nfs4 8.0E 0 8.0E 0% /efs
tmpfs tmpfs 99M 0 99M 0% /run/user/1000

無事共有されています!


AMI作成

EC2の管理画面から今回設定したEC2インスタンスのAMIを作成し、

AMIを起動して、マウントされているかを確認します。

# df -Th

ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 492M 0 492M 0% /dev/shm
tmpfs tmpfs 492M 400K 492M 1% /run
tmpfs tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 xfs 8.0G 1.5G 6.6G 19% /
fs-{efs-ID}.efs.ap-northeast-1.amazonaws.com:/ nfs4 8.0E 0 8.0E 0% /efs
tmpfs tmpfs 99M 0 99M 0% /run/user/1000

無事共有されています!


参考

EFS ファイルシステムをマウントする

AWS EFS をEC2にマウントしてみる