⛹️

EC2でEFSをマウントし、使ってみる

2023/05/29に公開

EC2でEFSをマウントして、書き込みを試したメモです。
ドキュメント内のチュートリアルに沿って試していきたいと思います。
https://docs.aws.amazon.com/ja_jp/efs/latest/ug/wt1-create-ec2-resources.html

前提

  • EC2,EFS(マウントポイント含),それぞれのセキュリティグループを作成済み
    • EFSのセキュリティグループはEC2セキュリティグループからの2049番への通信を許可し、通信可能であること
  • マウントにはamazon-efs-utilsを使用する
    • EFSのマウントが簡単にできるため採用
  • EC2のOSはUbuntu22.04を使用する

構成図

手順

EFSのIDを取得

後々マウントするときに必要になります。

EFSクライアントのインストール

こちらを参照のこと
https://docs.aws.amazon.com/ja_jp/efs/latest/ug/installing-amazon-efs-utils.html

今回は手動で実施しましたが、Systems Managerでも可能だそうです。

$ sudo apt list --installed | grep efs
amazon-efs-utils/now 1.35.0 all [installed,local]

マウント

マウント先のディレクトリにマウントします。
先程控えたEFSIDを指定します。

$ mkdir efs-mount-point
$ sudo mount -t efs <efsID> efs-mount-point

マウント確認

エクサバイト?すごいですね。

$ df -h | grep efs
fs-xxxxxxxxxxxxxx.efs.ap-northeast-1.amazonaws.com:/  8.0E     0  8.0E   0% /path/to/efs-mount-point

マウントポイントに書き込み権限をつける

permissionが755の様に書き込み権限がない場合、書き込み権限をつけます。

# 755なので書き込み権限がない
$ ll -d efs-mount-point
drwxr-xr-x 2 root root 6144 May 28 17:19 efs-mount-point/

# 権限を追加
$ sudo chmod go+rw efs-mount-point/

# 確認
$ ll -d efs-mount-point
drwxrwxrwx 2 root root 6144 May 28 17:19 efs-mount-point/

ファイル作成、書き込み出来ることを確認

問題なく書き込めたらOKです。

$ vi efs-mount-point/test.txt
$ cat efs-mount-point/test.txt 
test

正常にEFSをマウント、使用することが出来ました。
次は再起動後の自動マウントを試しましょう。

再起動後に自動マウントできるようにする

手順

/etc/fstabを編集します

<efsファイルシステムID>:/ /home/ubuntu/efs-mount-point efs _netdev 0 0

https://docs.aws.amazon.com/ja_jp/efs/latest/ug/automount-with-efs-mount-helper.html

確認

再起動後にマウントされていることを確認します。
/var/log/syslogにマウントのログがあります。

/var/log/syslog
May 28 19:52:50 ip-10-10-1-178 systemd[1]: Mounting /path/to/efs-mount-point...

参考

公式ドキュメント
https://engineers.weddingpark.co.jp/amazon-efs/
https://dev.classmethod.jp/articles/install-amazon-efs-utils/

Discussion