EFSのマウントについて

試験勉強でEFSに関する操作を行いましたので、整理がてら記載していきます。

EFSとは

EFS(Elastic File System)はNFSで共有するファイルシステムストレージ
を提供するフルマネージドのサービスです。
EBS(Elastic Block Strage)と共にEC2に接続するストレージサービスとして存在していますが、どちらもデータに永続性を持たせるために使うものではあるものの、いくつか違いがあります。

利用するアベイラビリティゾーン(AZ)

* EBS:同一AZのみ
* EFS:複数AZ可能


接続できるインスタンス数

* EBS:最大16まで(マルチアタッチ有効時)
* EFS:複数インスタンス

拡張性

* EBS:手動ボリューム拡張
* EFS:自動ボリューム拡張

EFSの方が色々と管理画楽なのですが、その分コストがEBSよりかかります。

IP アドレス経由でのマウント方法

実際にAWSのEFSでEC2からマウントする方法は2つあり、用途によって使い分けます。
* DNS経由でマウント
* IPアドレス経由でマウント

今回は学習としてIPアドレス経由でマウントする操作を行いました。
実際の設定の流れについて記載します。
1. EFSでファイルシステムの作成
2. EC2作成、起動
3. EC2に設定したセキュリティグループのインバウンドにNFSのタイプを追加
4. EFSのネットワークタブにあるセキュリティグループを手順3のセキュリティグループと同じにする
5. EC2にSSHアクセスし、インスタンスパッケージのインストール

sudo yum -y install amazon-efs-utils

6. マウントするディレクトリ作成
7. EFSへのマウント実行(IPアドレス経由)
    EFSの詳細の右上にあるアタッチボタンでコマンドを確認

sudo mount -t nfs4 -o nfsvers=4.1,rsize=xxxx,wsize=xxxx,hard,timeo=600,retrans=2,noresvport {IPアドレス}:/ {マウントディレクトリ}

マウントが成功するとdfで確認ができます。(一番下の行に記載)

sh-4.2$ df -h
Filesystem       Size  Used Avail Use% Mounted on
devtmpfs         468M     0  468M   0% /dev
tmpfs            477M     0  477M   0% /dev/shm
tmpfs            477M  356K  477M   1% /run
tmpfs            477M     0  477M   0% /sys/fs/cgroup
/dev/xvda1       8.0G  1.7G  6.4G  21% /
{IPアドレス}:/    8.0E     0  8.0E   0% {マウントディレクトリ}


ただし、以下について考慮する必要があります。
* EC2で指定したセキュリティグループのインバウンドにNFSのタイプを追加
* EC2とEFSのネットワークのセキュリティグループを合わせる

こちらをしないとEC2でマウント操作をしてもタイムアウトエラーとなってマウントができませんでした。

これでEC2からEFSのマウントについて出来ました。
操作すると色々知れる部分があるので、良い勉強になりました。


この記事が気に入ったらサポートをしてみませんか?