【AWS】EFSの構築 + EC2からのアクセス確認まで

## きっかけ
- Lambdaで/tmp上限の５００MBを超えるファイルを扱う必要があり、その動作確認のため。

## 構築Step
1. SSH可能なVPC,EC2の構築
1. EFS構築
1. EC2からEFSへのアクセス準備、動作確認

### 1. SSH可能なVPC,EC2の構築
- 適当なVPCを作成
![スクリーンショット 2022-01-09 0.13.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/9878ac22-3513-ac69-fa49-575d98f6abdc.png)

- VPCでDNSホスト名設定を有効化
![スクリーンショット 2022-01-09 0.13.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/185f0600-848f-ae12-c66f-cdba98b66629.png)

- 適当なサブネットを作成
![スクリーンショット 2022-01-09 0.14.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/20a9c320-f9c3-2b2b-4528-bef248f03714.png)

- インターネットゲートウェイを作成
![スクリーンショット 2022-01-09 0.14.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/3713360b-6c21-65b2-76b9-00390bb2233f.png)

- VPCにIGWをアタッチ
![スクリーンショット 2022-01-09 0.14.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/1d354393-c424-fee7-a4b3-e922e223331b.png)

- VPCのメインルートテーブルにigwへのルートを追加
![スクリーンショット 2022-01-09 0.20.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/98d5e8e8-6c98-37e1-e94a-abd598c4094f.png)

- EC2を作成したサブネット内に作成、SGはSSHを許可
![スクリーンショット 2022-01-09 0.16.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/b24faefb-1b8e-5aed-d152-4bbfa5f95efa.png)

- EC2にIAMロールを紐付け
 - AmazonElasticFileSystemClientReadWriteAccessポリシーが含まれているロール
![スクリーンショット 2022-01-09 1.13.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/f66307cc-1e42-a06a-9cc4-20ab1c8ed325.png)
 

- EC2へSSH接続ができることを確認
![スクリーンショット 2022-01-09 0.20.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/9a19ed68-2b76-32d3-60a5-2c1dc46abfc7.png)

- 同じ設定で別インスタンスを構築

### 2. EFS構築
- EFSに紐づけるSGを作成
 - インバウンドルールに　タイプ:NFSでソースにEC2のSGを設定
![スクリーンショット 2022-01-09 0.23.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/68e1137a-7855-d320-a88c-8156556685d7.png)

- EFSの作成ウィザードでVPC設定をし、カスタマイズで他設定を行う
![スクリーンショット 2022-01-09 0.24.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/9a269a40-b6d8-9bc5-bde1-ce1f7f8b006d.png)

- NW設定でマウントターゲットのセキュリティグループを先ほど作成したSGに設定、EFSを作成する
![スクリーンショット 2022-01-09 0.25.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/87dd4874-202b-6024-ff1b-af7df2b91337.png)


### 3. EC2からEFSへのアクセス準備、動作確認(以下EC2へSSHで接続した状態)
- yum updateの実施
![スクリーンショット 2022-01-09 0.26.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/aed01fd6-3462-baba-93ec-7039b4af3b7d.png)

- botocoreのインストール
 - amazon-efs-utilsの内部で使っている様子 
![スクリーンショット 2022-01-09 0.28.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/02fc2b45-a61b-c155-38ba-c70eb454facb.png)

- amazon-efs-utilsのインストール
![スクリーンショット 2022-01-09 0.28.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/547c2579-78a8-0465-4def-a49edc78d9ca.png)

- amazon-efs-utilsのインストール正常完了画面
![スクリーンショット 2022-01-09 0.28.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/6a11ec33-daa6-2080-754f-3a014b31e5b7.png)

- efsフォルダを作成、マウントを実施
![スクリーンショット 2022-01-09 0.29.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/630f0f52-f84b-d3b5-810b-13b7e98b5480.png)

- 同じ設定で別インスタンスを設定

- 動作確認: ファイルをマウントしたefsディレクトリ内に作成、別インスタンスで作成されていることを確認
![スクリーンショット 2022-01-09 1.18.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479886/55bdd8a5-081e-bb47-c84e-8b72cf4bf023.png)


## 参考URL

https://dev.classmethod.jp/articles/lim-efs-hands-on/