[初心者向け]EFSチュートリアル実装時にハマったところ

マウントターゲットの設定時にハマったところについてまとめます。
2020.09.02

こんにちは沖縄の下地です。

本日は、Elastic File System(EFS)の実装した際にいくつかハマったのでまとめたいと思います。

はまりどころ

内容としては、EC2におけるマウントターゲットの設定になります。

  1. DNSホスト名の設定
  2. sgの設定

1. DNSホスト名の設定

マウントターゲットを設定しようとすると、以下の内容で失敗しました。

$ sudo mount -t efs -o tls fs-*******:/ efs
Failed to resolve "fs-********.efs.[Region].amazonaws.com" - check that your file system ID is correct.
See https://docs.aws.amazon.com/console/efs/mount-dns-name for more detail.

Failed to resolveより何かの解決に失敗してることがわかります。以下のサイトを参考に確認すると、VPCの「DNS解決」「DNSホスト名」両方を有効にする必要があることがわかりました。

【初心者】Amazon EFS を使ってみる

VPCの設定を確認すると「DNSホスト名」が無効になっていましたのでこちらを有効化します。

まず、アクションからDNSホスト名の編集を選択します。

DNSホスト名にチェックを入れ保存します。

sg設定エラー

DNSホスト名を有効化したので再度実施します。すると次は下記のようなエラーが出ました。

$ sudo mount -t efs -o tls fs-*******:/ efs
mount.nfs4: Connection reset by peer

以下を参考に確認すると、マウントターゲットのsg(security group)設定に問題があることがわかりました。

[小ネタ][EFS]マウント時にConnection timed outが出て少しハマる

Occasional "Connection reset by peer" errors when mounting

図に示すマウントターゲットに設定しているsgにおいてEC2からの通信を正しく許可されてないことが原因でした。

EC2インスタンスからの通信を許可するため、マウントターゲットに設定したsgのソースをEC2に設定したsgに設定します。

セキュリティグループを設定後に再度実行すると、マウントされたことが確認されました。

$ sudo mount -t efs -o tls fs-*******:/ efs

まとめ

EFSを実装しようと思いチュートリアルをするだけのつもりだったのですが実装時に何度もハマってしまいました。。この記事が同じ様にエラーで悩んでる方の助けになれば幸いです。

参考URL