Edited at

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

More than 1 year has passed since last update.

先日のAWS Summit Tokyo 2018 でEFSが7月に東京リージョンに対応されることが発表されました。

発表から丸3年…ようやく日本にもEFSがやってきます。

対応された直後から使えるように、EFSをEC2にマウントする方法について、予復習してみます。


EFS作成

まずはマネジメントコンソールで既にEFSが対応されているソウルリージョン等に移動し、EFSのページを開きます。

そこから新規でファイルシステムの作成を行います。

最初の設定ページでは、配置するVPCとAZ、セキュリティグループを設定します。

セキュリティグループは、TCP2049番ポートがマウントするEC2から通るように設定する必要があるようです。

EFS設定1VPCAZ.png

タグとパフォーマンスモード、ディスク内容を暗号化するかどうかを設定します。

※パフォーマンスモード:汎用とIOPS特化があり、レイテンシを優先するか、スループットを優先するかで選ぶようです。

efs設定2.png

最後に確認。

EFS設定3レビュー.png

これでEFSの作成は完了です。

EFSリスト.png


EC2作成

AMIはAmazonLinuxを使って、t2.nanoで作成。

特別な設定はいりません。

※EC2の作成方法の詳細は@0084ken さんの

記事
が参考になると思います。

EC2作成.png

EC2作成時のEBSをマウントする感じで、EFSをマウントできると楽そうですが、今のところでき無さそうです。


EFSをEC2にマウント

efs用のユーティリティを入れて、対象のファイルシステムを指定してマウントコマンドを実行するだけです。

この時、コマンドがタイムアウトした場合はセキュリティグループを確認してみてください。

(EFSに張っているセキュリティグループで、EC2からのTCP2049番ポートが開いているかどうか)

$sudo yum install -y amazon-efs-utils

$sudo mkdir [マウントしたいディレクトリ]
$sudo mount -t efs [ファイルシステムID]:/ [マウントしたいディレクトリ]

ディスクの残容量を確認してみると、実際にマウントされているのが分かります。

一番下のnfs4タイプのものがEFSで作成したファイルシステムです。

$ df -Th

Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 232M 60K 232M 1% /dev
tmpfs tmpfs 242M 0 242M 0% /dev/shm
/dev/xvda1 ext4 7.8G 1.1G 6.7G 14% /
fs-df2acfbe.efs.ap-northeast-2.amazonaws.com:/ nfs4 8.0E 0 8.0E 0% /home/ec2-user/efs


まとめ

ファイルシステムの作成自体はマネジメントコンソールをポチポチするだけで出来ますし、

マウントも数行のシェルを叩くだけで簡単に出来ました。

セキュリティグループに穴を空け忘れていて少し詰まってしまいましたが…

一つの試行がかなり簡単に出来るので、

東京リージョン対応に向けて、幾つか試していきたいですね。


参考

https://dev.classmethod.jp/cloud/aws/amazon-elastic-file-system-is-generally-available/