目的
- Amazon EFS について、向学のために実機で動作確認を行う。
Amazon EFS とは(自分の理解)
- linuxサーバ(EC2インスタンスもしくオンプレサーバ)に対してNFSを提供するサービス。
やったこと
- EC2インスタンス(Amazon Linux 2) にEFSのファイルシステムをマウントして利用する。
構成図
動作確認
EFS ファイルシステムの作成
- VPC、Subnetを指定して EFS ファイルシステムを作成する(各種設定値はデフォルト)。
EC2(Amazon Linux 2)でEFSファイルシステムをマウント
-
AWS公式ドキュメント:EFS ファイルシステムをマウントする の手順に従い、amazon-efs-utils パッケージをインストールする。
-
mount コマンドを実行する。
[ec2-user@ip-10-0-1-248 mnt]$ sudo mount -t efs fs-12345678:/ /mnt/efs
Failed to resolve "fs-12345678.efs.ap-northeast-1.amazonaws.com" - check that your file system ID is correct.
- 名前解決に失敗しているようなため、AWS公式ドキュメント:VPCでのDNS の使用 を参考に、該当のVPCの「DNS解決」「DNSホスト名」を両方とも有効に変更する。
- 再度mountコマンドを実行し、/mnt/efs ディレクトリとして使用可能なことを確認する(一番下の行に追加されていることを確認)。
[ec2-user@ip-10-0-1-248 mnt]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 485712 0 485712 0% /dev
tmpfs 503664 0 503664 0% /dev/shm
tmpfs 503664 396 503268 1% /run
tmpfs 503664 0 503664 0% /sys/fs/cgroup
/dev/xvda1 8376300 1347096 7029204 17% /
tmpfs 100736 0 100736 0% /run/user/1000
fs-12345678.efs.ap-northeast-1.amazonaws.com:/ 9007199254739968 0 9007199254739968 0% /mnt/efs
- マウントしたディレクトリに1GBのファイルを作成する。
[ec2-user@ip-10-0-1-248 efs]$ sudo dd if=/dev/zero of=1Gfile01 bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 9.0702 s, 116 MB/s
[ec2-user@ip-10-0-1-248 efs]$ ls -l
total 1024000
-rw-r--r-- 1 root root 1048576000 Aug 6 16:01 1Gfile01
- EFS の画面でも、容量が認識されていることを確認する。
所感
- 簡単に容量可変、かつスループットも自動拡張されるNFSが作れるということで、自分でNFSサーバ立てるよりかなり楽と感じた。