[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に下記を追記

```/etc/fstab
fs-{efs-ID}:/ /efs efs defaults,_netdev 0 0
(2019/04/10)*こちら/mnt/efsになっていたため/efsに修正いたしました。
```

###インスタンス再起動後
EC2の管理画面から今回設定した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作成
EC2の管理画面から今回設定した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 ファイルシステムをマウントする](https://docs.aws.amazon.com/ja_jp/efs/latest/ug/mounting-fs.html)
[AWS EFS をEC2にマウントしてみる]
(https://qiita.com/tandfy/items/829f9fcc68c4caabc660)